一般来讲,我们对测序数据进行QC,就三个大的方向:
Quality trimming
Adapter removal
Contaminant filtering
当我们是双端测序数据的时候,去除接头时,也会丢掉太短的reads,就容易导致左右两端测序文件reads数量不平衡,有一个比较好的软件能解决这个问题,我比较喜欢的是cutadapt软件的PE模式来去除接头!尤其是做基因组或者转录组de novo 组装的时候,尤其要去掉接头,去的干干净净!
cutadapt是经典的python软件,但是因为我的linux服务器有点问题 ,可能是root权限问题,没有用 安装成功,我懒得搞这些了,其实可以自己去下载cutadapt的源码,然后进入源码文件夹里面 到自己的 下面。
所以我用conda安装了cutadapt软件,所以我需要 才能调用这个软件,其实如果把conda的目录添加到了环境变量,就不需要再用全路径调用了。
不过,问题不大,我也就是试用一下。
首先用fastqc软件对测序数据进行简单检测,看看有什么接头:
fastqc
既然fastqc能探测到你的接头,说明它里面内置了所有的接头序列,在github可以查到: https://github.com/csf-ngs/fastqc/blob/master/Contaminants/contaminant_list.txt
或者:Download common Illumina adapters fromhttps://github.com/vsbuffalo/scythe/blob/master/illumina_adapters.fa
最严重的一般是TruSeq Universal Adapter, 而且它检测到你其它的接头可能就是这个 TruSeq Universal Adapter 的一部分而已~! 我们可以先用cutadapt去除试一下。cutadapt软件支持对PE测序数据的处理,基本的用法是:
和 是左右端测序数据的3端接头, 和 是左右端测序数据的5端接头。支持fastq和fasta格式的gz压缩文件,必要时用-f参数指定测序文件数据格式即可。
我自己的实际例子如下:
参数解释如下:
两个 参数后面接的是两种接头,两个 参加后面接的是同样的两个接头的反向互补序列!
加上 是因为有两个接头,我的测序数据里面有可能一个read里面含有两种接头,所以需要检测两次。
是标准参数,自己看readme就好了,其中 设置为50 是表示去除接头后如果read长度小于50我就不要了,因为我是PE150测序的,这也就是为什么要用PE模式来去除接头,保证过滤后的reads还是数量继续平衡的。
去除了接头之后的文件再用fastqc软件跑一下,很明显可以看到 接头去除成功啦!
当然,这个软件还有很多其它的功能,我就不一一介绍了:
参考:http://cutadapt.readthedocs.io/en/stable/guide.html
去接头对基因组或者转录组组装是非常重要的。
领取专属 10元无门槛券
私享最新 技术干货