You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于序列头拆分Dorado输出的未拆分Fastq文件?

基于序列头拆分带Barcode信息的Fastq文件

方法1:用awk脚本拆分

dorado输出的Fastq序列头通常携带BC:Z:barcodeXX格式的Barcode标签,直接用awk即可按标签拆分:

awk '/^@/ {match($0, /BC:Z:(barcode[0-9]+)/, bc); if(bc[1] != "") {file=bc[1]".fastq"} else {file="unclassified.fastq"}} {print >> file; close(file)}' your_input.fastq

如果Barcode在序列头是其他格式(比如直接以barcodeXX作为前缀/后缀),可调整匹配逻辑:

awk '/^@/ {match($0, /barcode[0-9]+/, bc); if(bc[0] != "") {file=bc[0]".fastq"} else {file="unclassified.fastq"}} {print >> file; close(file)}' your_input.fastq
  • 逻辑说明:识别以@开头的序列行,提取Barcode字段,将对应序列(含后续+行和质量行)写入barcodeXX.fastq,未识别到Barcode的序列归入unclassified.fastq。
  • 注意:close(file)可避免系统打开过多文件句柄导致报错。

方法2:用seqkit工具拆分

seqkit是专门处理生物序列的工具,操作更简洁:

seqkit split2 your_input.fastq --by-id -p "BC:Z:(barcode[0-9]+)" -O split_barcode_output
  • 参数说明:
    • --by-id:按序列头信息拆分
    • -p:指定匹配Barcode的正则表达式(按需调整)
    • -O:指定输出目录,程序会自动生成每个Barcode对应的Fastq文件,未匹配序列归入unclassified.fastq

前置检查

先通过head your_input.fastq查看序列头的具体格式,确认Barcode的标识方式,再调整正则表达式的匹配规则,确保拆分准确。

内容的提问来源于stack exchange,提问作者Desmodus1984

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 13:20:56