一般而言,我们让公司测序都是知道链特异性建库的方法,除非你觉得他们给的结果不对,或者说你是从公共数据库中获取的转录组数据,并不确定采取的是什么建库方法。
关于链特异性测序的详细介绍,见链特异性测序那点事, 本文只是介绍如何使用RseQC的 infer_experiment.py 命令进行推断而已。
需要注意的是infer_experiment.py 的运行需要一个记录基因注释信息的bed文件,也就是没有注释文件就执行不了。
首先是安装这个RseqQC, 以及准备bedops,可以直接创建一个新的conda环境.
1 | mamba create -n RseqQC -c bioconda -c conda-forge rseqc bedops -y |
我们需要先将给定的gff文件转成bed文件,假设你的gff文件名是 input.gff
1 | gff2bed < input.gff > input.bed12 |
接着,准备你需要分析样本的BAM文件,如果你只有fastq,那么需要用STAR或者HISAT2进行比对,假设输出结果为 output.bam。
最后就可以使用 infer_experiment.py
进行分析
1 | infer_experiment.py --input-file output.bam -r input.bed12 |
结果表明,read基本都是”1+-,1-+,2++,2–”,也就是最常用的基于dUTP的链特异性建库。
如果是非特异性建库,那么结果大概都是50%-50%。
1 | This is PairEnd Data |
后续的参数设置,就见链特异性测序那点事