马丁•摩根
2015年2月2日
数据移动
输入和操作:Biostrings
>NM_078863_up_2000_chr2L_16764737_f chr2L:16764737-16766736 gttggggcccaccagtgccaaaatacacaagaagaacagcatctt gacactaaaatgaaaattgctttgcgtcaatgactcaaaacgaaaatg…atgggtatcaagttgccccgtataaaaggcaagtttaccggttgcacggt >NM_001201794_up_2000_chr2L_8382455_f chr2L:8382455-8384454 ttatttatgtaggcgcccgttcccgcagccagagcactcagaattccggg cgtgtagcgcaacgaccatctacaaggcaatattttgatcgcttgttaggttagg…
整个基因组:2位
而且.fa
格式:rtracklayer,Rsamtools;BSgenome
输入和操作:ShortReadreadFastq ()
,FastqStreamer ()
,FastqSampler ()
@err127302.1703 hwi - eas350_041:1:1460:19184#0/1 cctgagtgaagctgatcttcttagagagagagagatcttgatcgtcgaggaggagatgctgaccttgacct + hhghhghhhhhhdgg < gdgge@gdggd b8 ?? adad < be@ee8egdga3cb85 *,77@>> ce ?=896=: @err127302.1704 hwi - eas350_041:1:1460:16861#0/1 gcggtatgctggaaggtgctcgaatggagagcgccagcgccccggcgctgagccgccccccc>ed4 > eee > de8eeede8b ? eb <@3; ba79 ?, 881b ?@73;########################
输入和操作:“低级”Rsamtools,scanBam ()
,BamFile ()
;“高级”GenomicAlignments
头
@HD VN:1.0 SO:坐标@SQ SN:chr1 LN:249250621 @SQ SN:chr10 LN:135534747 @SQ SN:chr11 LN:135006516…@SQ号:chrY LN:59373566 @PG ID:TopHat VN:2.0.8b CL:/home/hpages/ TopHat -2.0.8b。Linux_x86_64/tophat——match -inner-dist 150——solexa-quals——max-multihits 5——no- disdant——no-mixed——covere -search——microexon-search——libraries -type fr- un——num-threads 2——output-dir tophat2_out/ERR127306 /home/hpages/ bowtib2 -2.1.0/indexes/hg19 fastq/ERR127306_1。fastq fastq / ERR127306_2.fastq
对齐:ID,标志,对齐和配偶
ERR127306.7941162 403 chr14 19653689 3 72M = 19652348 -1413…ERR127306.22648137 145 chr14 19653692 1 72M = 19650044 -3720…ERR127306.933914 339 chr14 19653707 1 66M120N6M = 19653686 -213…ERR127306.11052450 83 chr14 19653707 3 66M120N6M = 19652348 -1551…ERR127306.24611331 147 chr14 19653708 1 65M120N7M = 19653675 -225…ERR127306.2698854 419 chr14 19653717 0 56M120N16M = 19653935 290…ERR127306.2698854 163 chr14 19653717 0 56M120N16M = 19653935 2019…
对齐:顺序和质量
...GAATTGATCAGTCTCATCTGAGAGTAACTTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCC *'%%%%%#&&%''#'&%%%)&&%%$%%'%%'&*****$))$)'')'%)))&)%%%%$'%%%%&"))'')%)) ...TTGATCAGTCTCATCTGAGAGTAACTTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAG '**)****)*'*&*********('&)****&***(**')))())%)))&)))*')&***********)**** ...TGAGAGTAACTTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAGCAGCCTCTGGTTTCT '******&%)&)))&")')'')'*((******&)&'')'))$))'')&))$)**&&**************** ...TGAGAGTAACTTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAGCAGCCTCTGGTTTCT ##&&(#')$')'%&)%$#$%"%###&!%))'%%''%'))&))#)&%((%())))%)%)))%********* ...GAGAGTAACTTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAGCAGCCTCTGGTTTCTT )&$'$'$%!&&%&!'%'))%''&%'&))))''$""'%'%&%'#'%'"!'')#&)))))%$)%)&'"'))) ...TTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAGCAGCCTCTGGTTTCTTCATGTGGCT ++++++++++++++++++++++++++++++++++++++*++++++**++++**+**''**+*+*'*)))*)# ...TTTGTACCCATCACTGATTCCTTCTGAGACTGCCTCCACTTCCCCAGCAGCCTCTGGTTTCTTCATGTGGCT ++++++++++++++++++++++++++++++++++++++*++++++**++++**+**''**+*+*'*)))*)#
阵营:标签
...AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:72 YT:Z:UU NH:i:2 CC:Z:chr22 CP:i:16189276 HI:i:0…AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:0 MD:Z:72 YT:Z:UU NH:i:3 CC:Z:= CP:i:19921600 HI:i:0…AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:4 MD:Z:72 YT:Z:UU XS:A:+ NH:i:3 CC:Z:= CP:i:19921465 HI:i:0…AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:4 MD:Z:72 YT:Z:UU XS:A:+ NH:i:2 CC:Z:chr22 CP:i:16189138 HI:i:0…AS:i:0 XN:i:0 XM:i:0 XO:i:0 XG:i:0 NM:i:5 MD:Z:72 YT:Z:UU XS:A:+ NH:i:3 CC:Z:= CP:i:19921464 HI:i:0…:我:0 XM:我:0 XO:我:0 XG:我:0 MD: Z: 72海里:我:0 XS:答:+ NH:我:5答:Z: = CP:我:19653717你好:我:0…AS:i:0 XM:i:0 XO:i:0 XG:i:0 MD:Z:72 NM:i:0 XS:A:+ NH:i:5 CC:Z:= CP:i:19921455 HI:i:1
输入和操作:VariantAnnotationreadVcf ()
,readInfo ()
,readGeno ()
选择性地与ScanVcfParam ()
.
头
##fileformat=VCFv4.2 ##fileDate=20090805 ##source=myImputationProgramV3.1 ##reference=file:///seq/references/ 1000genome - ncbi36。fasta ##contig= ##phasing=partial ##INFO= ##INFO=…##FILTER= ##FILTER=…##FORMAT= ##FORMAT=
位置
# chrom pos id ref Alt qual filter…20 14370 rs6054257 G A 29 PASS…20 17330。T A 3 q10…20 1110696 rs6040355 A G,T 67 PASS…20 1230237。T。47 pass…20 1234567 microsat1 GTC G,GTCT 50 PASS…
变异信息
# chrom pos…信息…20 14370…NS = 3; DP = 14;房颤= 0.5;数据库;H2…20 17330…NS = 3; DP = 11;房颤= 0.017……20 1110696…NS = 2, DP = 10;房颤= 0.333,0.667;AA = T; DB……20 1230237…NS = 3; DP = 13; AA = T… 20 1234567 ... NS=3;DP=9;AA=G ...
基因型格式和样本
...POS……格式:na00001 na00002 na00003…14370年……GT:《GQ》:DP:总部0 | 0:48:1:51,51 1 | 0:48:8:51,51 1/1:43:5:,……17330年……GT:《GQ》:DP:总部0 | 0:49:3:58,50 0 | 1:3:5:65,3 0/0:41:3…1110696……GT:《GQ》:DP:总部1 | 2:21:6:23,27日2 | 1:2:0:18,2 2/2:35:4…1230237…… GT:GQ:DP:HQ 0|0:54:7:56,60 0|0:48:4:51,51 0/0:61:2 ... 1234567 ... GT:GQ:DP 0/1:35:4 0/2:17:2 1/1:40:3
输入:rtracklayer进口()
GTF:基因模型
组件的坐标
7蛋白编码基因27221129 27224842。- . ... ...7 protein_coding transcript 27221134 27224835。- . ...7蛋白编码外显子27224055 27224835。- . ...7 protein_coding CDS 27224055 27224763。- 0…7 protein_coding start_codon 27224761 27224763。- 0… 7 protein_coding exon 27221134 27222647 . - . ... 7 protein_coding CDS 27222418 27222647 . - 2 ... 7 protein_coding stop_codon 27222415 27222417 . - 0 ... 7 protein_coding UTR 27224764 27224835 . - . ... 7 protein_coding UTR 27221134 27222414 . - . ...
注释
gene_id“ENSG00000005073”;gene_name“HOXA11”;gene_source“ensembl_havana”;gene_biotype“protein_coding”;……transcript_id“ENST00000006015”;transcript_name“hoxa11 - 001”;transcript_source“ensembl_havana”;标记“ccd”;ccds_id“CCDS5411”; ... exon_number "1"; exon_id "ENSE00001147062"; ... exon_number "1"; protein_id "ENSP00000006015"; ... exon_number "1"; ... exon_number "2"; exon_id "ENSE00002099557"; ... exon_number "2"; protein_id "ENSP00000006015"; ... exon_number "2"; ...
BiostringsDNA或氨基酸序列类
方法
reverseComplement ()
letterFrequency ()
matchPDict ()
,matchPWM ()
相关的包
FaFile
类用于磁盘上的索引表示TwoBitFile
)类,用于磁盘上的索引表示例子
BSgenome
包。下面计算跨chr14的GC内容。suppressPackageStartupMessages({library(BSgenome.Hsapiens.UCSC.hg19)}) chr14_range = GRanges("chr14", IRanges(1, seqlength (Hsapiens)["chr14"])) chr14_dna <- getSeq(Hsapiens, chr14_range) letterFrequency(chr14_dna, "GC", as.prob=TRUE)
## g | c ## [1,] 0.336276
范围是:
许多常见的生物学问题都是基于范围的
的GenomicRanges包定义基本类和方法
农庄
GRangesList
范围
start ()
/结束()
/宽度()
长度()
,子集,等等。mcols ()
Seqinfo
,包括seqlevels
而且seqlengths
Intra-range方法
转变()
,狭窄的()
,侧面()
,发起人()
,调整()
,限制()
,削减()
" ? intra-range-methods
Inter-range方法
range ()
,reduce ()
,空白()
,分离()
覆盖()
(!)" ? inter-range-methods
Between-range方法
findOverlaps ()
,countOverlaps ()
、……% / %
,%在%
,% %外
;联盟()
,相交()
,setdiff ()
,punion ()
,pintersect ()
,psetdiff ()
例子
suppressPackageStartupMessages({library(GenomicRanges)}) gr <- GRanges("A", IRanges(c(10,20,22), width=5), "+") shift(gr, 1) # 1-based坐标!
## seqnames ranges strand ## ## [1] A [11,15] + ## [2] A [21,25] + ## [3] A [23,27] + ## ------- ## seqinfo:来自未指定基因组的1个序列;没有seqlengths
Range (gr) # intra-range
## seqnames ranges strand ## ## [1] A [10,26] + ## ------- ## seqinfo: 1个来自未指定基因组的序列;没有seqlengths
减少(gr) # inter-range
## seqnames ranges strand ## ## [1] A [10,14] + ## [2] A [20,26] + ## ------- ## seqinfo: 1个来自未指定基因组的序列;没有seqlengths
覆盖(gr)
##长度为1的RleList ## $A ##整数-长度为26的rllist,运行6次##长度:9 5 5 2 3 2 ##值:0 1 0 1 2 1
Setdiff (range(gr), gr) # '内含子'
## seqnames ranges strand ## ## [1] A [15,19] + ## ------- ## seqinfo: 1个来自未指定基因组的序列;没有seqlengths
IRangesList, GRangesList
许多*List-aware方法,但一个常见的“技巧”:对未列出的表示应用向量化函数,然后重新列出
grl <- GRangesList(…)orig_gr <- unlist(grl) transformed_gr <- FUN(orig) transformed_grl <- relist(, grl)
参考
类——像基因组一样的行为
方法
readGAlignments ()
,readGAlignmentsList ()
summarizeOverlaps ()
例子
suppressPackageStartupMessages({library(GenomicRanges) library(GenomicAlignments) library(Rsamtools)}) ## our 'region of interest' roi <- GRanges("chr14", IRanges(19653773, width=1)) ##样本数据suppressPackageStartupMessages({library('RNAseqData.HNRNPC.bam.chr14')}) bf <- BamFile(RNAseqData.HNRNPC.bam. bam. GRanges)chr14_BAMFILES[[1]], asMates=TRUE) ##对齐,连接,重叠我们的roi paln <- readGAlignmentsList(bf) j <- summarizejoins (paln, with.revmap=TRUE) j_overlap <- j[j %over% roi] ##支持读取paln[j_overlap$revmap[[1]]]
##长度为8的GAlignmentsList对象:## [[1]]## GAlignments对象,2对齐和0元数据列:## seqnames strand cigar qwidth开始结束宽度njunc# # [1] chr14 - 66M120N6M 72 19653707 19653898 192 1 ## [2] chr14 + 7m1270n65m72 19652348 19653689 1342 1 ## ## [[2]] ## GAlignments对象,2对齐和0元数据列:## seqnames绞线雪茄qwidth开始结束宽度njunc# # [1] chr14 - 66M120N6M 72 19653707 19653898 192 1 ## [2] chr14 + 72M 72 19653686 19653757 72 0 ## ## [[3]] ## GAlignments对象2对齐和0元数据列:## seqnames绞线雪茄qwidth开始结束宽度njunc# # [1] chr14 + 72M 72 19653675 19653746 72 0 ## [2] chr14 - 65M120N7M 72 19653708 19653899 192 1 ## ##…## <5个更多的元素> ## ------- ## seqinfo:来自未知基因组的93个序列
类——类似基因组范围的行为
函数和方法
readVcf ()
,readGeno ()
,readInfo ()
,readGT ()
,writeVcf ()
,filterVcf ()
locateVariants ()
(变量重叠范围),predictCoding ()
,summarizeVariants ()
genotypeToSnpMatrix ()
,snpSummary ()
例子
##输入变量suppressPackageStartupMessages({library(VariantAnnotation)}) fl <- system. txtfile("extdata", "chr22. hsapiens .gz", package="VariantAnnotation") vcf <- readVcf(fl, "hg19") seqlevels(vcf) <- "chr22" ##已知基因模型suppressPackageStartupMessages({library(TxDb.Hsapiens.UCSC.hg19. knowngene)}) coding <- locateVariants(rowData(vcf), TxDb.Hsapiens.UCSC.hg19. hg19. hg19. rowData)。knownGene, codingvariations())头(编码)
GRanges对象有6个范围和9个元数据列:## seqnames range strand | LOCATION LOCSTART LOCEND ## # | ## 1 chr22[50301422, 50301476] * |编码939 939 ## 2 chr22[50301476, 50301476] * |编码885 885 ## 3 chr22[50301488, 50301488] * |编码873 873 ## 4 chr22[50301494, 50301494] * |编码867 867 ## 5 chr22[50301584, 50301584] * |编码777 777 ## 6 chr22 [50302962,698] * |编码698 50302962 # # QUERYID TXID CDSID GENEID PRECEDEID # # <整数> <人物> < IntegerList > <人物> < CharacterList > 24 75253 218562 79087 # # 1 # # 2 25 75253 218562 79087 # # 3 26 # # 4 27 75253 218562 79087 75253 218562 79087 5 # # 28 75253 218562 79087 # 6 # 57 75253 218563 79087 # # FOLLOWID # # < CharacterList > # # 1 # # 2 # 3 # 4 # 5 # # 6 ## ------- ## seqinfo: 1从一个未指明的基因组序列;没有seqlengths
相关的包
参考
这个非常开放的主题指向一些最突出的Bioconductor包序列分析。利用这个实验的机会来探索下面突出显示的软件包小插图和帮助页面;欧洲杯2021体育彩票许多材料将在后续的实验和讲座中更详细地介绍。
基础知识
一个包需要安装一次,使用登陆页面上的说明。安装完成后,可以将包加载到R会话中
suppressPackageStartupMessages({library(GenomicRanges)})
和帮助系统的交互查询,如上所述:
帮助(包=“基因组范围”)小插图(包=“基因组范围”)小插图(包=“基因组范围”,“基因组范围”)?GRanges
特定于领域的分析——探索以下两个或三个包的登录页、小插图和参考手册。
工作序列,对齐,常见的web文件格式,和原始数据;这些包在很大程度上依赖于IRanges/GenomicRanges我们稍后会讲到的基础设施。
consensusMatrix ?
例如。另外,请参阅BSgenome用于处理全基因组序列的软件包,例如,?”getSeq BSgenome-method”
readGAlignments ?
帮助页面和vigentte(包=“GenomicAlignments”、“summarizeOverlaps”)
进口
而且出口
函数可以读取许多常见的文件类型,例如,BED, WIG, GTF,…,除了查询和导航UCSC基因组浏览器。请查看进口吗?
页面的基本用法。可视化
fastqc
是一个Java程序,通常用于总结fastq文件的质量。它有一个直观的图形用户界面。这里我们将使用命令行版本。
从内部Rstudio,选择“Tools - > Shell…”,或使用Mac / linux终端或Windows上的PuTTY程序登录到您的亚马逊机器实例。
在示例fastq文件上运行fastqc,将输出发送到~ / fastqc_report
目录中。
Fastqc fastq/*fastq——threads 8——outdir=fastqc_reports
在线研究质量报告和结果文档:在“文件”页签中,单击fastqc_reports
.点击那里的HTML文件,然后点击“在Web浏览器中查看”。
ShortRead提供类似的功能,但是从内部R.下面显示了R可以处理大数据,并说明了一些基本的方式,其中一个可能与功能的交互提供Bioconductor包中。
# # 1。附加ShortRead和BiocParallel suppressPackageStartupMessages({library(ShortRead) library(BiocParallel)}) ## 2。创建文件路径fls <- dir("~/fastq", pattern="*fastq", full=TRUE)
# # 3。收集统计信息stats0 <- qa(fls)
# # 4。生成并浏览报告if (interactive())
检查所有车道的质量报告
数据(qa_all) if (interactive())
此数据来自气道Bioconductor注释包;看到装饰图案有关详细信息,
Bioconductor:我们将探索如何在不同类型的标识符之间进行映射,如何导航基因组坐标,以及如何查询BAM文件以进行对齐读取。
附上包含基因符号信息的“注释”包org.Hs.eg.db基因组坐标(如基因、外显子、cd、转录本)TxDb.Hsapiens.UCSC.hg19.knownGene.安排TxDb包中的“seqlevels”(染色体名称)与BAM文件中的名称相匹配。
使用适当的org . *
包映射从基因符号到Entrez基因id,并相应TxDb。*
包检索SPARCL1基因的基因坐标。注意:下面使用单个基因符号,但我们可以使用1、2或a中的所有基因符号矢量化时尚。
附加GenomicAlignments用于处理对齐读取的包。使用range ()
以获得跨越SPARCL1第一个和最后一个外显子的基因组坐标。输入重叠SPARCL1的配对读。
关于这些排列,你可以很容易地回答哪些问题?例如,有多少读取重叠这个感兴趣的区域?
# # 1。a“Annotation”包suppressPackageStartupMessages({library(txdb . hspapiens . ucsc .hg19. knowngene) library(org.Hs.eg.db)}) ## 1。b——将TxDb文件中记录的“seqlevels”映射到## BAM文件fl <- "~/igv/genomes/hg19_alias。tab" map <- with(read.delim(fl, header=FALSE, stringsAsFactors=FALSE), setNames(V1, V2)) seqlevels(TxDb.Hsapiens.UCSC.hg19。knownGene, force=TRUE) <- map ## 2。Symbol -> Entrez ID ->基因坐标sym2eg <- select(org.Hs.eg.db, "SPARCL1", "ENTREZID", " Symbol ") exByGn <- exonsBy(TxDb.Hsapiens.UCSC.hg19. exonby)knownGene, "gene") sparcl1exons <- exByGn[[sym2eg$ENTREZID]] ## 3。Aligned reads suppressPackageStartupMessages({library(GenomicAlignments)}) fl <- "~/bam/SRR1039508_sorted. "bam" sparcl1gene <- range(sparcl1exons) param <- ScanBamParam(which=sparcl1gene) aln <- readGAlignmentPairs(fl, param=param)
作为另一个练习,我们问我们输入的读取数据中有多少与已知的基因模型兼容。我们必须找到属于我们基因的转录本,然后按转录本分组的外显子
5. # #。txids <- select(TxDb.Hsapiens.UCSC.hg19)。knownGene, sym2eg$ENTREZID, "TXID", "GENEID")$TXID exByTx <- exonsBy(TxDb.Hsapiens.UCSC.hg19。knownGene,“tx”)[txids] ## 5;b compatible alignment hits <- findCompatibleOverlaps(query=aln, subject=exByTx) good <- seq_along(aln) %in% queryHits(hits) table(good)
##好##假真## 14
最后,让我们从基因模型转到蛋白质编码序列。(a)提取按转录本分组的CDS区域,只选择我们感兴趣的转录本,(b)从相应的参考基因组中附加并提取编码序列。将编码序列转化为蛋白质。
rerestoreseqlevels (TxDb.Hsapiens.UCSC.hg19.knownGene)
# # TxDb对象:# # # Db型:TxDb支持包:# # # # # # GenomicFeatures数据来源:UCSC基因组:# # # # # # hg19生物:智人# # # UCSC的表:knownGene # # #资源URL: http://genome.ucsc.edu/ # # #的基因类型ID: Entrez基因ID # # #完整数据集:是的# # # miRBase构建ID: GRCh37 # # # transcript_nrow: 82960 # # # exon_nrow: 289969 # # # cds_nrow: 237533 # # # Db由:GenomicFeatures包从Bioconductor # # #创建时间:2014-09-26 11:16:12 -0700(2014年9月26日星期五)## #基因组特征创建时的版本:1.17.17 ## RSQLite创建时的版本:0.11.4 ## DBSCHEMAVERSION: 1.0
## a. cds坐标,按转录txids分组<- select(TxDb.Hsapiens.UCSC.hg19)。knownGene, sym2eg$ENTREZID, "TXID", "GENEID")$TXID cdsByTx <- cdsBy(TxDb.Hsapiens.UCSC.hg19。knownGene, "tx")[txids] ## b.来自相关参考基因组的编码序列suppressPackageStartupMessages({library(BSgenome.Hsapiens.UCSC.hg19)}) dna <- extractTranscriptSeqs(BSgenome.Hsapiens.UCSC. ucsc . c)。hg19, cdsByTx)蛋白<-翻译(dna)
访问“GenomicRanges HOWTOs”小插图。
browseVignettes(“GenomicRanges”)
阅读第1节,做练习2.2、2.4、2.5、2.8、2.12和2.13。也许可以选择你特别感兴趣的其他主题。
R/Bioconductor
刊物及简报
劳伦斯M, Huber W, Pages H, Aboyoun P, Carlson M等。(2013)计算和注释基因组范围的软件。PLoS计算生物学9(8):e1003118。doi:10.1371 / journal.pcbi.1003118
劳伦斯,M. 2014。用于基因组数据分析的软件。Bioc2014会议幻灯片.