前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >序列操作神器:Seqkit

序列操作神器:Seqkit

作者头像
冷冻工厂
发布2023-02-27 12:47:51
8420
发布2023-02-27 12:47:51
举报

导读

本文[1]将介绍 SeqKit :用于 FASTA/Q 文件操作的跨平台和超快工具包,后续提供了一些常用的示例

‍‍‍‍‍‍‍‍‍‍‍‍1. 安装

  • conda 安装
代码语言:javascript
复制
conda install -c bioconda seqkit
  • Mac 安装
代码语言:javascript
复制
brew install seqkit  # 用于苹果电脑

2. 用法

2.1. 序列操作

代码语言:javascript
复制
seqkit seq [flags] file
  • 参数

参数

作用

-p

取互补序列

--dna2rna

DNA to RNA

-l

序列以小写字母输出

-g

移除组装序列中的gap

-r

取反向序列

--rna2dna

RNA to DNA

-u

序列以大写字母输出

-w

每行指定长度数据序列(default=60)

代码语言:javascript
复制
# 将序列转换为一行输出
seqkit seq ex.fasta -w 0 > test.fasta

# 每行输出指定碱基n
seqkit seq -w n ex.fasta

# DNA序列转换为RNA序列
seqkit seq --dna2rna ex.fasta

# 取反向互补,且‍‍‍‍‍‍‍‍‍每行100碱基
seqkit seq -w 100 -p -r ex.fasta > test.fasta

2.2. 格式转换

  • fa2fa
代码语言:javascript
复制
# fastq 转换为 fasta
seqkit fq2fa ex1.fq -o ex2.fa

# FASTA/FASTQ 转换成 tab 格式
seqkit fx2tab ex.fa > test.fa.tab.fa
seqkit fx2tab ex.fq > test.fq.tab.fq
代码语言:javascript
复制
# 序列碱基含量及序列长度信息统计
seqkit fx2tab [flags]
  • 参数

参数

作用

-B

输出碱基的含量 Ex: -B AT -B N

-g

输出 GC 含量

-l

输出序列长度

-n

仅输出名字

-i

输出ID

-H

输出 header 行

代码语言:javascript
复制
# 输出序列长度,GC含量,名字,ID
seqkit fx2tab -l -g -n -i -H ex.fasta

2.3. 序列信息统计

代码语言:javascript
复制
# 序列长度分布统计
seqkit stat [flags]
  • 参数

参数

作用

-a

输出所有统计数据,包括 seq 长度的四分位数、sum_gap、N50

代码语言:javascript
复制
# 统计信息
seqkit stats *.f{a,q}.gz

# 结果如下图

示例

2.4. 根据ID提取序列

代码语言:javascript
复制
seqkit grep
  • 参数

参数

作用

-n

匹配整个序列的名字

-s

匹配序列

-d

pattern/motif 包含简并碱基

-i

忽略大小写

-v

反向匹配

-p

匹配模式,支持连续写多个模式,匹配任一模式即输出

-R

匹配位置选择

-r

使用正则表达式

代码语言:javascript
复制
# 选取有起始密码子的序列
seqkit grep -s -r -i -p ^atg ex.fa

# 根据ID提取序列
seqkit grep -f list ex.fa > new.fa

# 简并碱基使用。S 代表C or G.
seqkit grep -s -d -i -p TTSAA

# 匹配限定到某区域
seqkit grep -s -R 1:30 -i -r -p GCTGG#

2.5. motif定位

代码语言:javascript
复制
seqkit locate [flags]
  • 参数

参数

作用

-d

pattern/motif contains degenerate base

-i

ignore case

-P

only search at positive strand

-p

search pattern/motif

-f

pattern/motif file (FASTA format)

代码语言:javascript
复制
seqkit locate -i -d -p AUGGACUN ex.fa

2.6. 多个文件寻找相同的序列

代码语言:javascript
复制
seqkit common [flags]
  • 参数

参数

作用

-n

匹配整个序列的名字,包含description部分,而不是序列id

-s

match by sequence

-i

忽略大小写

-m

use MD5 reduce memory usage

代码语言:javascript
复制
# By ID (default,>后面,空格之前的名字)输出ID名字相同的。
seqkit common test1.fa test2.fa -o common.fasta

# By full name(整个序列的名字,包含description部分)。输出序列名字相同的。
seqkit common test1.fa test2.fa  -n -o common.fasta

# 输出要比较的文件中序列相同的序列
seqkit common test1.fa test2.fa -s -i -o common.fasta

# 输出要比较的文件中序列相同的序列 (for large sequences)
seqkit common test1.fa test2.fa -s -i -o common.fasta --md5

2.7. 文件切割

代码语言:javascript
复制
seqkit split [flags]
  • 参数

参数

作用

-i

split squences according to sequence ID

-p

将一个文件分割成N 份

-s

将一个文件按照N 条序列一个文件进行分割

-O

输出目录

-2

two-pass mode to lower memory usage(only FAST)

代码语言:javascript
复制
# 将一个文件切割为 4 份
seqkit split ex.fa -p 4

参考资料

[1]

Ref: https://bioinf.shenwei.me/seqkit/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导读
  • ‍‍‍‍‍‍‍‍‍‍‍‍1. 安装
  • 2. 用法
    • 2.1. 序列操作
      • 2.2. 格式转换
        • 2.3. 序列信息统计
          • 2.4. 根据ID提取序列
            • 2.5. motif定位
              • 2.6. 多个文件寻找相同的序列
                • 2.7. 文件切割
                  • 参考资料
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档