mothur trim.seqs 去除PCR引物

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序列

在这个文件中,不同字段是 分隔,需要注意的是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

原文地址:https://www.cnblogs.com/xudongliang/p/7218680.html