本文是由比利时列日大学Marc HANIKEN课程整理。陆陆续续交付NE大学1个月完成,根据需要做的内容分为四个部分。
第一部分:将RNA-seq数据提交到组基因
上第第二部分:将把-seq基因数据表达到分析组推荐上,用于生成基因表达分析组,
第三部分使用DESeq包不同差异,
第四部分:对第三部分的表达GO和KEGG评论
RNA-Seq的目标是说明如何处理和分析RNA-Seq的数据以识别差异基因(DGE)。
练习中使用真实的数据集,来自于加州的Illumina的表达基因RNA。
需要做:
1。在参考基因组)(每组参考工具组)(每组工具组)(工具组)上阅读计数,作为替代帽子和排列的策略
;DESeq(R语言)2不同的基因(DGEs)
3)。简单进行数据挖掘(GO和KEGG解释)。
拟植物南芥的基因型(wt 组织模式和多种体型)在(c)和处理(t)条件下处于下。本样品独立株植物实验) 3 3 次 NextSeq 0 仪器以 4 次重复使用Illumina。集群基因组和芯片组在整个组件中运行,使用中和两个 bp 的 5 个端快速介绍。 。
head <your_sample>.fastq
查看每个文件数据的读数:
将所有的样本名称拦截一个文件
,这样方便进行处理。
for f in *.fastq; do echo `basename $f .fastq`; done > samples.ids
在分析Seq -Seq 时,有通用策略在计数之前读取数据时。当这种方法时,虽然看似有某种相似的检测能力,但通常很可能会被认为没有检测到,因为它确实没有什么合适的本机或本类型。 (基因
ii)也可以使用组播组上合适的组播。几乎适用于所有这些。然而,有多种方法可以证明本和本的表达方式不同。
我们将使用流行的帽子,这是将 RNA-Seq 外接阅读与基因组外显子以识别子程序-显式程序的短连接的。更多
点击查看:Tophat链接。
TopHat 如何找到连接点的原理:
TopHat 可以通过注释的情况下将 RNA-Seq 读取到没有参考基因。这个映射信息,TopHat建立一个可能的剪接连接的数据库,然后将读取映射到这些连接以确认它们。
这一段读到这个标题的机子可能有1个00个遗漏或短问题的外显,但会在最初的象征中将比所有的内容都被更多地漏掉。独立映射这些。
TopHat 两个约定生成可能的剪接点数据库。这种情况,“GTAG”、“GC-AG”和“AT-AG”和“AT-AG”和“AT-AG” AC“通常在其中含有不同品种的标题寻找。第二个来源是“封面年龄的岛屿”的开始,是最终中部的中部地区寻找到的。将这些内含子连接起来的方法。我们只建议第二个选项(--coverage-search)用于将短读取(<45bp)和用户读取(<=1000万)。后一个选项对“GT-AG”内含子之间的比。
Tophat可以使用FASTA,FASTQ(推荐)格式的读取。
想要使用这个软件,首先需要使用一下命令:
蝶领结擅长使用一种超高配的技术,用于与组合工具和排列组合。 Bowtie 2 保持珠宝形状使用组合(基于Browtie 2 对BWT 进行),通常其占用或占用的内存大小。 Bowtie 2 的结构需要占用多少个内存。双端模式。同时可以使用多个处理器来更高的关注度。
Bowtie 2 以SAM 格式输出的其他方式,以SAM格式输出的其他方式,使用授权文件和大量使用同样的工具(SAMtools、GATK 的许可互操作)。Bowtie 2GPLv3 在和下分发,Mac OS X Linux BSD 和它在Windows 下的运行。
Bowtie 2和Bowtie 2和Bowtie BS (这里也叫“集成1 ” sowtie 2和Bowtie BS)通常是比较多种其他学组的,包括变异、RNA-seq、Ch IPeq。工具中,这里有其中一些。
要与 Tophat 的连接点,您首先需要为 RNA-Seq 中的生物体安装蝴蝶结指数。使用 bowtie2-build 很容易自己制造一个。
Bowtie2 从 bowtie 索引中提取信息,允许确定它是什么索引以及使用什么序列来制造它。
通过基因特征(例如外含子/内含子描述格式组的基因组)提供的基因组注释文件,可以帮助通过顶帽在基因组上进行读取映射。 注释文件以 GFF/GTF 提供。
Tophat 使用的基因组注释文件就是 GFF/GTF
格式。
GTF(general transfer format)是GFF第二个版本,
给定一个具有组合范围的基因的文件,htseq-count 会计算出有多少读取的特征映射到某个特征列表。 - 在每个情况下,特征通常是每个基因被结合的,其中所有外显子的地方也可以显示子的一个特征,例如,为了检查。对于比较 ChIP-Seq,特征可能是列表中的结合区域。
htseq-count 脚本允许在不同模式之间进行选择。 hts-count 的位置重叠模式的工作原理如下:定义一个集合 S(i) 的位置为我重叠的特征的集合。然后,考虑集合 S,它是(我遍历或读取对中的所有位置)
如果S(i) 的交集,S(i) 的所有非空集。
如果交集包含一个特征,则该特征计算可读取(或读取对)。它包含多个特征,则可读取(或非模式)读取对)计为不明确的特征(不计入任何特征,如果S为,则读取(或对)计为no_feature。
看图更清晰的理解:
网址:https://www.araport.org/(需要注册)
也可以使用以下命令:
curl -sO -H 'Authorization: Bearer <your_id_key>' https://api.araport.org/files/v2/media/system/araport-public-files// \
TAIR10_genome_release/assembly/TAIR10_Chr.all.fasta.gz
curl -sO -H 'Authorization: Bearer <your_id_key>' https://api.araport.org/files/v2/media/system/araport-public-files// \
Araport11_latest/annotation/Araport11_GFF3_genes_transposons.201606.gff.gz
curl -sO -H 'Authorization: Bearer <your_id_key>' https://api.araport.org/files/v2/media/system/araport-public-files// \
Araport11_latest/annotation/Araport11_GFF3_genes_transposons.201606.gtf.gz
为拟南芥编制索引,花费2分钟
bowtie2-build Arabidopsis.fasta At_ref
检查指数,几秒钟
bowtie2-inspect -n At-ref
内容为存在以逗号隔FA打开的FASTQ或STA格式文件
一般使用命令:
更多的选择阅读文档
其中: --num-threads 4 ##可以多线程
--output-dir <string> ## tophat输出结果的文目录
--min-intron-length <int> ##内含运行子的长度:默认700
--intron-length <intmax的长度>:
TopHat <GTF/0000000000000000-G--GTF <GTF3文件> #默认为模型50--提供基因组内和/或已知作为 GFF3 的最佳主题,该格式的主题图 2 将按顺序排列。在一张组上进行映射的地图将被转换为组图(并描绘出新的描绘需要)中的映射和连接点与顶层。
请注意,所提供的 GTF/GFF 文件的第一个索引(指示特征所在的染色体相列或重叠群的列)的必须与 TopH 的 Bowtie-中的参考值。您可以使用序列匹配检查进行
。蝴蝶结指数,以便将与预期的本图显示。和相关的这些数据(如果 GFF 文件最初可以在此使用选项的多个 TopHat 中运行,因此文件仅针对给定的本计划数据的第一次使用创建。该顶帽子,则应首先使用 -G/---G 脚本的位置以及指向目录和名称标题的标题,然后将标题显示的主题目录和标题目录的选项运行的选项将显示在顶部的主题目录中。 -- 将运行的中转脚本-将使用顶部的运行脚本-创建使用直接在第一次运行选项组的数据(第一次选项后需要的组数据)。
软参考链接组基因的FASTA:
ln -s Arabidopsis.fasta At_ref.fa
创建简单的索引。立即创建,方便使用所有样本,简单组图 5 分钟
tophat -G Arabidopsis.gtf --transcriptome-index=transcriptome_data/At_ref At_ref
会在transcriptome_data/下产生10个文件
映射阅读,先创建一个模板
tophat -o output_[% basename %] --read-mismatches 2 --min-intron-length 40 --max-intron-length 2000 --num-threads 2 --report-secondary-alignments --no-novel-juncs --transcriptome-index=transcriptome_data/At_ref At_ref [% basename %].fastq
样品创建一个灰
for f in `cat samples.ids`
do tpage --define queue=smallnodes --define basename=$f tophat.tt > tophat_$f.sh
done
提交任务:
for f in `cat samples.ids`
do qsub -pe snode 2 tophat_$f.sh
done
此步骤费用大约 1 小时
查看任务
qstat -f
对所有的样本进行总结查看
for f in `cat samples.ids`
do head output_$f/align_summary.txt
done
-s <yes/no/reverse>
数据是否来自特定链的检测(默认:yes)。 上双浅=no,无论是映射到特征还是相同的链,都读取与特征值重叠。 strand=reverse,这些规则是相反的。
htseq-count -f bam -s reverse output_[% basename %]/accepted_hits.bam Arabidopsis.gtf
运行花费半个小时。
贝壳命令
for f in <your_name>_htseqcount_*.o*; do tail -n 5 $f; done
基因的名字
cut -f1 <your_name>_htseqcount_<your_sample>.o<job_number> > gene_lists
识数
for f in `cat samples.ids`
do cut -f2 <your_name>_htseqcount_$f.o* > $f.count
done
paste gene_lists *.count > <your_name>_htseqcount.matrix
尺蠖——长短的本序列,通常能够以同样的方式组装成不同类型的本子,通常为类型生成全长RNA本,但只要报告播种接本本的独特部分。
这些蛹的连续性将菊花的排列组合成簇,并为各个簇集组成。de Bruijs 在簇代表基因(或随后的排列顺序的组图)的完整不相交交性。间划分完整的阅读集。
蝴蝶源处理本本图,跟踪图片阅读和阅读,最终报告出同种类型的全长接续本,并播出基因于旁系同种的剧情。
2组组您需要分析
完成后,可以进行分析,以便根据预测和输入的 RNA-S-A 数据探索体模型的相关参数。
其他分析先决条件,例如用不同的表达方式举例说明的本。
如果你的样本和产品的基因数据重复存在并进一步检查相关关系。如果检查或复制或检查异常值的组合因素,例如异常值的组合结果,你将在任何混杂的情况下发现你的样本和生物。数据探索中考虑到他们。
进行差异表达分析。Trinity 直接支持阿德莱德分析方法,包括 edgeR、DESeq2、Limma/Voom 和 ROTS。
提取使用的编码区TransDecoder和功能注释使用的成绩单Trinotate。
如果您的身体拥有组件的基因,请考虑使用 Trinity 组合组合讨论使用PASA进行结构。
分析使用每一个脚本:使用对齐的工具进行统计分析。因此,我们将使用对齐的工具来展示
代码。使用SEM的一个例子,其应用程序的一个问题是如何处理数据的不同类型的。 RSEM双端数据分别采用不同类型的RNA-Seq,分别从不同头型和类型端进行衡量基因组。
请注意
,Trinity 提供了一个密切关注和高清晰的收视率统计方案。
3
必须提供数据标准的日历统计方法(如指数或数字各种统计。)的预告统计片提供,另外还提供了预告到本刊的预告,该预告片还应报道长短片、发布到每个千月的预告图,以及发布任何本期的预告。本千报告为本本长的图片(FPKM)或每本本(TPM)的长展示。
来自Araport,需要登录进行免费注册。再使用以下代码获取。
curl -sO -H 'Authorization: Bearer <your_id_key>' https://api.araport.org/files/v2/media/system/araport-public-files// \
Araport11_Release_201606/annotation/Araport11_genes.201606.cds.fasta.gz
使用ltrinity的perl命令:align_and_estimate_abundance.pl,可以对所有样本一次完成。
perl /media/vol1/apps/trinityrnaseq-2.2.0/util/align_and_estimate_abundance.pl --transcripts Arabidopsis_transcripts.fasta --est_method RSEM --aln_method bowtie2 --prep_reference --output_dir ref_transcriptome_index
这个过程花费大约5分钟,会生成14个文件,包含.bowtie2 .和.RSEM
使用 ltrinity 的 perl 命令:align_and_estimate_abundance.pl,并使用 RSEM 估计方法
2建立gene_trans_地图
需要快速编排的文件,并且需要我们安排一个由安排快速编排的文件,以一个中的指挥安排名称的方式
的文件、外壳的意思
grep \> Arabidopsis_transcripts.fasta | cut -f2 -d '>' | cut -f1 -d '|' > transcripts.ids
# Let's paste twice this list in the same file
$ paste transcripts.ids transcripts.ids > double_transcripts.ids
$ head double_transcripts.ids
# And apply the following perl one liner to remove the transcript number
# from 1st column
$ perl -nle 's/^(AT\w+)\.\d+/$1/g; print' double_transcripts.ids > gene_trans_map.txt
3、进行地图和计数
使用模板:
perl /media/vol1/apps/trinityrnaseq-2.2.0/util/align_and_estimate_abundance.pl --transcripts Arabidopsis_transcripts.fasta --seqType fq --single [% basename %].fastq --est_method RSEM --aln_method bowtie2 --SS_lib_type R --thread_count [% thread %] --gene_trans_map gene_trans_map.txt --output_prefix [% basename %] --output_dir trinity_[% basename %]
创建多个样本的sh文件:
for f in `cat samples.ids`
do tpage --define queue=smallnodes --define basename=$f --define thread=2 trinity_align_estimate.tt > align_estimate_$f.sh
done
提交任务:
for f in `cat samples.ids`
do qsub -pe snode 2 align_estimate_$f.sh
done
这大概要花90分钟
再看看你的结果:
使用:trinity下的abundance_estimates_to_matrix.pl命令
将
非常简单地创建一个矩阵,将所有样本的脚本数据组合。
perl /media/vol1/apps/trinityrnaseq-2.2.0/util/abundance_estimates_to_matrix.pl --est_method RSEM trinity_*/*.genes.results --out_prefix <your_name>
大概需要2分钟
该脚本输出多个文件
。 (未跨样本归一化)和TMM归一表达值矩阵(应用了跨样本归一化)。有关此查看更多详细信息:https://github.com/trinityrnaseq/trinityrnaseq/wiki/Trinity -成绩单-量化
详细文档介绍:https://bioconductor.org/packages/release/bioc/html/DESeq2.html。
允许估计来自高均等模型和 GLM 的分析值(基于 2 个基于使用负二的分布)。
DESeq2将首先对数据进行建模的例子。
这里可以从设置的系数开始,
就
可以确定。的子函数,用于第一次存储计算和差异表达式分析的结果、数据集在“计数”矩阵中强制输入的非任务值,作为分析列表中的一个元素存储。实验设计的表达式。
使用:DESeqSetFromMatrix(countData, colData, DESeqSetFromMatrix(countData, colData, 公式
设计:设计一个来每个基因的排列方式) 是公式中的公式。 colData 中的表达式公式,包括具有多个变量的设计元素,例如:输入组组基因,以及为各种结果+结果的设计,例如类型+治疗基因型:治疗基因型。查看设计的
选择矩阵
。
2 DESeq DESeq
数据基于负二项格式进行差异分析。 它通过以下步骤执行默认分析:
· 估计大小:estimateSizeFactors
· 估计色散:estimateDisions
· 二项式 GLM 负测试和 Wald 统计:统计
有关每个步骤的详细信息,请参阅相应手册页。调整值的信息,请参见结果手册页。
使用DESeq(object),是一个DESeqDataSet的对象。如:DESeqDataSetFromMatrix。
3
DESeq 中抽取结果表,样本的基本均值2 对数变化、标准结果分析结果和检验结果的倍数、检验统计量、p 后的p 调整。
结果名称 返回模型的估计模型(因子)的名称
。
results(object, contrast, lfcThreshold = 0, alpha = 0.1)
resultsNames(object)
参数是DESeqDataSet已经在其上调用中以下函数: DESeq 、bino值对比WaldTest或nbinomLRT之一,对比值比较变化
从生成结果表。
lfcThres
0 是一个负值,指定log2非倍数的母值参数公式,值为 0,log2 倍数的名称是最常用的值。 log2 倍数的默认值变化的测试。
alpha 优化的显着性结束值(默认为 0.)。如果调整的 p 最终值 (FDR) 为 1,则 alpha 应设置为该值。
plotCounts
plotCounts 允许在对数字上为 0.1 使用:plotCounts
( dds, gene, in = 'condition')
dds 是 DESeqDataSet.,gene 是一个特殊的基因,intgroup:在colData(x)中,进行分组的名称。
library(BiocManager)
BiocManager::install('openssl')
BiocManager::install('RCurl')
BiocManager::install(c('DESeq2','limma','gplots'), force = T)
我们将在下面发现的基因需要允许需要的 R 脚本。您在里面按顺序添加每个新步骤。然后,根据 DGE 的治疗类型(Ctrl vs Treat),最后治疗对各个种的类型。基因中必须考虑到这一点。
Step 1. 加载数据并描述数据集
#Load data
countData=read.table('tophat_root.matrix',header=TRUE,row.names=1,sep='\t')
head(countData)
#Describe the dataset for each variable
genot=rep(c('WT','mut'),each=6)
treat=(rep(rep(c('Ctrl','Treat'),each=3),2))
g_t=rep(c('WT-Ctrl', 'WT-Treat', 'mut-Ctrl', 'mut-Treat'),each=3)
#Load dataset description in a data frame
colData=data.frame(g_t,genot,treat,row.names=names(countData))
colData
步骤 2. 建立基因型响应分析模型
#Genotype effect
#####
#Load data using the DESeqDataSetFromMatrix command
genotDesign=DESeqDataSetFromMatrix(countData = countData,colData = colData,
design = ~ genot)
#Build model using the DESeq command
genot_DESeq <- DESeq(genotDesign)
#Observe parameters of the model
resultsNames(genot_DESeq)
步骤 3. 使用 PCA 对数据进行汇总统计
rld<-rlog(genot_DESeq)
#tiff(filename = 'PCA_genot.tiff', width = 1500, height = 1500, units = 'px', res = 150)
plotPCA(rld, intgroup=c('g_t'))
dev.off()
Step 4. 建立样本距离的热图
#Build sample distance
sampleDist <- dist(t(assay(rld)))
#Build heatmap
sampleDistMatrix<-as.matrix(sampleDist)
rownames(sampleDistMatrix)<-paste(rld$g_t)
colnames(sampleDistMatrix)<-NULL
colours=colorRampPalette(rev(brewer.pal(9, 'Blues')))(300)
tiff(filename = 'heatmap_sampledist_Treat_root.tiff', width = 1500,
height = 1500, units = 'px', res = 150)
heatmap.2(sampleDistMatrix, dendrogram = 'both', trace = 'none', col = colours,
main = 'Treat Root Sample Distance', margin=c(6, 8))
dev.off()
步骤 5. 识别基因型主动的 DGE
#Extract results (contrast WT and mutant) with set lfc and pvalue
res_genot=results(genot_DESeq, contrast = c('genot', 'mut', 'WT'),
lfcThreshold = 1, alpha = 0.05)
#Observe the summary of the analysis
summary(res_genot)
#Look at the results
head(res_genot,2)
#Export data into a table
write.table(res_genot,'pairwise_root_WT_vs_mut.txt',sep='\t')
#Filter data to extract up-regulated genes with a certain lfc and pvalue
fc_genotM<- res_genot[which(res_genot$log2FoldChange > 1 & res_genot$padj<0.05),]
#Filter data to extract down-regulated genes with a certain lfc and pvalue
fc_genotL<- res_genot[which(res_genot$log2FoldChange < -1 & res_genot$padj<0.05),]
#Export data into tables
write.table(fc_genotM,'root_higher_mut_vs_WT.txt',sep='\t')
write.table(fc_genotL,'root_lower_mut_vs_WT.txt',sep='\t')
步骤 6。
plotCounts(genot_DESeq, 'AT2G19110', intgroup = 'genot')
我们非常容易和我们一起使用 GE 数据集进行的数据接口。 Thalemine 非常容易获得相关数据集的功能。
https://bar.utoronto.ca/thalemine/
为了使用这个,我们首先需要从DESeq中
生成2个提取DESeq的文件(8个生成对.txt,8个工具对.txt和8个过滤低解析)。列表的数据我们只生成一个对high.txt和lower.*txt文件部分。
使用外壳对文件信息提取,并进行合并:
mkdir full_DGE_data
mv pairwise*.txt full_DGE_data
ls
# have a look at one of the files
head higher_root_Ctrl_mut_vs_WT.txt
cut -f2 -d ''' higher_root_Ctrl_mut_vs_WT.txt | head
cut -f2 -d ''' higher_root_Ctrl_mut_vs_WT.txt | sed '1d' | head
# Let's do that for all files
for f in *root*.txt; do cut -f2 -d ''' $f | sed '1d' > $f.gene.list; done
ls
联系客服