当需要确定链特异性时,可如下操作,需要安装bedops, rseqc两个程序。
- 安装bedops, rseqc
Conda install bedops
Conda install rseqc
- 将比对过程中使用的gtf文件转为12列的bed文件
在bedops中有gtf2bed可以将gft转换为12列的bed文件。
输入命令:
gtf2bed < Mus_musculus.GRCm38.93.chr.gtf > mouse.bed
其中Mus_musculus.GRCm38.93.chr.gtf为输入文件名称,mouse.bed为输出文件名。发现会报错如下:
Error: Potentially missing gene or transcript ID from GTF attributes (malformed GTF at line [1]?)
原因在连接中:https://www.biostars.org/p/206342/
该错误表明第一行缺少该transcript_id字段。gene_id正如你所注意到的,它有一个字段,但没有transcript_id字段。GTF 2.2规范指示此字段是必填字段,但其值可以是空字符串。
解决方案我选择第二个:
输入命令:
awk '{ if ($0 ~ "transcript_id") print $0; else print $0" transcript_id \"\";"; }' Mus_musculus.GRCm38.93.chr.gtf > Mus_musculus.GRCm38.93.chr.change.gtf
然后重新运行命令:
gtf2bed < Mus_musculus.GRCm38.93.chr.change.gtf > mouse.bed
顺利生成12列的mouse.bed文件。
- 确定链特异性
输入命令:
infer_experiment.py -r mouse.bed -i *.bam
结果:
结果解释在网页:
这个结果说This is single-end, strand specific RNA-seq data. Strandness of reads are concordant with strandness of reference gene.
建库方式是fr-secondstrand。
参考:
http://www.genek.tv/article/27
http://kaopubear.top/2017-10-23-ssrnaseqbasic.html
此图1++,1--,2+-,2-+建库方式为: fr-secondstrand
此图1+-,1-+,2++,2--建库方式为: fr-firststrand