R版本: R版本4.2.0 RC (2022-04-19 r82224)
Bioconductor版本: 3.15
包: 1.20.0
Bioconductor能够分析和理解高通量的基因组数据。我们有大量的软件包,允许对大数据进行严格的统计分析,同时牢记技术工件。Bioconductor帮助用户将分析结果置于生物学环境中,并提供丰富的可视化机会。再现性是一个重要的目标Bioconductor分析。不同类型的分析可以使用Bioconductor例如,
对于这些分析,通常会导入并使用各种与序列相关的文件类型,包括fasta、fastq、BAM、gtf、bed和wig文件等等。Bioconductor包支持导入、常见和高级的序列操作,如修剪、转换和对齐,包括质量评估。
下面是一个说明性描述,详细说明了典型分析中不同阶段的不同文件类型,以及每个阶段将使用的包名称(粉红色方框中)。
下面的包说明了可用功能的多样性;的发布版本Bioconductor.
IRanges而且GenomicRanges用于基于范围(例如染色体区域)的计算、数据操作和通用数据表示。Biostrings用于DNA和氨基酸序列表示、比对、模式匹配(例如引物去除)以及大型生物序列或序列集的数据操作。ShortRead用于处理短读取的FASTQ文件及其质量分数。
Rsamtools而且GenomicAlignments用于对齐读(BAM文件)I/O和数据操作。rtracklayer用于导入和导出不同的数据格式(例如,BED, WIG, bigWig, GTF, GFF)和UCSC基因组浏览器上的轨道操作。
BSgenome用于访问和操纵策划的全基因组表示。GenomicFeatures对于普通基因组序列特征的注释,biomaRt访问Biomart数据库。
SRAdb用于从序列读取存档中查询和检索数据。
Bioconductor包按以下方式组织biocViews.下面的一些条目测序其他条款和有代表性的套餐包括:
单核苷酸多态性以及其他变体,例如,VariantAnnotation,VariantFiltering,h5vc.
微生物组宏基因组测序,例如,metagenomeSeq,phyloseq,DirichletMultinomial.
许多Bioconductor软件包严重依赖于IRanges/GenomicRanges基础设施。因此,我们将从快速介绍这些文件开始,然后介绍不同的文件类型。
的GenomicRanges包允许我们将一系列染色体坐标与序列名称(例如,染色体)和一条链关联起来。这样的基因组范围对于描述数据(例如,被称为ChIP峰值、snp或拷贝数变异的校准读数的坐标)和注释(例如,基因模型、路线图表观基因组调控元件、已知的来自dbSNP的临床相关变异)非常有用。农庄
表示基因组位置向量和相关注释的对象。向量中的每个元素都由序列名、范围、链和可选元数据(例如分数、GC内容等)组成。
library(GenomicRanges) GRanges(seqnames=Rle(c('chr1', 'chr2', 'chr3'), c(3,3,4)), IRanges(1:10, width=5), strand='-', score=101:110, GC = runif(10)))
如上所述,基因组范围可以“手工”创建,但通常是导入数据的结果(例如,通过GenomicAlignments: readGAlignments ()
)或注释(例如,viaGenomicFeatures: select ()
或rtracklayer:进口()
BED, WIG, GTF和其他常用文件格式)。使用帮助()
中列出帮助页GenomicRanges包,小插曲()
查看和访问可用的小插图。
帮助(包=“GenomicRanges”)装饰图案(包=“GenomicRanges”)
一些常用的操作农庄
包括findOverlaps(查询、主题)
而且最近的(查询、主题)
的范围查询
重叠范围为主题
的范围主题
最接近' query。这些操作在数据分析(例如,计算RNAseq中对齐reads和基因模型之间的重叠)和理解(例如,注释ChIP结合位点附近的基因)中都很有用。
Biostrings类(例如,DNAStringSet
)用来表示DNA或氨基酸序列。在下面的例子中,我们将构造一个DNAString并展示一些操作。
library(Biostrings) d <- DNAString("TTGAAAA-CTC-N") length(d) # DNAString中字母的编号
## [1]
我们会下载所有智人来自FASTA文件Homo_sapiens.GRCh38.cdna.all的cDNA序列。fa '从ensemble使用AnnotationHub.
library(注解hub) ah <-注解hub ()
此文件作为TwoBitFile下载
ah2 <- query(ah, c("fasta", "homo sapiens", "Ensembl", "cdna")) dna <- ah2[["AH68262"]] dna
资源:/home/biocbuild/.cache/ r / annotationhub /148001d43c00f_75008
文件中的序列可以在使用时读取getSeq ()
从Biostrings包中。序列作为a返回DNAStringSet对象。
getSeq (dna)
[2] 9 CCTTCCTAC ENST00000434970.2 ## [3] 13 ACTGGGGGATACG ENST00000448914.1 ## [4] 8 GAAATAGT ENST00000415118.1 ## [5] 12 gggacagggc ENST00000631435.1 ## ... ... ...## [187622] 1370 ggctgagtctgggccccaggacccgcatgc…Gaagcttcccaagatgcagccgggaggtga enst00000639790.1 ## [187623] 284 ggcgtcacaagagaccttccttctcagct…Tgagtgatcagccctagatgaccactgtta enst00000639660.1 ## [187624] 105 tgcatcactctggcattgacttcctggatt…Ctgtccttctgtggaccccagaaagttaat enst00000643577.1 ## [187625] 900 atgggatgtcaccaatcaatggtcacagaa…Agggcactgaggaaggagaggctgatgtaa enst00000646356.1 ## [187626] 930 atgggagtcaaccaatcatgggtcacagaa…CACAGAGCACTGCAGAGGACGCTGTCTATG ENST00000645792.1
BSgenome包里面Bioconductor包含由ENSEMBL、NCBI等分布的全基因组序列。在下一个例子中,我们将加载整个基因组序列智人从加州大学的hg19
构建,并计算14号染色体的GC含量。
库(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
ShortRead寄来的包裹Bioconductor可以用于fastq文件。这里我们举了一个快速的例子,在这个例子中,我们可以读入多个fasta文件,收集一些统计数据并生成一个相同的报告。
BiocParallel是来自Bioconductor这样可以并行处理这个任务,加快处理速度。
# # 1。附加ShortRead和BiocParallel库(ShortRead)库(BiocParallel) ## 2。创建一个文件路径的向量fls <- dir("~/fastq", pattern="*fastq", full=TRUE)收集统计信息stats0 <- qa(fls) ## 4。生成并浏览报告if (interactive())
中两个有用的函数ShortRead是trimTails ()
用于处理FASTQ文件,以及FastqStreamer ()
用于在可管理的块中遍历FASTQ文件(例如,一次1,000,000条记录)。
的GenomicAlignments包用于输入与参考基因组对齐的读数。
在下一个例子中,我们将读入一个BAM文件,特别是读入一个支持14号染色体19653773位置的明显外显子剪接连接的读。
这个包RNAseqData.HNRNPC.bam.chr14_BAMFILES包含8个BAM文件。我们将只使用第一个BAM文件。我们将加载软件包和数据包,构造一个农庄与我们的领域感兴趣,并加以利用summarizeJunctions ()
在我们感兴趣的地区寻找读物。
# # 1。加载软件包库(genome icranges)库(genome icalignments) ## 2。加载样本数据库('RNAseqData.HNRNPC.bam.chr14') bf <- BamFile(RNAseqData.HNRNPC.bam. rnaseqdata . hnrnpc .chr14')chr14_BAMFILES[[1]], asMates=TRUE) ## 3。定义我们的“感兴趣的区域”roi <- GRanges("chr14", IRanges(19653773, width=1)) ## 4。对齐,连接,重叠我们的roi paln <- readGAlignmentsList(bf) j <- summarizejoins (paln, with.revmap=TRUE) j_overlap <- j[j %over% roi] ## 5。支持读取paln[j_overlap$revmap[[1]]]
# # GAlignmentsList对象长度8:# # # # GAlignments[[1]]对象2排列和0元数据列:# # seqnames链雪茄qwidth开始结束宽度njunc # # < Rle > < Rle > <人物> <整数> <整数> <整数> <整数> <整数> # # [1]m120n6m chr14 - 66 72 192 19653898 19653707 1 # # [2] chr14 + 7 m1270n65m 72 1342 19653689 19652348 1 ## ------- ## seqinfo: 93因基因组序列# # # #([2])与2 # # GAlignments对象对齐和0元数据列:## seqnames strand cigar qwidth开始结束宽度njunc ## ## [1] chr14 - 66M120N6M 72 19653707 19653898 192 1 ## [2] chr14 + 72M 72 19653686 19653757 72 0 ## ------- # seqinfo: 93序列来自一个未指定的基因组## ## [[3]]## GAlignments对象2对齐和0元数据列:## seqnames链雪茄qwidth开始结束宽度njunc ## <字符> ## [1] chr14 + 72M 72 19653675 19653746 72 0 ## [2] chr14 - 65M120N7M 72 19653708 19653899 192 1 ## ------- ## seqinfo: 93序列来自一个未指定的基因组## ##…## <5个以上的元素>
有关如何使用BAM文件的详细教程,请参阅此详细教程重叠编码基因组比对的小插图。
VCF(变体调用文件)描述了SNP和其他变体。这些文件包含元信息行,带有列名的标题行,然后是(很多!)数据行,每一行都包含基因组中某个位置的信息,以及每个位置的样本可选基因型信息。
数据被解析成一个VCF对象readVcf ()
从VariantAnnoation
library(VariantAnnotation) fl <- system。file("extdata, "chr22.vcf.gz", package="VariantAnnotation") vcf <- readVcf(fl, "hg19")
可以找到一个使用变体的优秀工作流在这里.特别是,它可以读取VCF文件的特定组件(例如,readInfo ()
,readGeno ()
)和部分VCF在特定的基因组位置(使用农庄和param = ScanVcfParam()
输入函数的参数)。
rtracklayer导入和导出功能除了查询和导航UCSC基因组浏览器外,还可以读取许多常见的文件类型,例如,BED, WIG, GTF,…
rtracklayer包含一个' test ' BED文件,我们将在这里阅读
库(rtracklayer) test_path <- system. txt。File ("tests", package = "rtracklayer") test_bed <- File。Path (test_path, "test.bed") test <- import(test_bed, format = "bed") test. Path (test_path, "test.bed"
## UCSC跟踪“ItemRGBDemo”对象,包含5个范围和5个元数据列:# # seqnames范围链|名字分数itemRgb厚# # < Rle > < IRanges > < Rle > | <人物> <数字> <人物> < IRanges > # # [1] chr7 127471197 - 127471197 + | Pos1 0 # FF0000 127471197 - 127471197 # # [2] chr7 127472364 - 127472364 + | Pos2 2 # FF0000 127472364 - 127472364 # # [3] chr7 127473531 - 127474697 | Neg1 0 # FF0000 127473531 - 127473531 # # [4] chr9 127474698 - 127474698 + | Pos3 5 # FF0000 127474698 - 127474698 # # [5] chr9 127475865 - 127477031 | Neg2 5 # 0000 ff 127475865 - 127477031 # # # #块 ## [1] 1-300,501-700,1068-1167 ## [2] 1-1167 ## [2] 1-1167 ## [5] 1-1167 ## ------- ## seqinfo: 2个来自未知基因组的序列;没有seqlengths
文件作为文件返回给用户农庄实例。可以找到更详细的教程在这里
AnnotationHub还包含了各种基因组注释文件(例如BED, GTF, BigWig),这些文件在幕后使用了rtracklayer的import()。有关详细的教程,请参阅用户注释工作流程而且AnnotationHub如何小插图
sessionInfo ()
## R版本4.2.0 RC (2022-04-19 r82224) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 20.04.4 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.15-bioc/R/lib/libRblas。/home/biocbuild/bbs-3.15-bioc/R/lib/libRlapack。所以## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC=C LC_TIME=en_GB ## [4] LC_COLLATE=C LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME=C LC_ADDRESS= c# # [10] lc_phone =C LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基本包:## [1]stats4 stats graphics grDevices utils datasets methods基础## ##其他附加包:# # # # [1] RNAseqData.HNRNPC.bam.chr14_0.34.0 BSgenome.Hsapiens.UCSC.hg19_1.4.3 [3] BSgenome_1.64.0 AnnotationHub_3.4.0 # # [5] BiocFileCache_2.4.0 dbplyr_2.1.1 # # [7] VariantAnnotation_1.42.0 rtracklayer_1.56.0 # # [9] ShortRead_1.54.0 BiocParallel_1.30.0 # # [11] GenomicAlignments_1.32.0 Rsamtools_2.12.0 # # [13] Biostrings_2.64.0 XVector_0.36.0 # # [15] SummarizedExperiment_1.26.0 Biobase_2.56.0 # # [17] MatrixGenerics_1.8.0 matrixStats_0.62.0 # # [19] GenomicRanges_1.48.0 GenomeInfoDb_1.32.1 # # [21]IRanges_2.30.0 S4Vectors_0.34.0 ## [23] BiocGenerics_0.42.0 BiocStyle_2.24.0 ## ## loaded via a namespace (and not attached): ## [1] bitops_1.0-7 bit64_4.0.5 filelock_1.0.2 ## [4] RColorBrewer_1.1-3 progress_1.2.2 httr_1.4.2 ## [7] tools_4.2.0 bslib_0.3.1 utf8_1.2.2 ## [10] R6_2.5.1 DBI_1.1.2 withr_2.5.0 ## [13] tidyselect_1.1.2 prettyunits_1.1.1 bit_4.0.4 ## [16] curl_4.3.2 compiler_4.2.0 cli_3.3.0 ## [19] xml2_1.3.3 DelayedArray_0.22.0 bookdown_0.26 ## [22] sass_0.4.1 rappdirs_0.3.3 stringr_1.4.0 ## [25] digest_0.6.29 rmarkdown_2.14 jpeg_0.1-9 ## [28] pkgconfig_2.0.3 htmltools_0.5.2 fastmap_1.1.0 ## [31] rlang_1.0.2 RSQLite_2.2.12 shiny_1.7.1 ## [34] jquerylib_0.1.4 BiocIO_1.6.0 generics_0.1.2 ## [37] hwriter_1.3.2.1 jsonlite_1.8.0 dplyr_1.0.9 ## [40] RCurl_1.98-1.6 magrittr_2.0.3 GenomeInfoDbData_1.2.8 ## [43] Matrix_1.4-1 Rcpp_1.0.8.3 fansi_1.0.3 ## [46] lifecycle_1.0.1 stringi_1.7.6 yaml_2.3.5 ## [49] zlibbioc_1.42.0 grid_4.2.0 blob_1.2.3 ## [52] promises_1.2.0.1 parallel_4.2.0 crayon_1.5.1 ## [55] lattice_0.20-45 GenomicFeatures_1.48.0 hms_1.1.1 ## [58] KEGGREST_1.36.0 knitr_1.39 pillar_1.7.0 ## [61] rjson_0.2.21 biomaRt_2.52.0 BiocVersion_3.15.2 ## [64] XML_3.99-0.9 glue_1.6.2 evaluate_0.15 ## [67] latticeExtra_0.6-29 BiocManager_1.30.17 httpuv_1.6.5 ## [70] png_0.1-7 vctrs_0.4.1 purrr_0.3.4 ## [73] assertthat_0.2.1 cachem_1.0.6 xfun_0.30 ## [76] mime_0.12 xtable_1.8-4 restfulr_0.0.13 ## [79] later_1.3.0 tibble_3.1.6 AnnotationDbi_1.58.0 ## [82] memoise_2.0.1 interactiveDisplayBase_1.34.0 ellipsis_0.3.2