当我们拿到一个测序结果,实验人员也搞不清楚他的结果的library type怎么运行tophat呢?
依照手册,你可以先访问实验人员,他使用的是什么样的测序手段,是用的illumina还是SOLiD。如果是SOLiD,多半是second strand. 如果是illumina,可能还是分辨一下,主要是分辨unstraned还是firststrand.
这可能需要分三步走:
1 run tophat with library type fr-unstranded
2 run infer_experiment.py to the mapped reads
如果结果是
单端
Fraction of reads explained by “++,–“: 0.0187
Fraction of reads explained by “+-,-+”: 0.9717
说明测序的是firststrand, [firststrand是RNA互补链,如果测的是firstrand的话,那它应该是和RNA(sense)相反的(即antisense)]。如果比值相反的话(++,–的值远大于+-,-+的值),就是secondstrand.如果比值接近,那就是unstranded。
双端
Fraction of reads explained by “1++,1–,2+-,2-+”: 0.0187
Fraction of reads explained by “1+-,1-+,2++,2–“: 0.9717
说明测序的是firststrand, [firststrand是RNA互补链,如果测的是firstrand的话,那它应该是和RNA(sense)相反的(即antisense)]。如果比值相反的话(1++,1–,2+-,2-+的值远大于1+-,1-+,2++,2–的值),就是secondstrand.如果比值接近,那就是unstranded。
简单的来讲,只需要了解1端的数据是与RNA互补的还是相同的。如果多数是互补的,那么测的序就是friststrand的,如果多数相同的,测的序就是secondstrand。
3 re-run tophat with correct library type
但是以上的内容也不能保证是正确的。因为有些具体的实验可能会不一样。
如果用fr-unstranded参数运行tophat之后得到的mapped.bam文件进行后续的cuffliinks定量会怎样?是不是定量结果会不准?
对于不是fr-unstranded的结果,可能会定量不太准确,但对大多数基因差别不会特别大,但对于个别的基因,可能会有区差别。最好还是能准确的设置参数。
老师
usage里的
infer_experiment.py -r hg19.refseq.bed12 -i Pairend_nonStrandSpecific_36mer_Human_hg19.bam
这个hg19的bed文件怎么生成呢?
谢谢!
请问infer_experiment.py -r hg19.refseq.bed12 -i Pairend_nonStrandSpecific_36mer_Human_hg19.bam
这个bed文件咋生成?
直接在它的网站上下载就好了吧?
谢谢欧老师 我可以运行了
我的是illumina生成的pair-end数据
用tophat默认(fr-unstranded)运行了
infer_experiment.py -r hg19.refseq.bed -i Accepted_Hits.bam
结果是
This is PairEnd Data
Fraction of reads failed to determine: 0.0274
Fraction of reads explained by “1++,1–,2+-,2-+”: 0.0210
Fraction of reads explained by “1+-,1-+,2++,2–“: 0.9515
这说明了什么?
我的数据实际是firststrand的?
所以我应该用tophat fr-firststrand的来做mapping是么?
是的。
所以htseq-count的stranded的设置是yes/no/reverse中的yes是吧?
对。
欧老师您好,我运行的结果是
This is SingleEnd Data
Fraction of reads failed to determine: 0.0049
Fraction of reads explained by “++,–“: 0.8784
Fraction of reads explained by “+-,-+”: 0.1167
请问 应该选什么选项
fr-firststrand 还是fr-secondstrand?
如果map选项选错了的话,影响会有多大?
谢谢!
我用的是edgeR pipeline,所以htseq只设置了stranded -yes ,如果是cufflinks、cuffdiff还要再设置一遍。除了上一个问题,我不清楚如果 fr-firststrand 设成fr-secondstrand对最后影响大不大?
具体我没有测试过。我只试过stranded设置成non-stranded。两者差别并不是十分明显。但是对于严格的科研来说,严谨一些是不会有错的。
fr-secondstrand. 如果选错的话,影响会有一些,但不是会是颠覆性的。
谢谢!您推荐的这个非常有用。希望欧老师有空多写一点转录组学的blog,R的也好,bash的也好。
谢谢鼓励。
老师,您好,那我想请问一下,用star算count数目的话,是应该取第三列,还是第四列呢?我的数据是单端RNA-seq,infer_experiment.py的结果是和您展示的类似的比例:
Fraction of reads explained by “++,–“: 0.0187
Fraction of reads explained by “+-,-+”: 0.9717
star的count的是哪一列需要你自己去弄清楚了。不过我想强调的是,这个count数是normalize之后count,并不是原始的count。