seqkit根据基因id_fasta/fq文件处理万能工具——Seqkit学习记录

Seqkit是一款强大的用于处理Fasta和Fastq文件的工具,由shenwei356开发。它提供了一系列便捷的命令,如序列操作、子序列提取、滑窗取序列、文件统计等,极大地提升了生物信息学分析的效率。通过练习和整合到分析流程中,Seqkit成为了一个不可或缺的工具。本文详细介绍了seqkit的各项功能,包括序列和子序列操作、统计分析、格式转换、序列搜索和定位等,并给出了多个实例演示。
摘要由CSDN通过智能技术生成

shenwei爪哥开发的处理Fasta/Fastq文件的万能工具。之前处理fq/fa文件时花时间写的一些脚本发现在seqkit里直接能一行命令就解决。实在是提升效率,整合流程中十分好的工具。本文是对Seqkit官方介绍(https://bioinf.shenwei.me/seqkit/usage/)的学习,参考学习的过程中可以对照着官方文档中的例子进行操作学习。

熟练的运用关键还是需要多练习,搭建分析流程时多多回顾记得使用此工具。

序列和子序列(Sequence and subsequence)

1. seq 序列操作

-p, -r 反向互补序列

-w 指定输出每列的序列长度。例如-w 0即为一行格式序列输出。

-n 输出序列的名字

-m 500 过滤序列长度小于500的序列

-n , -i 输出序列名字id

-i --id-regexp 根据正则匹配对序列名称进行操作(仅匹配正则匹配括号里的)。

>cel-mir-1 MI0000003 Caenorhabditis elegans miR-1 stem-loop

ATAAGCGCGCGCGCG

seqkit seq hairpin.fa.gz -i --id-regexp "^[^\s]+\s([^\s]+)\s"

2. subseq根据区域/gtf/bed文件提取序列,以1为开始。

-r 1:12 取每条序列的前12bp

--gtf a.gtf b.fas 根据gtf文件提取序列

--gtf --feature cds -u 1000提取cds序列以及上游1000bp启动子区序列。

--gtf a.gtf -u 1000 -f根据gtf文件仅选取上游1000bp的启动子序列。

seqkit subseq --gtf t.gtf t.fa -u 3 -f

3. sliding根据滑窗取序列

4. stats对序列fa/fq文件进行基本统计

-a *.fq.gz包括所有的统计信息

-T 输出\t分割的文件,可接下来进行管道操作

##接管道csvtk进行操作

seqkit stats *.f{a,q}.gz -T | csvtk pretty -t

## 转为markdown文件格式

seqkit stats *.f{a,q}.gz -T | csvtk csv2md -t

5. faidx创建类似于samtools faidx的index文件。

可用于提取某一序列的指定区域序列,并且可以根据正则匹配来匹配序列姓名

##提取某一序列20~30bp区域的序列。

seqkit faidx tests/hairpin.fa hsa-let-7a-1:20-30

格式的转换(Format conversion)

1. fq2fa如其名,fastq文件转换为fasta文件

2. fx2tab 将每条序列fa/fq转换为tab分割的一行格式

SeqKit 是一个用于 FASTA/Q 文件处理工具包,它提供了多种命令行工具可以帮助我们进行不同的操作。如果你需要根据基因ID进行注释,可以考虑使用 SeqKit 中的 `grep` 命令。具体操作步骤如下: 1. 将基因ID和注释信息保存在一个文件中,每行一个,用制表符分隔基因ID和注释信息。例如,文件名为 `gene_annotation.txt`,内容如下: ``` ENSG00000000003 GeneA ENSG00000000005 GeneB ENSG00000000419 GeneC ``` 2. 对于需要注释的 FASTA/Q 文件,使用 `grep` 命令根据基因ID进行匹配,并将注释信息添加到 FASTA/Q 的描述信息中。例如,对于一个名为 `sequences.fa` 的 FASTA 文件,可以使用以下命令: ``` seqkit grep -f gene_annotation.txt -i -p "(.+)" -r "{kv:anno}" sequences.fa > annotated_sequences.fa ``` 其中,`-f gene_annotation.txt` 指定了基因ID和注释信息的文件;`-i` 表示忽略大小写匹配;`-p "(.+)"` 表示匹配整个行;`-r "{kv:anno}"` 表示将注释信息添加到 FASTA/Q 的描述信息中,其中 `kv:anno` 表示从 `gene_annotation.txt` 文件中获取注释信息,并将其添加到 FASTA/Q 描述信息中。 运行以上命令后,会生成一个新的 FASTA 文件 `annotated_sequences.fa`,其中每个序列的描述信息会添加注释信息,例如: ``` >ENSG00000000003_GeneA ATCG... >ENSG00000000005_GeneB ATCG... >ENSG00000000419_GeneC ATCG... ``` 其中,`ENSG00000000003_GeneA` 表示基因ID为 `ENSG00000000003`,注释信息为 `GeneA`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值