trim.seqs 有以下几个主要应用:
1)根据barcode 拆分序列;
2)去除PCR引物
3) 去除低质量序列
trim.seqs 在使用时必须输入一个fasta 格式的序列,然后在加至少一个的选项;其选项有很多,下面一一介绍:
1)oligos: 从字面意义看是寡聚核苷酸, 这里是指barcode 和 PCR 引物的序列,这个选项对应的是一个文件,文件内容如下:
forward CATGCTGCCTCCCGTAGGAGT #reverse TCAGAGTTTGATCCTGGCTCAG barcode AACCAACC ALP50M barcode AACCAAGG AZAC1 barcode AACCATCG ALP2B barcode AACCATGC ALP1B barcode AACCGCAT ALP80M barcode AACCGCTA ALPG2 barcode AACCGGAA AZ273
forward和reverse代表PCR引物,barcode 代表多个样本混测时区分样本的index序列
在这个文件中,不同字段是\t分隔,需要注意的是mothur 认为的forward引物一定出现在序列的起始,reverse引物出现在序列的末尾,在使用mothur去除pCR引物时,实际两个方向都需要考虑;mothur允许PCR引物中有兼并碱基,只要符合IUPAC规定的碱基都是可以的
用法:
mothur "#trim.seqs(fasta=test.fa,oligos=primer)"
会输出两个文件:
*trim.fasta: 这个文件是去除PCR引物之后的序列, 处理成功之后的序列如下:
>1 bdiffs=0(match) fpdiffs=0(match) rpdiffs=0(match) AAAAAAAAAAAAAAAAAAAAAAAA
在序列标识符中,bdiffs 代表 barcode difference num , fpdiffs 和 rpdiffs 分别代表 forward primer difference num 和 reverse difference num
*scrap.fasta : 这个文件是处理失败的序列,失败的原因是没有找到PCR引物,序列如下:
>2|r bdiffs=0(match) fpdiffs=0(match) rpdiffs=1000(noMatch) CGATCGATCGATCGACAAAAAAAAAAAAAAAAA
在序列标识符中,会给出失败的原因,比如这里的"2|r", 代表在这条序列中没有找到反向引物,可以看到 rpdiffs = 1000 (noMatch), 当没有找到时,错配数直接设置成1000
备注:在oligos 文件中,输入的引物都方向都是5’->3', mothur在查找引物的时候,会在序列的5’端查找正向引物,在序列的3’端查找反向引物的反向互补序列。
参考资料:
https://www.mothur.org/wiki/Trim.seqs