在介绍summary.seqs的用法之前,我们首先需要搞清楚两个概念:

1)ambiguous bases

中文叫做模糊碱基,对于DNA序列来说,只有ATCG 4种碱基,在IUPAC定义的碱基标准中,出了上述4种碱基之外,还包括其他的碱基,可以代表不同类型的碱基

代码 英文含义 中文含义
G   Guanine 鸟嘌啉
A   Adenine 腺嘌啉
T (U) Thymine (Uracil) 胸腺嘧啶 (尿嘧啶)
C   Cytosine 胞嘧啶
R (A or G) PuRine 嘌啉
Y (C or T or U) Pyrimidine 嘧啶
M (A or C) Amino 腺嘌啉或胞嘧啶(氨基)
K (G or T) Ketone 鸟嘌啉或胸腺嘧啶(酮基)
S (C or G) Strong interaction 强相互作用碱基
W (A or T) Weak interaction 弱相互作用碱基
H (A or C or T) Not-G (H after G) 非鸟嘌啉
B (C or G or T) Not-A (B after A) 非腺嘌啉
V (A or C or G) Not-T/U (V after U) 非胸腺嘧啶
D (A or G or T) Not-C (D after C) 非胞嘧啶
N (A or C or G or T) Any 不确定

模糊碱基实际上就是除了A T C G 这4种碱基之外的其他碱基

2)homopolymer base

由1个碱基重复多次的序列,比如GCAGAAAAAAA 序列中,末端的一串A就是 homopolymer base

summary.seqs的基本用法:

mothur "#summary.seqs(fasta = "input.fasta")"

运行成功之后,会生成input.summary 文件,内容如下:

seqname	start	end	nbases	ambigs	polymer	numSeqs
1 1 24 24 0 2 1
2 1 25 25 10 10 1
3 1 25 25 2 1 1
4 1 24 24 0 18 1
5 1 24 24 0 2 1
6 1 24 24 0 1 1
7 1 24 24 0 1 1
8 1 25 25 0 2 1

共7列,每列表头含义如下:

seqname : 序列标识符

start      :  起始位置,从1开始

end       :   终止位置,

nbases  :  总碱基数,可以看做序列长度

ambigs  : ambiguous bases 模糊碱基的数目

polymer :  homopolymer 碱基的最大长度

numSeqs : 序列数,对于每条序列来说,其值总是为1

除了上述的基本用法外,summary.seqs 还有很多的参数;

processors  : CPU个数,mothur 是支持并行的,通过设置processors 参数可以并行执行程序,用法如下:

mothur "#summary.seqs(fasta = "input.fasta", processors = 10)"

mothur summary.seqs 统计fasta文件中每条序列的长度的更多相关文章

  1. 使用python脚本实现统计日志文件中的ip访问次数

    使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...

  2. 统计一个文件中出现字符'a'的次数

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/ho ...

  3. [linux] shell脚本编程-统计日志文件中的设备号发通知邮件

    1.日志文件列表 比如:/data1/logs/2019/08/15/ 10.1.1.1.log.gz 10.1.1.2.log.gz 2.统计日志中的某关键字shell脚本 zcat *.gz|gr ...

  4. c语言统计一个文件中的单词,字符和行数

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. 统计python文件中的代码,注释,空白对应的行数

    其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或者以'''开头以'''结尾 或以"""开头以"""结尾 ...

  6. 根据位置信息提取 fasta 文件中的序列 -- extract fasta sequence by their position

    #!/usr/bin/env python # usages: python extract_seq_by_pos.py input.fasta id_start_end > result.fa ...

  7. 统计py文件中的代码行

    希望是输入一个合法的文件夹的路径,然后代码自动读取该文件夹下的每个py结尾的文件内的代码行数,最后汇总一个数,但现在只是有思路,却没时间写,这是能读取同级文件下的某个文件, with open('te ...

  8. 用 perl 统计 fasta 文件序列的总长

    #!/usr/bin/perl -w use strict; die "Usage: $0 <file>\n" unless (@ARGV == 1); my $lin ...

  9. java简单统计.java文件中的有效代码行,空行,注释行

    package regxdemo; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExc ...

随机推荐

  1. 【驱动】linux下I2C驱动架构全面分析

    I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...

  2. java 多线程 22 :生产者/消费者模式 进阶 利用await()/signal()实现

    java多线程15 :wait()和notify() 的生产者/消费者模式 在这一章已经实现了  wait/notify 生产消费模型 利用await()/signal()实现生产者和消费者模型 一样 ...

  3. 网络构建入门技术(2)——IP子网划分

    说明(2017-5-10 10:54:31): 1. 为什么要子网划分? 子网划分就是,网络位变长,主机位变短的过程.实际上就是将一个大网络,划分成多个小网络的过程. 目的就是为了解决IP地址不够用的 ...

  4. 'Project Name' was compiled with optimization

    'Project Name' was compiled with optimizationhtml, body {overflow-x: initial !important;}html { font ...

  5. Py2.7 no module named tkinter

    一个简单的例子 #! /usr/bin/env python#coding=utf-8from tkinter import *Label(text="Spam").pack()m ...

  6. vnc 登录 Ubuntu gnome 桌面出现 QXcbConnection : Failed to initialize XRandr 错误,然后打不开

    现象如下: 解决方法是在 启动的时候加入 -noload Welcome 参数 也可以在 ~/.local/share/applications/DigiaQt-qtcreator-community ...

  7. 15.01.23-sql的注入式攻击

    很多网站上有登录和忘记密码的链接,可能存在sql注入的隐患.在忘记密码(把密码发送到邮箱)那里测试. 获取数据 1.'的妙用.在邮箱栏输入emailaddress',如果返回服务器错误,则说明sql注 ...

  8. JQuery Table 合并单元格-解决Bug版本

    网络中提供的方法是: <script type="text/javascript"> function _w_table_rowspan(_w_table_id, _w ...

  9. android开发(30) 使用WebView,点击网页中的链接建立QQ 临时会话 WPA

    在PC端,我们可以通过一个URL链接,点击后启动QQ,这是很好的用户跳转体验.很方便. 使用的链接如下: <a target="_blank" href="http ...

  10. Nodejs中export的作用

    在上一节,我们编写了一个hello.js文件,这个hello.js文件就是一个模块,模块的名字就是文件名(去掉.js后缀),所以hello.js文件就是名为hello的模块. 我们把hello.js改 ...