mock-fastq-generator:面向NGS流程验证的可定制合成FASTQ生成器

《SoftwareX》:mock-fastq-generator: A synthetic FASTQ generator

【字体: 大 中 小 】 时间:2026年11月01日 来源:SoftwareX 1.9

编辑推荐:

  下一代测序(NGS)流程需要具有已知真值(ground truth)的受控、可重复测试数据集,用于验证与基准测试。尽管现有读段模拟器在全生物体基准测试方面表现优异,但其引入操作开销,并且缺乏直接根据短的、用户定义的构建体(例如扩增子、质粒或诱变文库)生成合成读

  
下一代测序(NGS)流程需要具有已知真值(ground truth)的受控、可重复测试数据集,用于验证与基准测试。尽管现有读段模拟器在全生物体基准测试方面表现优异,但其引入操作开销,并且缺乏直接根据短的、用户定义的构建体(例如扩增子、质粒或诱变文库)生成合成读段的能力,且无法对序列架构、位置质量衰减和错误注入进行确定性控制。mock-fastq-generator是一套开源软件套件,既可作为可安装的PyPI包,也可作为独立的客户端Web应用程序使用。该软件通过将模板构建体与可定制接头、可选质量衰减模型(Gaussian、Exponential、Sigmoidal)、离散质量分箱、均匀突变率和上下文依赖错误惩罚相结合,构建合成FASTQ文件。这使开发者能够对修剪器进行基准测试、测试比对敏感性并验证质量控制流程,而无需依赖经验性或专有生物数据。
研究背景与问题。下一代测序(NGS)流程依赖质量过滤、接头修剪、读段比对和变异识别等计算软件,其开发与测试需要可靠测试数据集。使用经验测序数据会引入混杂生物变异,限制边缘案例测试,并可能带来知识产权或隐私风险;上传远程服务器或披露专有示例数据亦有风险。合成读段生成可在已知条件下评估算法行为。现有全基因组读段模拟器如ART和ArtificialFastqGenerator基于经验错误谱在参考基因组上采样短读段或片段插入;DWGSIM依赖用户定义参数错误模型但仍需参考基因组;其他工具模拟长读段、单细胞读段架构和平台特异经验错误谱。它们适合大规模基准测试,但对扩增子、接头侧翼插入或工程质粒盒等短构建体的特定读段处理步骤测试不便;配置全基因组模拟器并索引多兆碱基参考基因组带来不必要操作开销;临时脚本赋予均一、不现实质量分数(如恒定Q40)又不能代表真实测序的位置质量退化。近期六种常用短读段模拟器比较也强调需要避免基因组规模模拟开销的轻量工具。因此,作者Alberto Florez Prada与Darren J. Hart开发mock-fastq-generator,以轻量工具直接从短序列模板生成合成FASTQ,并对序列架构和质量分数谱实现确定性控制,便于开发者进行基准测试和生成测试数据集。

关键技术方法(不超过250字)。研究人员采用Python(≥3.8)与原生JavaScript(ES6+)双实现,构建序列组装模块与质量建模模块;前者将用户模板与可选5′上游序列拼接,按需在3′端添加随机核苷酸边距并可选均匀突变率注入替换;后者按Gaussian、Exponential、Sigmoidal模型赋位置Phred质量分数(Phred quality score),叠加均聚物(homopolymer)惩罚、[Qmin,Qmax]截断、离散分箱(binning)与Sanger Phred+33编码。软件支持命令行界面(CLI)/JSON(JavaScript Object Notation)配置、单端/双端、gzip与标准输出流;以pytest实现97%语句覆盖,GitHub Actions用于持续集成(CI)。性能用tracemalloc基准,fastp验证用三个合成数据集。无样本队列来源。

研究结果。
1. 动机与意义(Motivation and significance)。通过需求分析,研究人员指出经验数据存在混杂变异、隐私/知识产权和边缘案例受限问题,全基因组模拟器对短构建体测试存在操作开销,均一质量分数不真实;结论是轻量、确定性合成FASTQ生成具有实际需求。
2. 软件描述(Software description)。软件以Python和原生JavaScript模块化实现,提供PyPI(Python Package Index)包和浏览器端Web应用;核心为序列组装模块与质量建模模块,Web端在浏览器本地完成序列组装、质量计算和文件生成。
2.1 软件架构与质量保证(Software architecture and quality assurance)。Python包可经PyPI安装,pytest达到97%语句覆盖;GitHub Actions管理工作流和代码修改后的自动回归测试;Web应用用HTML5、CSS3和JavaScript实现相同功能,并实时可视化位置Phred分数衰减曲线。
2.2 核心功能与性能指标(Core functionalities and performance metrics)。支持单端和双端模式(R1/R2及读段对后缀)、纯文本FASTQ、gzip压缩和标准输出流;CLI参数或JSON配置文件保证可重复生成。基准显示150 bp读段下1000条读段0.11 s(约9100条/s),峰值内存1.22 MB;10000条1.01 s(约9900条/s),5.29 MB;100000条10.08 s(约9900条/s),52.75 MB,内存近线性(完全保留时约0.53 KB/记录)。相比需索引多兆碱基参考基因组和加载经验表的ART或DWGSIM,该工具为轻量、零依赖Python包和客户端Web应用。
2.3 数学质量衰减与错误模型(Mathematical quality decay and error models)。对读段长度N内零索引位置i∈{0,1,…,N?1},未约束质量Qraw(i)由三种模型之一计算:Gaussian模型以中心C和宽度σ形成对称峰并加高斯噪声(标准差η);Exponential模型以衰减率λ产生3′端渐进下降,i1.25使i=0处导数为零以模拟初始高质量平台;Sigmoidal模型以陡度k>0和拐点C实现从Qmax到Qmin的转变并加噪声。对长度超过4的连续相同核苷酸均聚物,位置施加经验质量降低ΔH=10;调整后分数截断至[Qmin,Qmax]并四舍五入;若启用分箱,则映射至默认B={12,24,40}或用户自定义离散箱;最终整数经S(i)=chr(Qfinal(i)+33)编码为Sanger Phred+33 ASCII。核苷酸替换噪声用用户定义均匀替换率提供基线错误模型;当前实现不建模经验Illumina数据中的上下文依赖替换偏倚(如G前导或GG结尾基序)。
3. 示例(Illustrative examples)。通过命令行调用,研究人员生成以C=100、k=1.0为中心的3′端Sigmoidal质量下降数据集用于滑动窗口修剪基准;生成含3态NovaSeq X质量分箱和均聚物惩罚的双端数据集;并演示直接流式传输至处理流程。示例比较了500碱基构建体上的Gaussian(C=100,σ=300)、Exponential以及Sigmoidal叠加3态NovaSeq X分箱和均聚物惩罚的衰减谱。
4. 影响(Impact)。该工具为评估NGS序列预处理软件(如Trimmomatic、fastp、Cutadapt)和扩增子去噪工具(如DADA2)提供客观测试工具。经验测序运行中真实底层序列及质量低于阈值的精确坐标无法确定,开发者不能定量区分合理质量修剪与算法导致的过度或不足修剪;合成读段具有解析定义的质量谱和已知转换坐标,提供确定性真值以定量验证预处理参数。使用fastp的3′端滑动窗口质量修剪验证:三个合成数据集N=100、读长150 bp;Q∈[0,7]时100/100读段被丢弃(0%通过);Q∈[28,40]时100/100读段保留且零截断(100%通过,150 bp);Sigmoidal下降C=100、k=1.0、Q40→Q5时100/100读段在位置100±1 bp被修剪,表明当4碱基移动窗口平均低于指定阈值时工具正确触发。

讨论部分总结。作者在影响部分强调,mock-fastq-generator以解析定义的质量谱和已知转换坐标提供确定性真值,可用于定量验证修剪、过滤和扩增子去噪流程,弥补经验数据无法确定真实序列与精确质量转折坐标的局限;fastp基准结果支持其对全局过滤、保留和局部滑动窗口截断行为的验证用途。文中亦指出当前实现不建模经验Illumina上下文依赖替换偏倚。

研究结论翻译。mock-fastq-generator提供了一个轻量级、确定性的框架,用于基于构建体组装和数学衰减模型生成合成FASTQ测序数据。该工具既可作为PyPI Python包,也可作为零依赖Web界面使用,为NGS数据分析中的自动化单元测试、质量控制和流程验证建立了平台。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号