保持简单
复制
避免将实验因素与其他因素混淆
记录co-variates
注意批处理的影响
已知的
未知的
替代变量分析
HapMap样品来自一个工厂,按加工日期订购。
的混杂因素
你的文物特定的协议
变化轴
特定于应用程序,例如,
定位策略
感知拼接的对齐器(和Bioconductor包装器)
GenomicAlignments: summarizeOverlaps ()
Rsubread: featureCount ()
独特的统计方面
摘要
归一化
合适的误差模型
预滤器
贷款信息
将不同表达的区域置于上下文中
基因组拷贝数与mRNA表达之间的相关性在TCGA卵巢癌Affymetrix微阵列数据集中鉴定了38个错误标记的样本。
t.test ()
x
:单变量测量向量y
:因素
描述实验设计var.equal = TRUE
:适用于没有额外信息的相对较小的实验?公式
:替代表示法,Y ~ x
.(睡眠)
##额外组ID ## 1 0.7 1 1 ## 2 -1.6 1 2 ## 3 -0.2 1 3 ## 4 -1.2 1 4 ## 5 -0.1 1 5 ## 6 3.4 1 6
图(额外~组,数据=睡眠)
##与(sleep, t.test(extra[group == 1], extra[group == 2]))的传统接口
## ## Welch Two样本t-检验## ##数据:额外的[组== 1]和额外的[组== 2]## t = -1.8608, df = 17.776, p-value = 0.07939 ##替代假设:真正的均值差异不等于0 ## 95%置信区间:## -3.3654832 0.2054832 ##样本估计:## x的均值y的均值0.75 2.33
t.test(额外的组,睡眠)
## ## Welch Two样本t检验## ##数据:额外的组## t = -1.8608, df = 17.776, p值= 0.07939 ##替代假设:均值的真实差异不等于0 ## 95%置信区间:## -3.3654832 0.2054832 ##样本估计:##组1的均值在组2的均值0.75 2.33
t.test(额外~组,睡眠,var.equal=TRUE)
## ##两个样本t-检验## ##数据:额外由组## t = -1.8608, df = 18, p-value = 0.07919 ##替代假设:均值的真实差异不等于0 ## 95%置信区间:## -3.363874 0.203874 ##样本估计值:##组1的均值,组2的均值,## 0.75 2.33
lm ()
而且方差分析()
lm ()
:适合线性模型.方差分析()
:统计评价。线性模型;比较t.test(var.equal=TRUE)拟合<- lm(额外~组,睡眠)方差分析(拟合)
##方差分析表## ##响应:额外## Df Sum Sq Mean Sq F value Pr(>F) ##组1 12.482 12.4820 3.4626 0.07919。##剩余18 64.886 3.6048 ##—##符号。代码:0 '***' 0.001 '**' 0.01 '*' 0.05 '。' 0.1 ' ' 1
公式
:翻译成模型矩阵,用于lm.fit ()
.##底层模型,用于' lm.fit() '模型。矩阵(额外~组,睡眠)#最后一列表示组效应
# #(拦截)group2 # # 1 1 0 # # 2 1 0 # # 3 1 0 # # 4 1 0 0 5 # # 1 # # 6 0 1 0 7 # # 1 # # 8 1 0 0 9 # # 1 # # 10 1 0 11 # # 1 # # 12 1 1 # # 13 1 1 14 # # 1 # # 15 1 1 # # 16 1 1 # # 17 # # 18 1 1 # # 19 1 1 20 # # 1 # # attr(“转让”),# # [1]0 1 # # attr(“对比”)# # attr(“对比”)$ # #集团[1]“contr.treatment”
模型。矩阵(额外~ 0 +组,睡眠)#列之间的对比
# # group1 group2 # # 1 1 0 # # 2 1 0 # # 3 1 0 # # 4 1 1 0 # # 5 0 1 0 # # 7 # # 6 0 1 0 8 # # 1 # # 9 1 0 # # 10 1 0 0 1 # # 12 0 1 # # 11 # # 13 0 1 # # 14 15 0 0 1 # # 1 # # 16 0 1 0 1 # # 18 0 1 # # 17 # # 19 20 0 0 1 # # 1 # # attr(“转让”),# # [1]1 1 # # attr(“对比”)# # attr(“对比”)$ # #集团[1]“contr.treatment”
fit0 <- lm(额外~ ID, sleep) fit1 <- lm(额外~ ID + group, sleep)方差分析(fit0, fit1)
##方差分析表## ##模型1:额外~ ID ##模型2:额外~ ID +组## Res.Df RSS Df Sq F Pr的总和(>F) ## 1 10 19.290 ## 29 6.808 1 12.482 16.501 0.002833 ** ##—##有意义。代码:0 '***' 0.001 '**' 0.01 '*' 0.05 '。' 0.1 ' ' 1
t.test(extra ~ group, sleep, var.equal=TRUE, paired=TRUE)
## ##配对t-检验## ##数据:额外由组## t = -4.0621, df = 9, p-value = 0.002833 ##替代假设:均值的真实差异不等于0 ## 95%置信区间:## -2.4598858 -0.7001142 ##样本估计:##差异的均值## -1.58
genefilter: rowttests ()
x
:表达式值矩阵特征x样本(与“统计学家”表示数据的方式相反——样本x特征)
前沿空中管制官
:描述实验设计的一两个层次的因子
限制
后果
计数因数
.选择:计数~ 0 +因子
和对比计数~协变量+因子
计数因数
或计数~ 0 +因子
计数~因子1 +因子2
;主要效应和相互作用,计数~因子1 *因子2
.对比提出具体问题duplicateCorrelation ()
改编自洛夫、安德斯和胡伯的《生物导体》工作流程
迈克尔·勒夫[1],西蒙·安德斯[2],沃尔夫冈·胡贝尔[2]
[1]丹娜-法伯癌症研究所和哈佛大学公共卫生学院生物统计系,美国波士顿;
[2]欧洲分子生物学实验室(EMBL),德国海德堡。
本工作流程中使用的数据是用地塞米松(一种具有抗炎作用的合成糖皮质激素类固醇)处理的气道平滑肌细胞的RNA-Seq实验。例如,糖皮质激素被用于哮喘患者,以预防或减轻呼吸道炎症。在实验中,四株原代人气道平滑肌细胞系用1微摩尔地塞米松处理18小时。对于每一种细胞系,我们都有一个处理过的和一个未处理过的样本。实验参考如下:
Himes BE, Jiang X, Wagner P, Hu R, Wang Q, Klanderman B, Whitaker RM, Duan Q, Lasky-Su J, Nikolos C, Jester W, Johnson M, Panettieri R Jr, Tantisira KG, Weiss ST, Lu Q.“RNA-Seq转录组分析发现CRISPLD2是调节气道平滑肌细胞细胞因子功能的糖皮质激素响应基因。”公共科学图书馆,2014年6月13日;9(6):e99625。PMID:24926665.地理:GSE52778.
我们使用气道包装说明减少。该包提供了示例信息、八个BAM文件的子集以及计算读取所需的已知基因模型。
库(气道)路径<-系统。文件(package="气道","extdata")
“GSE52778_series_matrix.txt”##[2]“homo_sapiens . grch37.75 _子集。gtf“##[3]”srr1039508_子集。“##[4]”srr1039509_子集。“##[5]”srr1039512_子集。“##[6]”srr1039513_子集。“##[7]”srr1039516_子集。“##[8]”srr1039517_子集。“##[9]”srr1039520_子集。“##[10]”srr1039521_子集。SraRunInfo_SRP033351.csv" ## [12] "sample_table.csv"
用于计数的成分包括:
read.csv ()
.csvfile <- dir(path, "sample_table.csv", full=TRUE)
SRR1039508 GSM1275862 N61311 untrt untrt SRR1039508 126 SRX384345 ## SRR1039509 GSM1275863 N61311 trt untrt SRR1039509 126 SRX384346 ## SRR1039512 GSM1275866 N052611 trt untrt SRR1039513 126 SRX384349 ## SRR1039513 GSM1275867 N052611 trt untrt SRR1039513 87 SRX384350 ## SRR1039516 GSM1275870 N080611 trt untrt SRR1039516 # SRR1039517 GSM1275871 N080611 trt untrt SRR1039517 SRR1039508取样生物样本## #srr508568 samn02422669 ## srr1039509 srs508567 samn02422675 ## srr1039512 srs508571 samn02422678 ## srr1039513 srs508572 samn02422670 ## srr1039516 srr508575 samn02422682 ## srr1039517 srs508576 samn02422673
yieldSize
论点的意思吗?库(Rsamtools)文件名<- dir(路径,”。bam$", full=TRUE) bamfiles <- BamFileList(文件名,yieldSize=1000000) names(bamfiles) <- sub(" _子集。Bam ", "", basename(文件名))
TxDb
包,或由生物技术或UCSC创建,或从一个GTF文件.我们将采取艰难的道路,从用于对齐读取的GTF文件制作TxDb对象,并使用TxDb获得所有外显子,按基因分组。库(基因组特征)gtffile <- file。path(path, "Homo_sapiens.GRCh37.75_subset.gtf") txdb <- makeTxDbFromGFF(gtffile, format="gtf", circ_seqs=character())
##准备元数据帧元数据:好的
- exonsBy(txdb, by="gene")
在这些准备之后,实际的计数就很容易了。这个函数summarizeOverlaps ()
从GenomicAlignments包将执行此操作。这就产生了SummarizedExperiment
对象,其中包含关于实验的各种信息
library(GenomicAlignments) se <- summarizeOverlaps(features=基因,reads=bamfiles, mode="Union", singleEnd=FALSE,忽略。strand=TRUE, fragments=TRUE) colData(se) <- as(sampleTable, "DataFrame") se
##类:summarizeexperiment ## dim: 20 8 ## exptData(0): ## assays(1): counts ## rownames(20): ENSG00000009724 ENSG00000116649…ENSG00000271794 ## ENSG00000271895 ## rowRanges元数据列名(0):## colnames(8): SRR1039508 SRR1039509…SRR1039520 SRR1039521 ## colData names(9): SampleName cell…样本BioSample
colData (se)
运行avgLength ## ## SRR1039508 GSM1275862 N61311 untrt untrt SRR1039509 126 ## SRR1039509 GSM1275866 N052611 untrt untrt SRR1039512 126 ## SRR1039513 GSM1275867 N052611 trt untrt SRR1039516 120 ## SRR1039517 GSM1275871 N080611 trt untrt SRR1039517 126 #### SRR1039508 SRX384345 SRS508568 SAMN02422669 ## SRR1039509 SRX384346 SRS508567 SAMN02422675 ## SRR1039513 SRX384349 SRS508571 SAMN02422678 ## SRR1039516 SRX384353 SRS508575 SAMN02422682 ## SRR1039517 SRX384354 SRS508576 SAMN02422673 ## SRR1039520 SRX384357 SRS508579Samn02422683 ## srr1039521 srx384358 srs508580 samn02422677
rowData (se)
##警告:'rowData'已弃用。##使用“rowRanges”代替。##查看帮助(“已弃用”)
##长度为20的GRangesList对象## $ENSG00000009724## seqnames ranges strand | exon_id exon_name ## | ## [1] 1 [11086580,11087705] - | 98 ENSE00000818830 ## [2] 1 [11090805,11090939] - | 100 ENSE00000743084 ## [4] 1 [11094885,11094963] - | 101 ENSE00000743085 ## [5] 1 [11097750,11097868] - | 103 ENSE00003520086 ## ... ... ... ... ... ... ...## | 111 ense00003467404 ## [15] 1 [11106948, 11107176] - | 112 ense00003489217 ## [16] 1 [11107260, 11107280] - | 113 ense00001833377 ## [17] 1 [11107260, 11107284] - | 114 ense00001472289 ## [18] 1 [11107260, 11107290] - | 115 ense00001881401 ## ##…## <19个更多的元素> ## ------- ## seqinfo: 1个来自未指定基因组的序列;没有seqlengths
(试验(se))
# # SRR1039508 SRR1039509 SRR1039512 SRR1039513 SRR1039516 24 42 # # # # 28 ENSG00000009724 66 ENSG00000116649 1004 1255 1122 1313 1100 218 256 233 252 269 # # ENSG00000120942 # # ENSG00000120948 2751 2080 3353 1614 3519 # # ENSG00000171819 4 50 19 543 1 # # ENSG00000171824 869 1075 1115 1051 944 # # SRR1039517 SRR1039520 SRR1039521 # # ENSG00000009724 41 47 36 # # ENSG00000116649 1879 745 1536 # # ENSG00000120942 465 207 400 # # ENSG00000120948 3716 2220 1990 1067 # # # # ENSG00000171819 10 14Ensg00000171824 1405 748 1590
前一节说明了数据子集上的约简步骤;这是完整的数据集
资料(气道)se <-气道
该对象包含一个信息类colData
槽位-按照手册中的描述准备气道装饰图案。特别是colData ()
包括描述单元系的列细胞
和治疗敏捷
对于每个样本
colData (se)
运行avgLength ## ## SRR1039508 GSM1275862 N61311 untrt untrt SRR1039509 126 ## SRR1039509 GSM1275866 N052611 untrt untrt SRR1039512 126 ## SRR1039513 GSM1275867 N052611 trt untrt SRR1039516 120 ## SRR1039517 GSM1275871 N080611 trt untrt SRR1039517 126 #### SRR1039508 SRX384345 SRS508568 SAMN02422669 ## SRR1039509 SRX384346 SRS508567 SAMN02422675 ## SRR1039513 SRX384349 SRS508571 SAMN02422678 ## SRR1039516 SRX384353 SRS508575 SAMN02422682 ## SRR1039517 SRX384354 SRS508576 SAMN02422673 ## SRR1039520 SRX384357 SRS508579Samn02422683 ## srr1039521 srx384358 srs508580 samn02422677
DESeq2使分析特别容易,只需添加实验设计,运行管道,并提取结果
library(DESeq2) dds <- DESeqDataSet(se, design = ~ cell + dex) dds <- DESeq(dds)
##估计大小因素##估计分散##基因分散估计##均值-分散关系##最终分散估计##拟合模型和测试
Res <-结果(dds)
简单的可视化/健全检查包括
看看强分化基因的计数,了解计数是如何转化为结果表中报告的汇总统计数据的
topGene <- rownames(res)[where .min(res$padj)] res[topGene,]
## log2 fold change (MAP): dex untrt vs trt# # Wald test p-value: dex untrt vs trt# #数据帧1行6列## baseMean log2FoldChange lfcSE stat pvalue ## <数字> <数字> <数字> <数字> <数字> ## ENSG00000152583 997.4398 -4.3161 0.1724125 -25.03357 2.636198e-138 ## padj ## <数字> ## ENSG00000152583 4.624155e-134
plotCounts(dds, gene=topGene, intgroup=c("dex"))
一个“MA”图显示每个基因的组间对数折叠变化与平均对数计数的关系;它应该是漏斗形,周围近似对称y = 0
,对于低计数的基因,在处理之间有很多变化。
plotMA (res ylim = c (5,5))
绘制(未调整的)P值的分布,它应该是均匀的(在null下),但在小P值处有一个峰值(希望是真阳性!)
嘘(res pvalue美元,减免= 50)
观察调整后的p值与对数折叠变化的“火山图”,以了解上调与下调基因的比例
plot(-log10(padj) ~ log2FoldChange, as.data.frame(res), pch=20)
许多额外的诊断方法在DESeq2(和edgeR)小插图中描述,在RNA-seq基因差异表达工作流程中描述。
参见E部分,基因集富集