seqkit序列处理神器的常用命令

seqkit是一个序列处理神器,有统计、格式转换、长度筛选、质量值转换、翻译、反向互补、抽样、去重、滑窗、拆分等功能。 seqkit 一共有37个可用的命令,详细内容如下

seqkit是一个序列处理神器,有统计、格式转换、长度筛选、质量值转换、翻译、反向互补、抽样、去重、滑窗、拆分等功能。


seqkit 一共有37个可用的命令,详细内容如下:

amplicon        通过引物检索扩增子(或其周围的特定区域)
bam             检查和在线绘制BAM记录文件的直方图
common          通过id/名称/序列查找多个文件的公共序列
concat          连接多个文件中具有相同ID的序列
convert         转换FASTQ质量编码格式:支持格式包括:桑格,Solexa和Illumina
duplicate       重复序列N次
faidx           创建FASTA索引文件并提取子序列
fish            使用局部比对在较大的序列中寻找短序列
fq2fa           转换FASTQ到FASTA
fx2tab          将FASTA/Q转换为表格格式(包含长度/GC含量/GC偏好)
genautocomplete 生成shell自动完成脚本
grep            通过ID/name/sequence/sequence motif搜索序列,允许错配
head            打印第一条序列
help            打印帮助信息
locate          定位序列,或者motifs,允许错配
mutate          编辑序列(点突变、插入、删除)
pair            匹配双端序列文件
range           打印一个范围内的序列
rename          重命名重复序列ID
replace         使用正则表达式修改名称或者序列
restart         重置环状基因组的起始位置
rmdup           通过id/名称/序列删除重复的序列
sample          按数量或比例对序列进行抽样
sana            清理损坏的单行fastq文件
scat            real time recursive concatenation and streaming of fastx files
seq             转换序列(反向,补充,提取ID…)
shuffle         随机序列
sliding         序列滑窗提取,支持环形基因组
sort            按id/名称/序列/长度排序序列
split           按id/seq区域/大小/部件将序列拆分为文件(主要用于FASTA)
split2          按序列数量/文件数将序列拆分为多个文件(FASTA, PE/SE FASTQ)
stats           FASTA/Q文件的简单统计
subseq          通过region/gtf/bed得到子序列,包括侧翼序列
tab2fx          转换表格格式为FASTA/Q格式
translate       翻译DNA/RNA到蛋白质序列(支持歧义碱基)
version         打印版本信息并检查是否更新
watch           序列特征的监测和在线直方图


以下介绍一些常用的命令


一、序列操作:

1.取反向序列

seqkit seq test.fa -r > test_re.fa

2.取互补序列

seqkit seq test.fa -p > test_com.fa

3.取反向互补序列

seqkit seq test.fa -r -p > test_re_com.fa

4.DNA序列转换为RNA序列

seqkit seq test.fa --nda2rna > test_rna.fa

5.RNA序列转换为DNA序列

seqkit seqtest.fa rna2dna > test_dna.fa

6.将序列以小写字母的形式输出

seqkit seq test.fa -l > test_lower.fa

7.将序列以大写字母的形式输出

seqkit seq test.fa -u > test_upper.fa

8.指定每行序列的输出长度(为0的话,代表为一整行,默认的输出 长度是60个碱基)

seqkit seq test.fa -w 10 > test_10.fa   #指定序列的长度为10

9.将多行序列转换为一行序列

seqkit seq test.fa -w 0 > test_w.fa

10.只输出序列

seqkit seq test.fa -s -w 0 > test_seq.fa

11.将只输出的序列的,指定每行输出的碱基数

seqkit seq test_seq.fa -s -w 40 > test_seq40.fa


二、Fasta/q之间以及与tab格式互换

10.将fataq文件转化为fasta格式.

seqkit fq2fa test.fq -o test.fa

11.将fasta格式转化为tab格式

seqkit fx2tab test.fa > test_tab.fa (没有seq参数)


三、序列信息统计

1.序列碱基含量

seqkit fx2tab -l -g -n -i -H test.fa

2.序列长度的整体分布统计

seqkit stat test.fa


四、grep  序列匹配

seqkit grep [flags]

参数:

-n, --by-name
匹配整个序列的名字,包含deion部分,而不是序列id。
-s, --by-seq
匹配序列
-d, --degenerate
pattern/motif 包含简并碱基
-i, --ignore-case
忽略大小写
-v, --invert-match
输出不匹配此模式的内容
-p,
匹配模式,支持连续写多个模式,匹配任一模式即输出。如-p ^ATG -p TAA$。注意该功能仅能正向匹配,不能实现对互补链匹配。
-f, --pattern-file string
支持匹配模式写到一个文件中,如要提取的序列ID。
-R, --region string
匹配位置选择。e.g 1:12 for first 12 bases, -12:-1 for last 12 bases
-r, --use-regexp
使用正则表达式,必须加入此参数,如^匹配首端。同-p联合使用。

举例:

seqkit grep -s -r -i -p ^atg cds.fa#选取有起始密码子的序列
seqkit grep -f list test.fa > new.fa#根据ID提取序列
seqkit grep -s -d -i -p TTSAA#简并碱基使用。S 代表C or G.
seqkit grep -s -R 1:30 -i -r -p GCTGG##匹配限定到某区域


五、motif定位

对grep的拓展,可以正反链同时匹配,输出匹配的位置。

seqkit locate [flags]

参数:

-d, --degenerate
pattern/motif contains degenerate base
-i, --ignore-case
ignore case
-P, --only-positive-strand
only search at positive strand
-p, --pattern value
search pattern/motif
-f, --pattern-file string
pattern/motif file (FASTA format)

举例:

seqkit locate -i -d -p AUGGACUN test.fa


六、多个序列文件比较寻找相同的序列或者ID相同的序列

seqkit common [flags]

参数:

-n, --by-name
匹配整个序列的名字,包含deion部分,而不是序列id
-s, --by-seq
match by sequence
-i, --ignore-case
ignore case
-m, --md5
use MD5 reduce memory usage

举例:

#1 By ID (default,>后面,空格之前的名字)输出ID名字相同的。
seqkit common test1.fa test2.fa -o common.fasta
#2 By full name(整个序列的名字,包含deion部分)。输出序列名字相同的。
seqkit common test1.fa test2.fa -n -o common.fasta
#3 输出要比较的文件中序列相同的序列
seqkit common test1.fa test2.fa -s -i -o common.fasta
#4 输出要比较的文件中序列相同的序列 (for large sequences)
seqkit common test1.fa test2.fa -s -i -o common.fasta --md5


七、提取部分序列

如随机抽取10000条FASTQ序列做NT污染评估。同时他也可以对FASTA序列提取

seqkit sample [flags]

参数:

-n, --number int
sample by number (result may not exactly match)
-p, --proportion float
sample by proportion(按比例提)
-s, --rand-seed int
rand seed for shuffle (default 11)
-2, --two-pass
2-pass modelower memory

举例:随机抽取序列

seqkit sample -n 10000 -s 11 test1_1.fq -o sample.fq
seqkit sample -p 0.1 -s 11 test1_1.fq -o sample.fq


八、排序输出命令

seqkit sort [flags]

参数:

-l, --by-length
按照序列长度排序
-n, --by-name
by full name
-s, --by-seq
按照序列排序
-i, --ignore-case
按序列排序时忽略大小写
-r, --reverse
反向排序
-2, --two-pass
对于FASTA序列排序可以减少内存

举例:

seqkit sort -ltest.fa


九、文件切割

seqkit split [flags]

参数:

-i, --by-id
split squences according to sequence ID
-p, --by-part int
将一个文件分割成N 份
-s, --by-size int
将一个文件按照N 条序列一个文件进行分割
-O, --out-dir string
output directory (default value is infile.split)
-2, --two-pass
two-pass mode to lower memory usage(only FAST)

举例:

seqkit split hairpin.fa.gz -p 4


原文链接:

Wei Shen, Shuai Le, Yan Li & Fuquan Hu. (2016). SeqKit: a cross-platform and ultrafast toolkit for fasta/q file manipulation. PloS One 11, e0163962, doi: https://doi.org/10.1371/journal.pone.0163962

软件发布页:https://github.com/shenwei356/seqkit/releases

帮助文档:https://bioinf.shenwei.me/seqkit/

参考:https://www.cnblogs.com/huangyinger/p/10421805.html


  • 发表于 2022-11-18 17:22
  • 阅读 ( 5421 )
  • 分类:软件工具

0 条评论

请先 登录 后评论
星莓
星莓

生物信息工程师

58 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 350 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 76 文章
  8. CORNERSTONE 72 文章