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

mothur trim.seqs 去除PCR引物的更多相关文章

  1. trim()方法去除字符串首尾空格

    trim()方法去除字符串首尾空格 1.原生js                 Function trimStr(str){                         Return str.r ...

  2. mothur summary.seqs 统计fasta文件中每条序列的长度

    在介绍summary.seqs的用法之前,我们首先需要搞清楚两个概念: 1)ambiguous bases 中文叫做模糊碱基,对于DNA序列来说,只有ATCG 4种碱基,在IUPAC定义的碱基标准中, ...

  3. mothur reverse.seqs 将序列反向互补

    reverse.seqs 命令可以得到输入序列的反向互补序列 用法: mothur "#reverse.seqs(fasta = "input.fasta")" ...

  4. SQL TRIM()函数去除字符串头尾空格

    SQL TRIM()函数去除字符串头尾空格 SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾.最常见的用途是移除字首或字尾的空白.这个函数在不同的资料库中有不同的名称: MySQL: T ...

  5. JavaScript trim 实现去除字符串首尾指定字符的简单方法

    String.prototype.trim = function (char, type) { if (char) { if (type == 'left') { return this.replac ...

  6. 【转载】C#使用Trim方法去除字符串前后的所有空格

    在C#语言程序开发过程中,很多时候需要对字符串对象的前后空格进行去除,此时就需要使用到Trim()方法来实现这个功能,Trim()方法可以快速去除字符串前端和后端的所有空格. 例如有个字符:strin ...

  7. 用Oracle的TRIM函数去除字符串首尾指定字符

    去掉首尾空格 SELECT TRIM(' abc '), ltrim(' abc '), rtrim(' abc ') FROM dual; 去掉首尾的其他字符 SELECT /*TRIM(';a;b ...

  8. C# Trim方法去除字符串两端的指定字符

    var str= ",2,3,4,6,7,"; var str2 = str.Trim(new char[] { ',' }); //去除字符串str两端的','字符. //则st ...

  9. java中的“空格”用trim()无法去除?原来是这样!

    原因: 从txt文件中读取一些数据导入mysql数据库,导入数据库之后发现有一个字段的前面有两个“空格”,后来在代码里我尝试用trim().replace()等方法去除,发现怎么也去不掉,于是我将字符 ...

随机推荐

  1. HBase操作(Shell与Java API)

    版权声明:本文为博主原创文章,未经博主允许不得转载.     转: http://blog.csdn.net/u013980127/article/details/52443155 下面代码在Hado ...

  2. Kafka:架构简介【转】

    转:http://www.cnblogs.com/f1194361820/p/6026313.html Kafka 架构简介 Kafka是一个开源的.分布式的.可分区的.可复制的基于日志提交的发布订阅 ...

  3. js实现冒泡事件,点击ul给子标签添加相同事件和阻止冒泡事件

    $('#LocalLife_PopUp_layer').find('.SelectCity_Cont ul').click(function(e){            var e=e||windo ...

  4. c#去除字符串中的空格,回车,换行符,制表符

    string l_strResult = str.Replace("\n", "").Replace(" ","").R ...

  5. SqlServer select * into 对应 Oracle语法

    创建新表,并插入旧表值 Sql Server select * into new_emp from emp; Oracle create table new_emp as select * from ...

  6. python pandas ---Series,DataFrame 创建方法,操作运算操作(赋值,sort,get,del,pop,insert,+,-,*,/)

    pandas 是基于 Numpy 构建的含有更高级数据结构和工具的数据分析包 pandas 也是围绕着 Series 和 DataFrame 两个核心数据结构展开的, 导入如下: from panda ...

  7. velocity单引号与双引号

    (1)最外层是用单引号包围时,双引号直接使用就可以了,两个连续的单引号表示一个单引号:#set($var2 = 'A"B''C') --> $var2 的值为 A"B'C(2 ...

  8. <漫步华尔街——股市历久弥新的成功投资策略>读书笔记

    书在这里 随机游走是指基于过去的表现,无法预测将来的发展步骤和方向. 仅仅为了达到盈亏相抵点,你的投资回报率至少也要等于通货膨胀率 磐石理论认为,无论是普通股票还是不动产,每一种投资工具都具有被称为“ ...

  9. <聪明的投资者(第四版点评)>读书笔记

    书在这里 企业的内在价值并不依赖于其股票价格 投资者的最大问题甚至最可怕的敌人,很可能就是他们自己 投资者不能指望通过买任何新股或“热门”股,而获得优于平均水平的收益.从长远来看,这几乎无疑会产生相反 ...

  10. win10 tensorflow python3*,Multiprocessing using fit_generator(pickle_safe=True) fail问题解决

    由于WIN版本的tensorflow使用 fit_generator时候,出现错误,但是mac 不会出现, 所以的解决方法就是https://github.com/fchollet/keras/iss ...