Skip to content

Seqkit


Seqkit 是由国人 shenwei 开发,功能强大的命令行序列处理工具套件。

使用

命令 功能
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
stats FASTA/Q文件的简单统计
subseq 通过region/gtf/bed得到子序列,包括侧翼序列
tab2fx 转换表格格式为FASTA/Q格式
translate 翻译DNA/RNA到蛋白质序列(支持歧义碱基)
version 打印版本信息并检查是否更新
watch 序列特征的监测和在线直方图

grep 命令

spades 组装完毕的序列,提取其中某个 node 或者某些 nodes 序列:

$ seqkit grep -r -p ^node_1$ scaffolds.fasta > node_1.fasta

将 scaffolds 中所有 nodes 提取到单独的 fasta 文件中:

$ for i in $(awk '/>/' scaffolds.fasta | awk '{print $1}'); \
> do seqkit grep -p ${i:1} scaffolds.fasta > ${i:1}.fasta; \
> done

seq 命令

$ seqkit seq -h
# tab="-n和-i" 
# 将 reads 的名称信息输出,如果要和 bioawk $name 相同,使用 -i 参数
$ seqkit seq -n SRR1175124_1.fastq.gz SRR1175124_2.fastq.gz
SRR1175124.102354 102354 length=150
$ bioawk -c fastx '{print $name}' SRR1175124_1.fastq.gz SRR1175124_2.fastq.gz
SRR1175124.102354
$ seqkit seq -in SRR1175124_1.fastq.gz SRR1175124_2.fastq.gz
SRR1175124.102354
# 输出小写碱基
$ seqkit seq -sl SRR1175124_1.fastq.gz
# 输出大写碱基
$ seqkit seq -su SRR1175124_1.fastq.gz

使用案例

# 下载 NC_001477
$ pefetch -db nuccore -id NC_001477 -format fasta > NC_001477.fasta
# 翻译 DNA 序列为氨基酸序列
$ seqkit translate -j 4 -o NC_001477.pep NC_001477.fasta
# 统计序列的长度和GC
$ seqkit fx2tab -l -g -n -i -H test.fa

对注释的多拷贝基因提取序列后进行序列比对

# 用prokka注释基因组拼接序列
$ prokka --rfam --prefix sample --outdir sample contig.fa
# 用 seqkit 提取多拷贝基因 ncRNA Qrr 的序列
$ grep 'Qrr' sample/sample.gff | for i in $(awk '{print $9}'); do seqkit grep -p ${i:3:14} sample.ffn >> qrr.fa; done
# mafft 序列比对
$ mafft qrr.fa > qrr.mafft
# raxml 快速构建进化树
$ raxmlHPC -f a -p 12345 -x 12345 -# 1000 -m GTRGAMMA -s qrr.mafft -n qrr