小RNA测序产生的序列长度为35nt,而sRNA序列长度是18~30nt,所以测序得到的序列上有一段3’接头序列。
以下为预测小RNA数据接头并去除的几种方法:
1、用Muscle、Jalview查看接头序列
cat SRR1451680.fa | head -n 10000 | tail -n 40
Muscle (http://www.ebi.ac.uk/Tools/msa/muscle/)
将这些序列贴到muscle软件中进行序列比对
带星号*的区域为保守区域,即adaptor
将比对序列复制粘贴到txt文档中
用Jalview查看可视化查看结果
保守性最高的碱基区域即为adaptor-----TGGAATTCTCGGGTGCCAAGGAACTCCAG
2、CJ命令行
head -n 4000000 SRR1451680.sra.fastq|perl -lane 'print if $.%4==2'|sort|uniq -c|sort -n|tail|perl -lane 'print qq{>},$count++,qq{_},$F[0],qq{\n},$F[1]'|muscle -clw –quiet
TGGAATTCTCGGGTGCCAAGGAACTCCAG
与第一种方法同义
3、用dnapi.py预测接头
InFile=$(ls *.fastq)
for i in $InFile
do echo $i
dnapi.py $i
done
SRR1451680.sra.fastq
TGGAATTCTCGG
SRR6852083.sra.fastq
AGATCGGAAGAG
去除接头和低质量序列(接头序列不用给全长,一般6-10bp就可识别)
/tools/fastx_toolkit_0.0.13/fastx_clipper -v -c -l 15 -a "TGGAATTCTCGG" -i SRR1451680.fa -o Arabidopsis_thaliana_SRR1451680_trimmed.fa
去接头时只保留接头序列的前10个bp比保留全长快很多
当然也可以直接用CJ的TBtools中的小工具sRNAseqAdaperRemover,接头预测和去接头一步完成,并且速度很快
java -cp TBtools_JRE1.6.jar biocjava.sRNA.Tools.sRNAseqAdaperRemover --inFqFile $i.sra.fastq --outFaFile $i.trimmed
处理NCBI下载的SRA数据时可能会因为没有注意遇到关于adaptor和barcode是否去除的问题,比如以下两个例子:
1、在用TBtools小工具去除菜心的三套SRA数据的接头发现只有一套数据SRR1161445成功了,由于NCBI-SRA中的数据并不一定都是raw data,可能有些用户上传的数据经过了一定的处理,因此这种情况需要查看这些处理失败的数据是否已经去除了接头
用miR156的成熟序列查看接头情况
在miRbase上查找miR156/157的成熟序列,查看接头;因为miR156/157是非常保守的小RNA,所以序列基本一致;
失败的两套数据显然已经去除了接头
查了NCBI中的数据信息,确实是已经去除了接头的数据(Adapters were trimmed by the sequencing facility.)
2、深山南芥的一套数据SRR6294788在处理过程中由于bowtie回帖率低于1%,而去冗余之后的文件很大,考虑可能是去接头的问题,但是查看数据后发现这套数据还在前后各加了4个碱基的随机barcode,去接头后还需要再去掉barcode
之后在用到这套数据的文章中查找发现确实有4个碱基的barcode
A Small RNA Pathway Mediates Allelic Dosage in Endosperm
sRNA libraries were appended with 4-base randomized barcodes immediately 30 and 50 of the sRNA read, which were used to remove PCR duplicates (any read of the same sRNA sequence with identical flanking barcodes on both ends) before being removed themselves.
https://www.plob.org/article/2789.html