序列数据表示

表观基因组学2014
作者:马丁·摩根(mtmorgan@fhcrc.org
日期:2014年8月24日

生物导体用于序列分析

Alt测序系统

DNA /氨基酸序列:FASTA文件

输入和操作:Biostrings

>NM_078863_up_2000_chr2L_16764737_f chr2L:16764737-16766736 gttggtggcccaccagtgccaaaatacacaagaaaacagcatctt gacactaaaatgcaaaaattgtttgcgtcaatgactcaaaacgaaaatatg…atgggtatcaagttgccccgtataaaaggcaagttaccggttgcacggt >NM_001201794_up_2000_chr2L_8382455_f chr2L:8382455-8384454 ttatatgtaggcgcccgttcccgcagccaaagcactcagaattccggg cgtgtagcgcaacgaccatacaaggcaatattttgcgcttagg…

写着:FASTQ文件

输入和操作:ShortReadreadFastq ()FastqStreamer ()FastqSampler ()

@err127302.1703 hwi-eas350_0441:1:1:1460:19184 #0/1 cctgagtgaagctgatcttagagagagatagatcttgatcgtcgaggagatgctgaccttgacct + hhghghhhhhhhhdgg < gdgge@gdggd  ce ?=896=: @err127302.1704 wi - eas350_041:1:1:14 60:16861#0/1 gcggtatgctggaaggtgctcgaatggagagcgccagcgccccggcgctgagccgccgccgccgccc + de ? dd > ed4 > eee > de8eeede8b ? eb <@3; ba79 ?, 881b ?@73;1?########################

例子

#生物序列数据(phiX174Phage) #样本数据,见?phiX174Phage phiX174Phage
##长度为6的DNAStringSet实例## width seq names ## [1] 586 GAGTTTTATCGCTTCCATGAC…ATTGGCGTATCCAACCTGCA Genbank ## [2] 586 GAGTTTTATCGCTTCCATGAC…ATTGGCGTATCCAACCTGCA RF70s ## [3] 586 GAGTTTTATCGCTTCCATGAC…Attggcgtatccaacctgca ss78 ## [4] 586 gagttttatcgcttccatgac…ATTGGCGTATCCAACCTGCA公牛## [5]586 GAGTTTTATCGCTTCCATGAC…Attggcgtatccaacctgca g97 ## [6] 586 gagttttatcgcttccatgac…ATTGGCGTATCCAACCTGCA NEB03
m <- consensusMatrix(phiX174Phage)[1:4,] #细胞核。x位置计数多态<- which(colsum (m != 0) > 1) m[,多态]
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] ## a 4 5 4 3 0 0 5 2 0 ## c 0 0 0 0 5 1 0 0 5 ## g 2 1 2 3 0 0 0 1 4 0 ## t 0 0 0 0 1 5 0 0 1 1 5 0 0 1 1 0 0 1
showMethods(类类(phiX174Phage) =, =搜索())

案例研究:处理DNA序列数据

  1. 加载Biostrings包和phiX174Phage数据集。phix174噬菌体是什么类?找到该类的帮助页面,并确定应用于该类的有趣函数。
  2. 发现小插曲在生物串包与装饰图案(包=“Biostrings”).添加另一个参数到装饰图案函数查看“BiostringsQuickOverview”小插图。
  3. 导航到生物串登陆页//www.andersvercelli.com.通过访问biocViews页面来实现这一点。你能在网站上找到BiostringsQuickOverview的小插图吗?
  4. 下面的代码加载一些示例数据,phiX174Phage基因组的6个版本作为DNAStringSet对象。

    库(Biostrings)数据(phiX174Phage)

    解释以下代码的功能及其工作原理

    m <- consensusMatrix(phiX174Phage)[1:4,]多态性<- which(colsum (m != 0) > 1) mapply(substr,多态性,多态性,MoreArgs=list(x=phiX174Phage))
    # #[1][2][3][4][5][6][7][8][9] # #基因库“G”“G”“”“”“C”“C”“A”“G”“C”# # RF70s“”“”“”“G”“C”“T”“A”“G”“C”# # SS78“”“”“”“G”“C”“T”“A”“G”“C”# #牛“G”“A”“G”“A”“C”“T”“”“”“T”# # G97“A”“A”“G”“A”“C”“T”“G”“A”“C”# # NEB03“”“”“”“G”“T”“T”“A”“G”“C”

对齐读取:BAM文件(例如,ERR127306_chr14.bam)

输入和操作:“低级”RsamtoolsscanBam ()BamFile ();“高级”GenomicAlignments

称为变体:VCF文件

输入和操作:VariantAnnotationreadVcf ()readInfo ()readGeno ()选择性地与ScanVcfParam ()

基因组注释:BED, WIG, GTF等文件

输入:rtracklayer进口()

数据表示

范围

范围是:

许多常见的生物学问题都是基于范围的

GenomicRanges包定义基本类和方法

Alt

Alt

业务范围

Alt区间代数

范围

Intra-range方法

Inter-range方法

Between-range方法

例子

require(genome icranges) gr <- GRanges("A", IRanges(c(10,20,22), width=5), "+") shift(gr, 1) # 1-based coordinate !
有3个范围和0个元数据列的GRanges: ## seqnames ranges strand ##    ## [1] A [11,15] + ## [2] A [21,25] + ## [3] A[23,27] + ##——## seqlength: ## a# # NA
范围(gr) # intra-range
有1个范围和0个元数据列的GRanges: ## seqnames ranges strand ##    ## [1] A[10,26] + ##——## seqlength: ## a# # NA
减少(gr) # inter-range
有2个范围和0个元数据列的GRanges: ## seqnames ranges strand ##    ## [1] A [10,14] + ## [2] A[20,26] + ##——## seqlength: ## a# # NA
覆盖(gr)
长度为1的RleList ## $A ## integer-长度为26的rle, 6次运行##长度:9 5 5 2 3 2 ##值:0 1 0 1 2 1
Setdiff (range(gr), gr) # '内含子'
有1个范围和0个元数据列的GRanges: ## seqnames ranges strand ##    ## [1] A[15,19] + ##——## seqlength: ## a# # NA

IRangesList, GRangesList

参考

Biostrings(DNA或氨基酸序列)

方法- - - - - -

相关的包

例子

require(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.3363

GenomicAlignments(对齐读取)

类-类似基因组范围的行为

方法

例子

需要(GenomicRanges)要求(GenomicAlignments)
##加载所需的包:Rsamtools ## ##附加包:' genome icalignments ' ## ##以下对象从'package:locfit': ## ##被屏蔽
require(Rsamtools) ## our 'region of interest' roi <- GRanges("chr14", IRanges(19653773, width=1)) ## sample data require('RNAseqData.HNRNPC.bam.chr14')
##加载所需的包:RNAseqData.HNRNPC.bam.chr14
男朋友< - BamFile (RNAseqData.HNRNPC.bam。chr14_BAMFILES[[1]], asMates=TRUE) ##对齐,连接,重叠我们的roi paln <- readGAlignmentsList(bf) j <- summarizejunction (paln, with.revmap=TRUE) j_overlap <- j[j %over% roi] ##支持读取paln[j_overlap$revmap[[1]]]
## GAlignmentsList长度8:## [[1]]## GAlignments with 2 alignments and 0 metadata columns: ## seqnames strand cigar qwidth start end width njunc ## [1] chr14 - 66M120N6M 72 19653707 19653898 192 1 ## [2] chr14 + 7M1270N65M 72 19652348 19653689 1342 1 ## ## [[2]] ## GAlignments with 2 alignments and 0 metadata column:## seqnames strand雪茄qwidth start end width njunc ## [1] chr14 - 66M120N6M 72 19653707 19653898 192 1 ## [2] chr14 + 72M 72 19653686 19653757 72 0 ## ## [[3]] # GAlignments with 2对齐和0元数据列:## seqnames strand雪茄qwidth start end width njunc ## [1] chr14 + 72M 72 19653675 19653746 72 0 ## [2] chr14 - 65M120N7M 72 19653708 19653899 192 1 ## ##…## <5 more elements> ##——## seqlength:# # chr1 chr10…chrY ## 249250621 135534747…59373566

VariantAnnotation(称为变种)

类-类似基因组范围的行为

函数和方法

例子

##输入变量需要(VariantAnnotation) fl <- system。##已知基因模型require(txdb . hsapens . ucsc .hg19. knowngene) coding <- locateVariants(rowData(vcf), txdb . hsapens . ucsc .hg19. hg19. txt)knownGene CodingVariants())头(编码)
## grange包含6个范围和7个元数据列:## seqnames ranges strand | LOCATION QUERYID TXID ##    |    ## [1] chr22 [50301422,50301422] - | coding 24 75253 ## [2] chr22 [50301476,50301476] - | coding 25 75253 ## [3] chr22 [50301488,50301488] - | coding 26 75253 ## [4] chr22 [50301484,50301494] - | coding 27 75253 ## [5] chr22 [50301584,50301584] - | coding 28 75253 ## [6] chr22 [50302962,50302962] - | coding 57 75253 ## CDSID GENEID preferdeid FOLLOWID ##     ## [1] 218562 79087 ## [2] 218562 79087 ## [3] 218562 79087 ## [4] 218562 79087 ## [5] 218562 79087 ## [6] 218563 79087 ## # seqlength: ## chr22 ## NA

相关的包

参考

rtracklayer(基因组注释)

大数据

限制

迭代

压缩

并行处理

参考

练习

总结重叠

目的是计算基因中重叠外显子的读数。这种类型的计数数据是RNASeq差分表达式分析的基本输入,例如通过DESeq2而且刨边机

  1. 确定感兴趣的区域。我们使用一个“TxDb”包,其中已经定义了基因模型
exByGn <- exonsBy(TxDb.Hsapiens.UCSC.hg19.)## only染色体14 seqlevels(exByGn, force=TRUE) = "chr14"
  1. 确定示例BAM文件。
需要(RNAseqData.HNRNPC.bam.chr14)长度(RNAseqData.HNRNPC.bam.chr14_BAMFILES)
# # 8 [1]
  1. 总结重叠,可以选择并行
##下两行可选;非windows库(BiocParallel)寄存器(MulticoreParam(workers=detectCores())) olaps <- summarizeOverlaps(exByGn, RNAseqData.HNRNPC.bam.chr14_BAMFILES)
  1. 探索我们的工作,例如,文库大小(列和),基因长度和映射读取数之间的关系,等等。
olap
## class: summarizeexperiment ## dim: 779 8 # exptData(0): ## assays(1): counts ## rownames(779): 10001 100113389…9950 9985 ## rowData元数据列名称(0):## colnames(8): ERR127306 ERR127307…ERR127304 ERR127305 ## colData名称(0):
(分析(olap))
# # ERR127306 ERR127307 ERR127308 ERR127309 ERR127302 ERR127303 # # 10001 103 139 109 125 152 168 # # 100113389 0 0 0 0 0 0 # # 100113391 0 0 0 0 0 0 # # 100124539 0 0 0 0 0 0 # # 100126297 0 0 0 0 0 0 # # 100126308 0 0 0 0 0 0 # # ERR127304 ERR127305 # # # # 10001 181 150 100113389 0 0 # # 100113389 0 0 # # 100124539 0 0 # # 100126297 0 0 # # 100126308 0 0
#库大小
## err127306 err127307 err127308 err127309 err127302 err127303 err127304 ## 340646 373268 371639 331518 313800 331135 331606 ## err127305 ## 329647
情节(总和(宽度(olap)), rowMeans(分析(olap)),日志=“xy”)
##警告:对数图中省略了252个y值<= 0

图块summarizeoverlapped -explore

  1. 作为一个高级练习,研究GC内容和读取计数之间的关系
require(BSgenome.Hsapiens.UCSC.hg19) sequences <- getSeq(BSgenome.Hsapiens.UCSC. bsgenome .hg19) sequences <-hg19, rowData(olaps)) gcPerExon <- letterFrequency(unlist(sequences), "GC") GC <- relist(as.vector(gcPerExon), sequences) gc_percent <- sum(GC) / sum(width(olaps)) plot(gc_percent, rowMeans(assay(olaps)), log="y")
##警告:对数图中省略了252个y值<= 0

chunk summarizeoverlap -gc的图