小RNA测序的数据要多看一下adapter。
拿我下载的数据来看,reads读长是51,但小RNA的长度基本都是20多点(21,24),肯定会把接头序列也测到。所以在很多地方都会强调要去除3'端的接头序列。
那接头序列怎么确定呢?
最好的办法当然是熟悉实验建库测序过程了。不过就这次在GEO上下载的数据来说,我大概能推断出一部分。根据上面的示意图,接头序列的两端是固定的,仅有中间一小部分是可变的,用来区分样本。于是就来看看下载的数据吧。
我看了几个fastq文件,发现每个文件都能看出来reads与reads之间在3'端是有重叠的,这应该就是接头序列的一部分了。
然后在每个fastq文件中,选一个带有很长接头的reads,把接头截出来比较。
SRR1266859 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-CAGATC-A
SRR1266860 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-ACTTGA-ATCTCGTATGCC
SRR1266861 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-ACAGTG-ATC
SRR1266862 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-GCCAAT-ATNT
SRR1266863 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-ATCACG-ATC
SRR1266864 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-CGATGT-ATCTCGTATGCC
SRR1266865 TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC-TTAGGC-ATCTC
前33个是相同的,然后有6个碱基可变,然后又是相同的
可以看出确实是跟上面的图是吻合的,于是就选择“TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC”,即前33个碱基作为接头序列,来trim。为什么选一部分接头就够了(而不把后面的取完整),因为trim的时候是将reads上和接头序列比对上的那一部分及其之后的序列全都切掉,所以没必要,还有一个好处是这样可以同时给多个样本trim。
$ cat SE.fa
>SE
TGGAATTCTCGGGTGCCAAGGAACTCCAGTCAC
for i in `seq 59 70`
do
java -jar trimmomatic-0.36.jar SE -threads 8 -phred33 \
-trimlog log${i} SRR12668${i}.fastq.gz out.SRR12668${i}.fastq.gz \
ILLUMINACLIP:/srna_project/data/SE.fa:2:30:10
done
过滤后就是这样的
$ less out.SRR1266859.fastq.gz | head -n 8
@SRR1266859-1-1
TTGGANTGAAGGGAGCTCCTTC
+
@CCFF#4ADFHHGEEHIJJJJJ
@SRR1266859-2-1
AATATAGATCAAGCGGTTCTAGCT
+
CCCFFFFFHGHHGJGIIIJIJJJJ
下面的图是过滤前后的fastqc检测的报告
过滤之前
Adapter Content
过滤之后
Adapter Content
Per base sequence content,不平行,普遍是这样吗?
Sequence Length Distribution,峰值在24核苷酸处。