mothur summary.seqs 统计fasta文件中每条序列的长度
在介绍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文件中每条序列的长度的更多相关文章
- 使用python脚本实现统计日志文件中的ip访问次数
使用python脚本实现统计日志文件中的ip访问次数,注意此脚本只适用ip在每行开头的日志文件,需要的朋友可以参考下 适用的日志格式: 106.45.185.214 - - [06/Aug/2014: ...
- 统计一个文件中出现字符'a'的次数
# -*- coding: utf-8 -*- #python 27 #xiaodeng #统计一个文件中出现字符'a'的次数 #http://www.cnblogs.com/hongten/p/ho ...
- [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 ...
- c语言统计一个文件中的单词,字符和行数
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- 统计python文件中的代码,注释,空白对应的行数
其实代码和空白行很好统计,难点是注释行 python中的注释分为以#开头的单行注释 或者以'''开头以'''结尾 或以"""开头以"""结尾 ...
- 根据位置信息提取 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 ...
- 统计py文件中的代码行
希望是输入一个合法的文件夹的路径,然后代码自动读取该文件夹下的每个py结尾的文件内的代码行数,最后汇总一个数,但现在只是有思路,却没时间写,这是能读取同级文件下的某个文件, with open('te ...
- 用 perl 统计 fasta 文件序列的总长
#!/usr/bin/perl -w use strict; die "Usage: $0 <file>\n" unless (@ARGV == 1); my $lin ...
- java简单统计.java文件中的有效代码行,空行,注释行
package regxdemo; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExc ...
随机推荐
- 【驱动】linux下I2C驱动架构全面分析
I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一条串行数据线:SDA,一条是时钟线SCL ,使用SCL,SDA这两根信号线就实现了设备之间的数据交互,它方便了工程师的布线. ...
- java 多线程 22 :生产者/消费者模式 进阶 利用await()/signal()实现
java多线程15 :wait()和notify() 的生产者/消费者模式 在这一章已经实现了 wait/notify 生产消费模型 利用await()/signal()实现生产者和消费者模型 一样 ...
- 网络构建入门技术(2)——IP子网划分
说明(2017-5-10 10:54:31): 1. 为什么要子网划分? 子网划分就是,网络位变长,主机位变短的过程.实际上就是将一个大网络,划分成多个小网络的过程. 目的就是为了解决IP地址不够用的 ...
- 'Project Name' was compiled with optimization
'Project Name' was compiled with optimizationhtml, body {overflow-x: initial !important;}html { font ...
- Py2.7 no module named tkinter
一个简单的例子 #! /usr/bin/env python#coding=utf-8from tkinter import *Label(text="Spam").pack()m ...
- vnc 登录 Ubuntu gnome 桌面出现 QXcbConnection : Failed to initialize XRandr 错误,然后打不开
现象如下: 解决方法是在 启动的时候加入 -noload Welcome 参数 也可以在 ~/.local/share/applications/DigiaQt-qtcreator-community ...
- 15.01.23-sql的注入式攻击
很多网站上有登录和忘记密码的链接,可能存在sql注入的隐患.在忘记密码(把密码发送到邮箱)那里测试. 获取数据 1.'的妙用.在邮箱栏输入emailaddress',如果返回服务器错误,则说明sql注 ...
- JQuery Table 合并单元格-解决Bug版本
网络中提供的方法是: <script type="text/javascript"> function _w_table_rowspan(_w_table_id, _w ...
- android开发(30) 使用WebView,点击网页中的链接建立QQ 临时会话 WPA
在PC端,我们可以通过一个URL链接,点击后启动QQ,这是很好的用户跳转体验.很方便. 使用的链接如下: <a target="_blank" href="http ...
- Nodejs中export的作用
在上一节,我们编写了一个hello.js文件,这个hello.js文件就是一个模块,模块的名字就是文件名(去掉.js后缀),所以hello.js文件就是名为hello的模块. 我们把hello.js改 ...