1R

可扩展统计程序设计语言

1.1R语言

x <- rnorm(50) y <- x + rnorm(50) df <- data.frame(Indep = x, Dep = y) fit <- lm(Dep ~ Indep, df) summary(fit)
## ## Call: ## lm(formula = Dep ~ Indep, data = df) ## ##残差:## Min 1Q Median 3Q Max ## -1.87002 -0.50512 -0.03011 0.55959 1.36743 ## ##系数:## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 0.1898 0.1088 1.745 0.0874。它的# # 1.1713 0.1199 9.771 5.38 e-13  *** ## --- ## Signif。编码:0 '***' 0.001 '**' 0.01 '*' 0.05 '。1 ## ##残差标准误差:0.7692 on 48自由度##倍数r平方:0.6654,调整r平方:0.6585 ## F-statistic: 95.46 on 1 and 48 DF, p-value: 5.385e-13

向量

  • 数字(),字符(),整数(),逻辑(),列表(),…
  • 统计概念:NA,因素()

对象

  • 类:data.frame,lm,矩阵,…

函数、泛型方法

  • rnorm (),lm ();总结()通用的,summary.lm ()方法。

编程结构

  • 应用()(数组),拉普兰人()向量或列表- >列表,酸式焦磷酸钠();if () {} else {},() {}/重复{}
  • function () {}
  • 垃圾收集

1.2

library(ggplot2) ggplot(df, aes(x = Dep, y = Indep)) + geom_point() + geom_smooth(method="lm")

  • 基地,推荐,贡献了
  • 凹口
  • 领域专家+作者关于统计、编程……的“意见”

1.3的帮助!

2Bioconductor

统计分析和理解高通量基因组数据

2.1第一个工作流

suppressPackageStartupMessages({library(Biostrings)}) dna <- DNAStringSet(c("AAACTG", "CCCAACCA")) dna
##长度2 ##宽度SEQ ## [1] 6 AAACTG ## [2] 8 CCCAACCA的Dnastringset实例
reverseComplement (dna)
## # [1] 6 CAGTTT ## [2] 8 TGGTTGGG
  • 生物环境
  • ' S4 '类和方法
  • 可操作的包裹 - 学习合作生物仪器DNAStringSet在其他方面也有回报。

的帮助!

2.2GenomicRanges

suppressPackageStartupMessages({library(GenomicRanges)}) gr <- GRanges(c("chr1:10-19", "chr1:15-24", "chr1:30-39")) gr
## # [3] chr1 [10,19] * ## # [2] chr1 [13,24] * ## [3] chr1 [30,39] * ## # seqinfo: 1个未知基因组序列;没有seqlengths
  • Closed-interval(开始和结束坐标包括在范围内,如集合bl;UCSC使用1/2-open)
  • 基于(如运用;UCSC的使用基于0)

操作

  • 访问器:seqnames (),start (),结束(),宽度(),链()

    宽度(gr)
    ## [1] 10 10 10
  • Intra-range:转移(),狭窄的(),调整大小(),侧面(),限制(),削减()…看到" ? intra-range-methods

    转变(gr, 1)
    ## # [3] chr1 [16,25] * ## [3] chr1 [31,40] * ## # seqinfo: 1个未指定的基因组序列;没有seqlengths
    shift(gr, c(1,2,3))
    ## # [3] chr1 [11,20] * ## # [2] chr1 [17,26] * ## [3] chr1 [33,42] * ## ------- ## # seqinfo: 1个未指定的基因组序列;没有seqlengths
  • Inter-range:range (),空白(),reduce (),分离(),覆盖(),……" ? inter-range-methods

    空白(gr)
    ## # [2] chr1 [1,9] * ## [2] chr1 [25,29] * ## # seqinfo: 1个未指定的基因组序列;没有seqlengths
    减少(gr)
    ## # [2] chr1 [10,24] * ## [2] chr1 [30,39] * ## # seqinfo: 1个未指定的基因组序列;没有seqlengths
    分离(gr)
    # #农庄对象列:4和0元数据链# # # # seqnames范围< Rle > < IRanges > < Rle > # # [1] chr1[10、14]* # # [2]chr1[15、19]* # # [3]chr1 (20, 24) * # # [4] chr1 [39 ] * ## ------- ## seqinfo: 1从一个未指明的基因组序列;没有seqlengths
    (覆盖(gr)、“农庄”)
    ## Granges对象具有6个范围和1个元数据列:## SEQNAMES范围股票|得分##  <铁锯>  |<整数> ## [1] CHR1 [1,9] * |0 ## [2] CHR1 [10,14] * |1 ## [3] CHR1 [15,19] * |2 ## [4] CHR1 [20,24] * |1 ## [5] CHR1 [25,29] * |0 ## [6] CHR1 [30,39] * |1 ## ------- ## SEQINFO:1个未指定的基因组的序列
  • Between-ranges:findOverlaps ()/countOverlaps ();集合操作(例如,联盟(),punion ());subsetByOverlaps ();…

    snps <- GRanges("chr1", IRanges(c(7,12,17,22), width = 1)) snps
    # #农庄对象列:4和0元数据链# # # # seqnames范围< Rle > < IRanges > < Rle > # # [1] chr1 [7] * # # [2] chr1(12、12)* # # [3]chr1[17日17]* # # [4]chr1[22日22 ] * ## ------- ## seqinfo: 1从一个未指明的基因组序列;没有seqlengths
    countOverlaps (gr snps)
    ## [1] 2 2 0
    subsetByOverlaps (snps, gr)
    ## # [3] chr1 [17, 17] * ## [3] chr1 [22, 22] * ## # seqinfo: 1个未指定的基因组序列;没有seqlengths

与范围相关的数据

  • mcols ()或者美元

    gr $ p。value <- runif(3) gr . sh
    与3和1 # #农庄对象元数据列:# # seqnames范围链| p.value # # < Rle > < IRanges > < Rle > | <数字> # # [1]chr1 [10, 19] * | 0.337758973706514 # # [2] chr1 [15, 24] * | 0.0958204425405711 # # [3] chr1[30日39]* | 0.827171147800982  ## ------- ## seqinfo: 1从一个未指明的基因组序列;没有seqlengths

GRangesList

  • 的列表农庄,例如,外显子

    基因<- c(“A”,“A”,“B”)grl <- splitAsList(gr, gene) grl
    # # GRangesList对象长度2:# # # #农庄组织对象与美元2和1元数据列:# # seqnames范围链| p.value # # < Rle > < IRanges > < Rle > | <数字> # # [1]chr1 [10, 19] * | 0.337758973706514 # # [2] chr1 [15, 24] * | B 0.0958204425405711 # # # # # #农庄对象与范围和1元数据列:## seqnames ranges strand | p.value ## [1] chr1 [30,39] * | 0.827171147800982 ## ## ------- ## seqinfo: 1序列来自未指定的基因组;没有seqlengths
  • 一个共同的范例-unlist ()、转换重新刊登()

    gr1一起< - unlist (grl use.names = FALSE) gr1一起neg.log10美元。pvalue <- -log10(gr1$p.value) relist(gr1, grl)
    ## GRangesList对象的长度为2:## $一个## GRangesList对象的2个范围和2个元数据列:## seqnames范围链| p.value negw .log10。pvalue # # < Rle > < IRanges > < Rle > | <数字> <数字> # # [1]chr1 [10, 19] * | 0.337758973706514 - 0.471393103654713 # # [2] chr1 [15, 24] B * | 0.0958204425405711 - 1.01854182771202 # # # # $ # #农庄对象与范围1和2元数据列:# # seqnames范围链| p.value neg.log10。pvalue ## [1] chr1 [30,39] * | 0.827171147800982 0.0824046224239173 ## ## ------- ## seqinfo: 1个未指定基因组序列;没有seqlengths
  • 其他*列表,例如,NumericList ()

seqinfo ()

  • 与之相关的序列农庄或者GRangesList,类似于因子水平。

2.3SummarizedExperiment

  • 协调分析()数据(例如,RNAseq表达式计数)包含行信息(rowData (),例如基因)和列(colData (),如样本)。

示例:'气道' RNAseq数据

suppresspackagestartupmessages({图书馆(气道)})数据(气道)气道
## class: rangedsummarizeexperiments ## dim: 64102 8 ## metadata(1): " ## assays(1): counts ## rownames(64102): ENSG00000000003 ENSG00000000005…LRG_98 LRG_99 ## rowData names(0): ## colnames(8): SRR1039508 SRR1039509…SRR1039520 SRR1039521 ## colData names(9): SampleName cell…样本BioSample
  • 样品信息和协调操作

    colData(气管)
    ## DataFrame with 8 rows and 9 columns ## SampleName cell dex albut Run avgLength ##       ## SRR1039508 GSM1275862 N61311 untrt untrt SRR1039508 126 ## SRR1039509 GSM1275866 N052611 untrt untrt SRR1039512 SRR1039512 126 ## SRR1039513 GSM1275867 N052611trt untrt SRR1039513 87 ## SRR1039516 GSM1275870 N080611 untrt untrt SRR1039516 120 ## SRR1039517 GSM1275871 N080611 trt untrt SRR1039517 126 ## SRR1039520 GSM1275874 N061011 untrt untrt SRR1039520 101 ## SRR1039521 GSM1275875 N061011 trt untrt SRR1039521 98 ## #实验样本bisample ##    ## SRR1039508 SRX384345SRS508568 SAMN02422669 ## SRR1039509 SRX384346 SRS508567 SAMN02422675 ## SRR1039513 SRX384350 SRS508572 SAMN02422670 ## SRR1039516 SRX384353 SRS508575 SAMN02422682 ## SRR1039517 SRX384354 SRS508576 SAMN02422673 ## SRR1039520 SRX384357 SRS508579 SAMN02422683 ## SRR1039521 SRX384358 SRS508580SAMN02422677
    空运[,空运$dex == "trt"]
    ## class: rangedsummarizeexperiments ## dim: 64102 4 ## metadata(1): " ## assays(1): counts ## rownames(64102): ENSG00000000003 ENSG00000000005…LRG_98 LRG_99 ## rowData names(0): ## colnames(4): SRR1039509 SRR1039513 SRR1039517 SRR1039521 ## colData names(9): SampleName cell…样本BioSample
  • 有关兴趣区域的信息(基因,包括外显子坐标)

    rowRanges(气管)
    ## GRangesList对象长度64102:## $ENSG00000000003 ## GRangesList对象17范围和2元数据列:# # seqnames范围链| exon_id exon_name # # < Rle > < IRanges > < Rle > | <整数> <人物> # # [1]X(99883667、99883667)- 667145 | ENSE00001459322 # # [2] X(99885756、99885756)- | 667146 ENSE00000868868 # # [3] X(99887482、99887482)- | 667147 ENSE00000401072 # # [4] X(99887538、99887538)- | 667148 ENSE00001849132 # # [5] X [99888402,99888536) - | 667149 ENSE00003554016  ## ... ... ... ... . ... ...# # [13] X(99890555、99890555)- 667156 | ENSE00003512331 # # [14] X(99891188、99891188)- | 667158 ENSE00001886883 # # [15] X(99891605、99891605)- | 667159 ENSE00001855382 # # [16] X(99891790、99891790)- | 667160 ENSE00001863395 # # [17] X(99894942、99894942)- | 667161 ENSE00001828996  ## ## ...## <64101 more elements> ## ------- ## seqinfo: 722个序列(1个循环)来自一个未指定的基因组
    rowData(气管)$ p。值< - runif (nrow(气管))
  • 获取分析信息(RNAseq计数矩阵在每个感兴趣区域和样品中读取)。

    libSize <- colsum (assay(气道))libSize
    SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 SRR1039517 SRR1039520 ## 20637971 18809481 25348649 15163415 24448408 30818215 19126151 ## SRR1039521 ## 21164133
    $libSize <- libSize table(rowsum (assay(气道))!= 0)
    ## ## FALSE TRUE ## 30633 33469

2.4额外的“核心”基础设施

床,GFF, GTF,…进口

基因集

文件管理

  • BiocFileCache例如,检索远程文件到磁盘,从磁盘读取后续引用。
  • GenomicFiles-对大文件或文件集合的迭代和其他操作(例如,通过染色体VCF文件)。

平行的评价

注释资源

  • biomaRt,KEGGREST…:
  • org。*(例如。,org.Hs.eg.db)包:用于符号映射的6个月快照

    suppressPackageStartupMessages({library(org.Hs.eg.db)}) rowData(airway)$Symbol <- mapIds(org.Hs.eg.db, rownames(airway), " Symbol ", "ENSEMBL")
    ## 'select()'返回1:键和列之间的多个映射
  • TxDb。*(例如。,TxDb.Hsapiens.UCSC.hg38.knownGene)包装:基因模型;GenomicFeatures:makeTxDbFrom……
  • bsgenome。*(例如。,BSgenome.Hsapiens.UCSC.hg38
  • annotationhub.,ExperimentHub

    • 随时可以访问轻度或重度策划的资源
    suppressPackageStartupMessages({library(AnnotationHub) library(ExperimentHub)})查询(AnnotationHub(), c("智人","gtf", "release-90"))
    ## # snapshotDate(): 2017-10-27 ## # names(): AH57150 ## # $dataprovider: Ensembl ## ## $species: Homo sapiens ## ## $rdataclass: GRanges ## # $title: Homo_sapiens.GRCh38.90。gtf ## # $description: Gene Annotation for Homo sapiens ## # $taxonomyid: 9606 ## # $genome: GRCh38 ## # $sourcetype: gtf ## # $sourceurl: ftp://ftp.ensembl.org/pub/release-90/gtf/homo_sapiens/Homo_…## ## # $tag: c("GTF", "ensembl", "Gene", "Transcript", "Annotation") ## ##检索记录的对象[["AH57150"]]'
    查询(AnnotationHub(),“EnsDb”)
    ## # AnnotationHub with 2 records ## # snapshotDate(): 2017-10-27 ## # $dataprovider: Ensembl ## ## $物种:智人## # rdataclass: EnsDb ## #额外的mcls ():taxonomyid基因组,描述,# # # coordinate_1_based,维护者,rdatadateadded, preparerclass, # # #标签,rdatapath, sourceurl, sourcetype # # #检索记录,例如,[[“AH53715”对象 "]]' ## ## 标题# # AH53715 |运用88 EnsDb智人# # AH57757 |运用90 EnsDb智人
    查询(ExperimentHub(),“curatedMetagenomic”)
    ## # snapshotDate(): 2017-10-30 ## # names(): EH549 ## # package(): curatedMetagenomicData ## # $dataprovider: INRA, Institut National de la Recherche Agronomique, US1…## # $species: Homo Sapiens ## # $rdataclass: ExpressionSet ## # $ rdatatateadd: 2017-06-09 ## # $title: 20170526.LeChatelierE_2013.pathcoverage## # $description: Pathcoverage data from LeChatelierE_2013 dataset spec…## ## $taxonomyid: 9606 ## # $sourcetype: FASTQ ## ## $sourceurl: NA ## ## $sourcesize: NA ## ## $tags: c("Homo_sapiens_Data", " rereibleresearresearch ", ## # "MicrobiomeData") ## ## retrieve record with 'object[["EH549"]]'

2.5新兴领域:海量数据

注:需要R-devel / Bioc-devel

  • 访问10x基因组公司“百万神经元”数据集的图书馆
如果(!“TENxBrainData”%in% rownames(installed.packages()))) . biocLite(“LTLA/TENxBrainData”)#从github库安装TENxBrainData
  • 从实验中心检索数据
  • 用DelayedArray (HDF5Array)表示“大”数据
  • 融入了SinglecellexPeriment.
- TENxBrainData() se
## class: singlecel实验## dim: 27998 1306127 ## metadata(0): ## assays(1): counts ## rownames: NULL ## rowData names(2): Ensembl Symbol ## colnames(1306127): aaacctgagagagcggcttc -1…## TTTGTCATCTGAAAGA-133 ## colData names(4):条码序列库鼠标## reducedDimNames(0): ## spikeNames(0):
  • 熟悉对非常大数据的操作,例如,子集和计算
libSize <- colsum (assay(se)[, 1:1000])范围(libSize)
## [1] 1453 34233