专栏名称: 生信菜鸟团
生信菜鸟团荣誉归来,让所有想分析生物信息学数据的小伙伴找到归属,你值得拥有!
目录
相关文章推荐
BioArt  ·  Science | ... ·  11 小时前  
BioArt  ·  Sci ... ·  3 天前  
51好读  ›  专栏  ›  生信菜鸟团

seqtk—抽取随机序列

生信菜鸟团  · 公众号  · 生物  · 2025-02-25 19:46

正文

工欲善其事 必先利其器


25年的新梗“干中学”相信大家都不陌生。诚然,在实践中学习是一种极为高效且充满活力的方式。当面对一项任务时,明确的需求如同一盏明灯,让我们能够有的放矢地投入精力。而每一次的尝试与探索,成就看得见的进步。这种“干中学”的过程,不仅让我们在实践中积累经验,更赋予了我们面对未知的勇气和解决问题的能力。今天我们就来学习一个具体的需求:从FastQ文件随机抽取一定数量的reads 。

FastQ文件

首选我们要了解fastq文件——FASTQ是基于文本的,保存生物序列(通常是核酸序列)和其测序质量信息的标准格式。其序列以及质量信息都是使用一个ASCII字符来表示,常用于高通量测序数据的存储。最初由Sanger开发,目的是将FASTA序列与质量数据放到一起,目前已经成为高通量测序结果的标准格式。

FASTQ格式常以四部分组成:

  • 第一部分:以@开头紧接着是序列的标识符和可选择的描述信息。和fasta格式的第一行相似。
  • 第二部分:是原始序列信息
  • 第三部分:以+开始,后面可再接与第一部分相同的序列标识符或者描述信息。一般都只是一个+
  • 第四部分:以ASCII字符表示第二行碱基序列的测序质量。
fastq文件示例
fastq文件示例

其次我可以查询一下哪有已有的工具可以实现,比如:seqtk

seqtk

seqtk 是一款轻量级且高效的生物信息学工具,专门用于处理 FASTA/Q 格式的序列文件 (如测序数据)。它由 Heng Li(李恒,SAMtools、BWA 等工具的作者)开发,广泛应用于序列数据预处理、格式转换、随机抽样等场景。

如何安装

安装非常简单,从Github下载压缩包,解压,编译即可。当然也可以使用Conda安装。

##编译安装
wget -c https://github.com/lh3/seqtk/archive/refs/tags/v1.4.tar.gz
tar -xf v1.4.tar.gz

cd seqtk-1.4/
make


#
#方法二:
conda activate RNAseq
conda install -y seqtk
安装
安装

随机抽样


#
 随机抽取 10000 条 reads(设置随机种子 -s 避免重复)
seqtk sample -s 123 SRR23698412_1.fastq.gz 10000 > SRR23698412_1_subset.fastq
seqtk sample -s 123 SRR23698412_2.fastq.gz 10000 > SRR23698412_2_subset.fastq

注意 :对双端文件(如 sample_1.fastq.gz 和 sample_2.fastq.gz)抽样时,需使用相同的随机种子(-s 参数),确保配对的 reads 被同步抽取。

抽样示例
抽样示例

其余用法:

FASTQ 转 FASTA

保留序列名称和质量值信息(可选):

seqtk seq -A input.fastq.gz > output.fasta
截取序列子区间

提取每条序列的第 10 到 100 个碱基:

seqtk subseq input.fasta 10-100 > output_sub.fasta
过滤短序列

保留长度 ≥ 50 bp 的序列:

seqtk seq -L 50 input.fastq.gz > filtered.fastq
合并双端数据

将双端 FASTQ 文件合并为交错格式(interleaved):

seqtk mergepe sample_1.fastq sample_2.fastq > merged.fastq






请到「今天看啥」查看全文