科学网

 找回密码
  注册

tag 标签: tophat

相关帖子

版块 作者 回复/查看 最后发表

没有相关内容

相关日志

转录组数据的分析
pujvzi 2018-9-8 11:21
转录组数据的分析 (1) 转录组测序 , 以两组比较实验为例 , 实验组为 T, 对照组为 C, 每组三个重复 ,T1,T2,T3,C1,C2,C3。 诺禾致源返回的文件为 T1_1_clean.fq,T1_2_clean.fq,T2_1_clean.fq,T2_2_clean.fq,T3_1_clean.fq,T3_2_clean.fq,C1_1_clean.fq,C1_2_clean.fq,C2_1_clean.fq,C2_2_clean.fq,C3_1_clean.fq,C3_2_clean.fq。 需要注意 : 如果测序结果中含有接头序列 , 需要剔除 。 (2) 分析方法参考文献 ”Differential gene and transcript expression analysisssss of RNA-seq experiments with TopHat and Cufflinks“。 (3) 操作系统 : 乌班图优麒麟 (4) 软件安装 : 在 /home/usrname/ 文件夹 ( 也就是 ~/) 下建立 bin 文件夹 : # mkdir /home/ usrname /bin 。 将这个文件夹添加到系统路径中 # export PATH=$PATH:/home/ usrname /bin ( 如不了解此命令 , 可以到网上查 , 不要把默认的系统路径删除 )。 (5) 下载 samtools(samtools-0.1.17.tar.bz2, 版本可以改变 , 但我这里没有试过 , 过高的版本需要配置 );bowtie(bowtie-0.12.7 的 linux 的二进制版本 , 太高版本需配置参数 );tophat(1.3.2 的 linux 的二进制版本 )。 解压了 bowtie 和 tophat 压缩包后 , 里面的二进制文件全部拷贝到 /home/usrname/bin 下 。 解压 samtools 后 , 进入文件夹 ,# make, 然后文件夹里生成可执行文件 samtools, 将之拷贝到 /home/usrname/bin 下 。 (6) 在 ~ 文件夹下新建文件夹 , 比如 “RNAseq_XXX”, 将诺禾致源返回的 clean.fq 文件拷贝进去 ( 如果为 fq.gz, 则 # gunzip ./* , 将之解压 )。 (7) 建立基因组索引文件 , 并下载 GTF(General/Gene transfer format) 文件 。 首先 , 下载基因组序列 ( 注意基因组的版本号与注释文件的版本号要一致 )。 比如 , 下载 UCSC hg38 基因组 http://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz。 可以将基因组文件合并 , 用 cat *.fa XX.fa, 也可以不合并 。 基因组文件下载完毕之后 ,# bowtie-build 基因组 .fa 基因组名 ( 比如 hg19.fa, 可以写 hg19, 此是 bowtie 生成的基因组文件的前缀 )。 GTF 文件可以用如下方式下载 : http://genome.ucsc.edu/cgi-bin/hgTables, \0 \0 点击 get output。 (8) 比对 ( 此步骤耗费很长时间 , 可多线程并行 , 但不解决速度问题 。 我的每个重复耗时一天 , 则大约一周运行完 。)。 建立符号链接 #ln -s GTF_file_path workingDirectoryPath,#ln -s Bowtie_index_filePath/* workingDirectoryPath。 如果不创建符号链接 , 可能会报错 。 # tophat -p 8 -G GTF 文件路径 -o TH_ 输出文件的文件夹 基因组索引位置 ( 所在文件夹 / 索引前缀 ) fq 文件 ( 可以多个 , 中间以空格分开 )。 这一步运行完之后 , 会生成日志文件夹 、accepted_hits.bam 文件 、deletions.bed 文件 、insertions.bed 文件 、junctions.bed 文件 、left_kept_reads.info 和 right_kept_reads.info 文件 。 (9) 运行完以上程序 , 或每个重复运行完后 , 执行如下命令 : # culllinks -p 8 -o CL_ 输出文件夹 TH_ 输出文件的文件夹 /accepted_hits.bam 这步运行完后 , 会生成四个文件 :genes.fpkm_tracking,isoforms.pfkm_tracking,skipped.gtf,transcripts.gtf。 (10) 整合转录组注释 。 先构建一个文档文件 , 名为 assemblies.txt, 内容如下 ./ CL_ 输出文件夹 1/transcripts.gtf ./ CL_ 输出文件夹 2/transcripts.gtf ./ CL_ 输出文件夹 3/transcripts.gtf ./ CL_ 输出文件夹 4/transcripts.gtf ./ CL_ 输出文件夹 5/transcripts.gtf ./ CL_ 输出文件夹 6/transcripts.gtf 然后 # cuffmerge -g GTF 文件路径 -s 基因组 .fa 8 assemblies.txt 漫长的等待后 ( 一个小时 ) (11) 鉴定差异表达基因 。 # cuffdiff -o diff_out -b 基因组 .fa -p 8 -L group1Name,group2Name( 注意逗号 ) -u merged_asm/merged.gtf ./ TH_ 输出文件的文件夹 1accepted_hits.bam , ./ TH_ 输出文件的文件夹 2accepted_hits.bam , ./ TH_ 输出文件的文件夹 3ccepted_hits.bam( 注意粉色逗号 ) ( 此处有空格 , 前边是第一组的 bam 文件 , 后边是第二组的 bam 文件 )./TH_ 输出文件的文件夹 1accepted_hits.bam,./TH_ 输出文件的文件夹 2accepted_hits.bam,./TH_ 输出文件的文件夹 3ccepted_hits.bam 漫长的等待后 ( 大概 24 小时 ), 将 diff_out 文件夹拷贝到 windows 系统 , 分析结果 。
个人分类: 生信|11843 次阅读|0 个评论
FPKM, RPKM, RPM以及TPM的关系之见解
热度 1 hayidahubei 2017-3-10 09:50
FPKM ,RPKM,RPM以及TPM的关系之见解 RPKM : Reads Per Kilobase of exon model per Million mapped reads ( 每千个碱基的转录每百万映射读取的 reads) FPKM : Fragments Per Kilobase of exon model per Million mapped fragments( 每千个碱基的转录每百万映射读取的 fragments) RPM/CPM : Reads/Counts of exon model per Million mapped reads ( 每百万映射读取的 reads) TPM : Transcripts Per Kilobase of exon model per Million mapped reads ( 每千个碱基的转录每百万映射读取的 Transcripts) ##################################################################### RPKM (Reads Per Kilobase Million) FPKM (Fragments Per Kilobase Million) TPM(Transcripts Per Kilobase Million) RPM (Reads per million) CPM (Counts per million) ##################################################################### FPKM ( 推荐软件, cufflinks/Stringtie) 和 RPKM ( 推荐软件, Range/Deseq) 的计算方法基本一致,公式如下 ( 外显子的表达 ) : RPKM= total exon reads/ (mapped reads (Millions) * exon length(KB)) 你可以用这个公式计算基因,外显子,转录本的表达,这里以基因的表达为例进行说明: total exon reads:某个样本mapping到特定基因的外显子上的所有的reads mapped reads (Millions) :某个样本的所有reads总和 exon length(KB):某个基因的长度(外显子的长度的总和,以KB为单位) 在一个样本中一个基因的 RPKM 等于落在这个基因上的总的 read 数 ( total exon reads ) 与这个样本的总 read 数 ( mapped reads (Millions) ) 和基因长度 ( exon length(KB) ) 的乘积的比值。 ##################################################################### 而 RPM 的计算公式: RPM=total exon reads / mapped reads (Millions) RPM per gene is calculated as the number of reads per gene divided by the number ofsingle-mapping reads per sample library times one million ##################################################################### 而 TPM ( 推荐软件, RSEM/Stringtie) 的计算公式: TPM i =(N i /L i )*1000000/sum(N i /L i+……..+ N m /L m ) N i:mapping到基因i上的read数; L i: 基因i 的外显子长度的总和 在一个样本中一个基因的 TPM :先对每个基因的 read 数用基因的长度进行校正,之后再用校正后的这个基因 read 数 (N i /L i ) 与校正后的这个样本的所有 read 数 ( sum( N i /L i+……..+ N m /L m ) ) 求商 。 ##################################################################### FPKM 和 RPKM 的区别就是一个是 fragment, 一个是 read. 对于单末端测序数据 , 由于 Cufflinks 计算的时候是将一个 read 当做一个 fragment 来算的 , 故而 FPKM 等同于 RPKM. 对于双末端测序而言 , 如果一对 paired-read 都比对上了 , 那么这一对 paired-read 称之为一个 fragment , 而如果一对 paired-Read 中只有一个比对上了 , 另外一个没有比对上 , 那么就将这个比对上的 read 称之为一个 fragment. 而计算 RPKM 时 , 如果一对 paired-read 都比对上了会当成两个 read 计算 , 而如果一对 paired-read 中只有一个比对上了 , 另外一个没有比对上 , 那么就计 read 数为 1. 故而即使是理论上将各个参数都设置成一样的 , 也并不能说 FPKM=2RPKM. 对于单末端测序 , 虽然理论上 FPKM 等同于 RPKM, 但是实际上即使是使用同一个 mapping 软件得到的 mapping 结果 , 然后再分别去计算同一个基因的 RPKM ( 自己人工计算,或者用现成的一些软件都能算 ) 和 FPKM ( 用 Cufflinks/Stringtie 计算 ) , 结果却仍然是不同 , 因为 不同软件 有自己的模型和自己的一些内在算法。 RPM 与 RPKM 的区别看公式或者全称就能看出来,就不赘述了! 不管是计算 FPKM 、 RPKM , 还是计算 TPM , 我们都要先得到一个 ReadCount 的矩阵(行为基因 , 列为样本). 在计算 FPKM 和 RPKM 时,都是先按列(也就是这个样本的总 read 数)进行标化 , 之后再对对个基因的长度进行标准化 , 而 TPM 是先对基因长度进行标准化 , 之后再对列(这个时候就不再是这个样本的总 read 数了)进行标化. 这样使得最终的 TPM 矩阵的每列都相同(列和都等于 1000000 ) , 也就是说每个样本中的 TPM 的和都是一样的. 这样理论上就会使得我们更容易去比较同一个基因在不同样本中所占的 read 数的比例. 而 RPKM/FPKM 由于最终的表达值矩阵的列和(有效的read总数,测序深度)不同,故而理论上不方便直接比较同一个基因在不同样本中所占的 read 数的比例. 虽然上面说了对于单末端测序数据 , FPKM 等同于 RPKM. 但是不论是单末端测序还是双末端测序 , Cufflinks 的表达值的单位都是 FPKM , 至于在单末端测序数据下 , Cufflinks 的表达值的单位用 RPKM 代替 FPKM , 个人仍旧是持反对意见的。 以上有些结论仅仅只是个人观点 , 如果有高见 , 希望能够共同探讨!
个人分类: RNA_seq处理|57034 次阅读|3 个评论
转录组数据分析之tophat篇
热度 2 bioseq 2012-9-7 16:13
TopHat简介 TopHat 是一个基于Bowtie的RNA-Seq数据分析工具。它可以快速确认exon-exon剪切拼接事件。TopHat有Linux和OS X x86_64编译版本,当然也可以使用 原代码 编译适合自己操作系统的版本。 其上游软件是 Bowtie ,下游是 Cufflinks 。 理论上,TopHat是针对Illumina Genome Analyzer而设计的软件,它偶尔也能对其它来源的数据进行分析,但不保证成功。它针对75bp以上长度的短序进行了优化。 在使用TopHat前,必须将 Bowtie 的可执行文件的目录输出到PATH变量中去,例: export PATH=$PATH:/share/sbin/bowtie 确保TopHat可以运行bowtie, bowtie-inspect以及bowtie-build。 还需要 下载安装samtools 。 Tophat的安装: 可参见贴子 ,可参见贴子: http://seq.cn/forum.php?mod=viewthreadtid=678 TopHat的使用范例: tophat * ebwt_base reads1_1 tophat的参数,解释其中一部分: -o/--output-dir string 输出目录。默认值为 “./tophat_out”. -r/--mate-inner-dist int 比对时两成对引物间的距离中值。比如说,如果你的插入片段有300bp,而每个引物有50bp,那么r值就应该是200=(300+50*2)/2。没有默认值,如果是末端配对比对时这个值是必须的。 --mate-std-dev int 末端配对时中间插入片段的长度的标准差,默认值为20bp -a/--min-anchor-length int 锚定点长度”anchor length”. TopHat可以判断junction(剪切拼接)。这需要设定锚定点的最短长度,最短不能少于3,默认值为8 -m/--splice-mismatches int 锚定点范围内错配的个数。默认值为0 -i/--min-intron-length int 最短的内含子长度。默认值为70 -I/--max-intron-length int 最长的内含子长度。默认值为500000. --max-insertion-length int 比对时插入错配最长的长度,默认值为3. --max-deletion-length int 比对时缺失的最长长度,默认值为3. 参考资料 http://seq.cn/forum.php?mod=viewthreadtid=1650extra=page%3D1
7521 次阅读|3 个评论
[转载]转录组数据分析之tophat篇
bioseq 2012-9-4 10:49
TopHat简介 TopHat 是一个基于Bowtie的RNA-Seq数据分析工具。它可以快速确认exon-exon剪切拼接事件。TopHat有Linux和OS X x86_64编译版本,当然也可以使用 原代码 编译适合自己操作系统的版本。 其上游软件是 Bowtie ,下游是 Cufflinks 。 理论上,TopHat是针对Illumina Genome Analyzer而设计的软件,它偶尔也能对其它来源的数据进行分析,但不保证成功。它针对75bp以上长度的短序进行了优化。 在使用TopHat前,必须将 Bowtie 的可执行文件的目录输出到PATH变量中去,例: export PATH=$PATH:/share/sbin/bowtie 确保TopHat可以运行bowtie, bowtie-inspect以及bowtie-build。 还需要 下载安装samtools 。 Tophat的安装: 可参见贴子 ,可参见贴子: http://seq.cn/forum.php?mod=viewthreadtid=678 TopHat的使用范例: tophat * ebwt_base reads1_1 tophat的参数,解释其中一部分: -o/--output-dir string 输出目录。默认值为 “./tophat_out”. -r/--mate-inner-dist int 比对时两成对引物间的距离中值。比如说,如果你的插入片段有300bp,而每个引物有50bp,那么r值就应该是200=(300+50*2)/2。没有默认值,如果是末端配对比对时这个值是必须的。 --mate-std-dev int 末端配对时中间插入片段的长度的标准差,默认值为20bp -a/--min-anchor-length int 锚定点长度”anchor length”. TopHat可以判断junction(剪切拼接)。这需要设定锚定点的最短长度,最短不能少于3,默认值为8 -m/--splice-mismatches int 锚定点范围内错配的个数。默认值为0 -i/--min-intron-length int 最短的内含子长度。默认值为70 -I/--max-intron-length int 最长的内含子长度。默认值为500000. --max-insertion-length int 比对时插入错配最长的长度,默认值为3. --max-deletion-length int 比对时缺失的最长长度,默认值为3.
2724 次阅读|0 个评论
TopHat:discovering splice junctions with RNA-Seq
liujd 2012-1-17 11:10
个人分类: 进化分析|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-21 00:52

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部