BMC生物信息学。2014; 15(补充16):S15。
没有金标准的生物信息学软件的验证和验证:以BWA和Bowtie为例
,1,2 ,1,2 ,1,2和1,2 埃利尼·贾努拉图
1澳大利亚新南威尔士州达林赫斯特Victor Chang心脏研究所
2澳大利亚新南威尔士州新南威尔斯大学
新河公园
1澳大利亚新南威尔士州达林赫斯特Victor Chang心脏研究所
2澳大利亚新南威尔士州新南威尔斯大学
大卫·T·汉弗莱斯
1澳大利亚新南威尔士州达林赫斯特Victor Chang心脏研究所
2澳大利亚新南威尔士州新南威尔斯大学
约书亚·WK·何
1澳大利亚新南威尔士州达林赫斯特Victor Chang心脏研究所
2澳大利亚新南威尔士州新南威尔斯大学
1澳大利亚新南威尔士州达林赫斯特Victor Chang心脏研究所
2澳大利亚新南威尔士州新南威尔士大学
通讯作者。 补充
第十三届国际生物信息学会议(InCoB2014):生物信息学
肖巴·兰加纳坦
会议
亚太生物信息网络(APBioNet)第十三届国际生物信息学会议(InCoB2014)
2014年7月31日至8月2日
澳大利亚悉尼
版权©2014 Giannoulato等人。;被许可方BioMed Central Ltd。 摘要
背景
生物信息学软件质量保证在基因组医学中至关重要。生物信息学软件的系统验证和确认很困难,因为通常不可能获得系统评估的现实“金标准”。这里我们应用了一种源自软件测试文献的技术,即蜕变测试(MT),系统测试三个广泛使用的短读序列比对程序。
结果
MT通过检查程序的多次执行的结果是否满足一组可从软件规范或用户期望中得出的预期或期望属性,从而缓解了与缺乏黄金标准相关的问题。我们使用模拟数据和一个HapMap数据集测试了BWA、Bowtie和Bowtie2。有趣的是,使用稍微修改的输入FASTQ序列文件多次执行同一对准器,例如在随机重新排序读取后,可能会影响对准结果。此外,我们发现,除非在变量调用期间应用严格的质量控制,否则变量调用列表可能会受到影响。
结论
生物信息学软件的全面测试对于临床基因组医学的交付至关重要。本文演示了一个不同的框架来测试一个涉及检查其属性的程序,从而大大扩展了我们可以在实践中应用的测试用例的数量和储备。
关键词:生物信息学软件测试、软件质量保证、变形测试、基因组医学
背景
高通量下一代测序(NGS)技术的出现大大加快了疾病基因发现的步伐,并彻底改变了人类遗传病和癌症的诊断和管理[1-5]. 能够重建个体的遗传结构并准确预测致病性遗传变异的影响,对于遗传咨询和作出明智的医疗决策至关重要。个性化基因组医学的时代即将到来。新的生物信息学工具正在以非常快的速度开发,以分析此类数据集,并应对不断生成的新型“组学”数据[6].
如果生物信息学工具用于转化医学环境,如全外显子序列测定(WES)或全基因组测序(WGS)数据的分析和解释,那么软件质量保证就变得尤为关键。我们必须确保只使用经过验证的算法,并且在分析管道中正确实现这些算法。更重要的是,计算结果必须满足预期用户的一般期望。最近的研究表明,多个广泛使用的变异调用管道的一致性很低(在15个外显子组中,单核苷酸变异调用的一致性低至57.4%,独立调用的一致度低至26.8%)[7]. 当使用不同的变体注释程序来注释遗传变体时,即使使用相同的转录物定义,也会观察到类似的令人不安的分歧程度[8]. 考虑到只有一个基本事实,这种高度差异令人担忧,并告诉我们,即使是迄今为止最流行的生物信息学工具也可以产生具有不可忽略的假阳性或假阴性率的结果。假阳性和假阴性都可能是一个巨大的问题。虽然通过外部验证(如桑格测序)可以很容易地将假阳性与真阳性区分开来,但几乎不可能系统地将假阴性与大量真阴性区分开来。
以前关于科学软件评估的工作表明,科学计算程序之间的数值分歧以每4000行已实现代码的平均绝对差异1%左右的速度增长,并且这种分歧的性质是非随机的[9]. 最新的科学研究,尤其是在生物信息学和计算生物学领域,涉及大型复杂数据集和复杂算法。这种复杂性使得复制已发表的研究结果变得困难。此外,并非所有用户都完全理解科学程序的预期用途和局限性[10]. 使用的计算机代码的错误或局限性可能无法被发现,对未来的研究可能产生负面影响[11]. 因此,出现了一个新的问题,即对计算机代码进行科学同行审查,以最大限度地减少可能妨碍其他研究人员复制已发表研究结果的错误或限制[12]. 最重要的是,已经发表了许多论文,试图训练科学家采用科学计算的最佳实践[13-17].
软件测试被定义为主动识别计算机程序中潜在故障的过程[18,19]. 此过程可用于两个目的:确保程序按照规范正确执行(即.,验证),并确保根据所需的用户要求使用正确的规范(即.,验证)。已经开发了许多软件测试策略,其中大多数策略以不同的有效性在工业中广泛使用[20].
对生物信息学程序进行系统和自动的测试并不像人们想象的那样微不足道。如果不是不可能的话,通常很难定义一个金标准机制来确定给定任何可能的输入的目标程序的输出是否正确。此机制称为神谕在软件测试领域。如果存在测试预言机,我们可以应用大量和各种测试用例来测试程序,因为可以使用预言机验证输出的正确性。如果没有一个有形的预言机,测试用例的选择将极大地局限于那些预期输出已知或存在容易验证测试结果正确性的方法的特殊测试用例。问题是基因组医学应用中使用的生物信息学工具通常缺乏预言机,这大大限制了我们系统和自动执行测试的能力。目前,大多数软件开发人员使用少量模拟测试用例测试他们的程序,或者将他们的程序与预期会产生相同结果的其他现有程序进行比较[21,22]. 这两种方法实际上都是试图接近测试的黄金标准。然而,这两种方法都有明显的缺点。模拟数据可能无法真实反映真实数据的特征,如果多个程序产生不同的结果,那么确定基本事实的最佳方法尚不清楚。在这份手稿中,我们演示了如何在不需要黄金标准的情况下系统地生成和检查许多测试用例的正确性。我们的策略依赖于一种称为变形测试(MT)的软件测试技术[23-26]. 这种方法通过使用一些特定于问题域的属性,即变形关系(MR)来验证测试输出,从而缓解了预言机问题。中心思想是,虽然不可能直接测试任何给定测试用例的正确性,但很容易验证程序多次执行产生的输出之间的关系。换句话说,机器翻译测试用户期望正确程序的属性。
我们之前使用机器翻译测试了一系列生物信息学和机器学习程序[27-29]. 我们的工作代表了生物信息学软件可靠性的重要一步。在这项工作中,我们的目标是通过将机器翻译应用于国际学术界广泛使用的三个常用NGS短读对准程序:BWA,来扩大我们在该领域的贡献[30]、鲍蒂[31]和鲍蒂2[32]. 我们的目标不是对短读对齐程序进行另一次比较,这之前已经进行了广泛的研究[33,34]. 本文是一个案例研究,研究我们如何利用最先进的软件测试技术(变形测试)来系统地测试几个用户的期望,这对验证和验证几个广泛使用的生物信息学程序很有用。我们开发了一个完全自动化的软件测试工具,可以用来系统地评估这些程序的预期行为。我们还研究了如果对齐算法不能满足某些用户期望,对变量调用的潜在影响。这项工作作为一个案例研究,用于演示直观测试框架在生物信息学软件系统验证和确认中的应用。
方法
变形测试
我们的MT工具的设计如图所示短序列读取(FASTQ格式)使用三种不同的序列比对工具与hg19参考基因组进行比对:BWA(v0.7.5a)[30]、鲍蒂(v1.0)[31]和Bowtie2(v2.1)[32]. 原始“源”输入可以基于模拟或实际数据,由一个或多个MR修改。这里,我们根据软件的预期属性提出九个MR(即.,普通用户对该程序的期望)。在输入上应用每个MR以生成修改后的“后续”输入后,再次执行程序,并根据MR中指定的源输出和后续输入之间的预期关系测试输出。换句话说,MR有两个目的:(1)通过修改源输入生成额外的测试用例,以及(2)检查执行“源”和“后续”测试用例生成的输出之间的关系。应该注意的是,通常许多后续测试用例都可以从基于一个MR的单源测试用例输入中派生出来。在本研究中,我们将分析限制为每次运行MT的一个源和一个后续测试用例。预期结果因每个MR而异,但可以指示是否检测到故障。故障可能意味着各种可能性,从软件设计偏差到用户期望(即.,验证)到软件实现中的错误(即.,验证)。
变形测试工具NGS短读对准软件中变形测试工具的设计。
MT工具是作为Unix shell脚本实现的。脚本的源代码和文档位于https://sourceforge.net/projects/mr-test/。使用samtools(v0.1.19)执行对结果输出BAM文件的操作[35].
变形关系
我们设计了以下一组MR,旨在捕获每个短读对齐软件的预期行为。应该注意的是,MR的设计不是基于特定序列比对器的算法或实现,而是基于用户对良好序列比对器预期行为的期望。这里的描述是针对配对测序数据集的,但它也可以很容易地应用于单端数据集。我们将两端的读数表示为Read1和Read2。
MR1:读取的随机排列.FASTQ文件中的读取被重新洗牌。读1和读2的排列相同。我们希望输出映射与原始输出相同。
MR2:读取的反向补码。Read1和Read2都是反向补码,其相应的质量值被反转以匹配核苷酸碱基。它们在算法输入中的顺序颠倒了。我们希望输出映射是相同的。
MR3:添加读数。FASTQ文件(在Read1和Read2文件中)中的输入读取是重复的。我们希望所有原始读取的输出映射到相同的位置,而其他读取映射到与其副本相同的位置。
MR4:读取的删除。输入FASTQ文件(Read1和Read2文件)中的一半读取被删除。我们希望非移除读取的输出映射保持在相同的位置。结果测序覆盖率应为原始映射的一半。
MR5:读取扩展在初始映射后,根据参考基因组序列,每个读取被扩展20 bp到读取的3'或5'末端,具有高质量分数。我们希望输出映射保持不变。
MR6:未映射的读取。初始定位后,仅选择未定位的读取,并根据参考基因组重新定位。我们希望不会映射任何读取。
MR7:映射读取。初始映射后,仅选择映射的读取并根据参考基因组重新映射。我们希望所有读取都将被映射。对于成对的末端读取,只有正确配对的读取才会重新映射。
MR8:读取的质量分数增加初始映射后,所有映射序列的质量分数都会增加。我们希望输出映射保持不变。
MR9:纠正映射读取中的错误或不匹配。初始映射后,将选择映射的读取,并更正读取中的任何不匹配或错误。我们希望输出映射保持不变。
模拟数据
变形测试特性可以应用于任何样品,因为不需要金标准。为了在一系列输入测试用例中展示其实用性,我们在模拟和真实数据集上应用了MT。在模拟数据方面,我们使用了simNGS和simLibrary(http://www.ebi.ac.uk/goldman-srv/simNGS/)基于不同读取次数(10)的人类参考基因组(hg19)模拟NGS短读取数据集三, 104, 105, 106、和107)为了评估总读取次数对我们检测校准软件中限制的能力的影响。
HapMap数据
机器翻译的主要优点之一是我们可以测试真实数据,而不仅仅是模拟数据。我们选择将MT应用于一个广泛研究的HapMap样本,该样本已使用Illumina HiSeq 2000作为1000基因组项目的一部分进行了外显子序列测定[36,37]. 运行ID为SRR716647的FASTA文件(来自研究SRP004078)从1000 Genomes FTP站点下载(ftp://ftp.1000基因组.ebi.ac.uk/vol1/ftp/). 测序与26892758 Read1和Read2序列配对。此外,我们下载了569554次读取的单端数据集。该测序运行来自HapMap个体NA12872,该个体是1000个基因组CEPH(具有北欧和西欧血统的犹他州居民)中未受影响的男性样本。由于变质性质需要对FASTQ文件进行广泛的操作,我们选择这次运行作为测序外显子组的代表性示例,而没有限制我们分析的非常大的文件大小。
使用GATK调用变量
为了评估违反几个关键MR的下游影响(例如MR1、MR5和MR7)在下游遗传变异调用的序列比对期间,我们在HapMap数据集上运行了一个常用的变异调用管道。在BWA之后,使用基因组分析工具包(GATK)(v2.6)进行变体调用[38]. 由于我们的MR不对BAM(映射)文件应用任何过滤,因此在只考虑唯一映射的读取后重复分析。
结果和讨论
短读校准软件的局限性
我们测试了三种广泛使用的短读对齐工具(BWA、Bowtie和Bowtie2)在不同覆盖范围(10三, 104, 105, 106、和107每个FASTQ文件中的读取总数)。表显示了三种工具(BWA、Bowtie和Bowtie2)的MR结果。我们还对配对和单端数据集的HapMap样本NA12872的外显子组测序运行应用了相同的MR。表显示了分别对配对数据和单端数据应用9个MR后的结果(表示失败或通过)。失败(F)表示结果对齐之间的差异。这种差异可能是由于应用MT后只有少数或多个读取映射不同所致。
表1
MT的结果应用于三个短读比对程序(BWA、Bowtie和Bowtie2),在不同数量的配对测序模拟读取上运行。
夫人 | 10三 | 104 | 105 | 106 | 107 |
---|
BWA公司 |
|
MR1型 | F类 | F类 | F类 | F类 | F类 |
MR2型 | F类 | F类 | F类 | F类 | F类 |
MR3型 | F类 | F类 | F类 | F类 | F类 |
MR4型 | | F类 | F类 | F类 | F类 |
MR5型 | F类 | F类 | F类 | F类 | F类 |
MR6型 | | | | | |
MR7型 | | | | F类 | F类 |
MR8型 | | | | | |
MR9型 | | | | | |
|
鲍蒂 |
|
MR1型 | |
MR2型 | F类 | F类 | F类 | F类 | F类 |
MR3型 | | | | | |
MR4型 | | | | | |
MR5型 | F类 | F类 | F类 | F类 | F类 |
MR6型 | | | | | |
MR7型 | | | | | |
MR8型 | F类 | F类 | F类 | F类 | F类 |
MR9型 | | | | | |
|
鲍蒂2 |
|
MR1型 | |
MR2型 | F类 | F类 | F类 | F类 | F类 |
MR3型 | | | | | |
MR4型 | | | | | |
MR5型 | F类 | F类 | F类 | F类 | F类 |
MR6型 | | | | | |
MR7型 | | | | | |
MR8型 | F类 | F类 | F类 | F类 | F类 |
MR9型 | | | | | |
表2
应用于3个NGS短读比对程序的MT结果在HapMap样本NA12872的配对端和单端测序读数上运行。
夫人 | BWA公司 | 博蒂 | 波提亚2 |
---|
成对end排序读取 |
|
MR1型 | F类 | | |
MR2型 | F类 | F类 | F类 |
MR3型 | F类 | | |
MR4型 | F类 | | |
MR5型 | F类 | F类 | F类 |
MR6型 | | | |
MR7型 | F类 | | |
MR8型 | | F类 | F类 |
MR9型 | F类 | | F类 |
|
单端测序读取 |
|
MR1型 | F类 | | |
MR2型 | F类 | F类 | F类 |
MR3型 | F类 | | |
MR4型 | | | |
MR5型 | F类 | F类 | F类 |
MR6型 | | | |
MR7型 | | | |
MR8型 | | F类 | F类 |
MR9型 | F类 | | F类 |
我们发现,MR1(读取的随机排列)和MR3(读取的添加)编码的预期行为对于模拟或实际数据(NA12872;单个和成对-end)的BWA都不成立,但通过了我们对Bowtie和Bowtie2的测试。类似地,属性MR4(删除读取)和MR7(映射读取)虽然适用于Bowtie和Bowtie2,但对于高于某些测序覆盖率的模拟配对数据,它们在BWA中失败(>10三对于MR4和>107对于MR7)。对于所有三种算法和输入数据,变形关系MR2(反向补码读取)和MR5(扩展读取)都失败,而另一方面,从未违反MR6(未映射读取)。最后,我们发现MR8(读取的质量分数增加)对Bowtie和Bowtie2失败,但对BWA和MR9(校正映射读取中的错误或不匹配)失败,只有在应用于实际测序运行时(NA12872)。
在我们的“黑盒”测试之后,我们试图通过调查故障的性质来解释上述结果。我们得出结论,MR2(读的反向补码)和MR5(读的扩展)虽然可能是可取的,但它们不是短读对齐程序的必要属性,并且表明了与我们作为测试人员所假设的略有不同的规范。这些算法期望成对的读取以特定的方向正确映射,并且通过反向补充,这种结构会丢失。此外,在重新映射之前将读取扩展20bp,可能会因不匹配和错误而扩展读取,从而有利于替代映射位置。
然后,我们调查了在BWA测试期间系统性失败的特性,但不适用于Bowtie和Bowtie2。对BAM文件的下游分析显示,映射差异主要发生在分配给最低映射质量的读取或在基因组中没有唯一映射的读取。通过进一步检查BWA的实现,我们发现在非唯一映射读取的情况下,算法被设置为报告为每个读取随机选择的一个对齐。正如我们发现的那样,这种选择并不是完全随机的,因为对于同一个FASTQ文件,重复执行总是会产生相同的结果。随机数生成器的种子是固定的,因此选择的随机数总是相同的。这意味着,如果输入序列文件中的读取位于文件中的不同位置,例如随机重新洗牌读取(MR1)、添加或删除读取(MR3和MR4)或仅选择映射读取(MR7)后,每个非唯一映射读取的报告对齐将不同。此外,我们发现,抑制可以与多个位置对齐的读取并没有解决问题,因为这些读取可能很难在BAM文件中检测到,这是我们在下一节中专门解决的问题。我们应该注意,对于低覆盖率测序,这个问题可能并不总是像我们通过模拟运行发现的那样被检测到。
Bowtie和Bowtie2没有出现此问题的原因是,伪随机数生成器在每次读取时都会重新初始化,用于初始化它的种子是读取名称、核苷酸字符串、质量字符串和特定参数“-seed”指定的值的函数。因此,随机选择的报告对齐对于每个读取对总是相同的,而不考虑它在输入文件中的位置。另一方面,由于此实现使用了质量分数,这就解释了为什么MR8(读取的质量分数增加)对Bowtie和Bowtie2失败,但对BWA无效。同样,报告的非唯一映射读取不同,因此产生的映射也不同。我们还应该注意到,Bowtie和Bowtie2实现使用回溯从左到右查找对齐,如果有同样好的基础,则选择将是随机的。因此,当基数改变时,这个选择也会改变,这也是MR5(扩展读取)总是失败的另一个原因。
最后,MR9(更正映射读取中的错误或不匹配)是唯一在Bowtie和Bowtie2之间产生不同结果的属性。我们发现这个属性在很大程度上依赖于输入数据。使用模拟数据时,没有检测到故障。这是意料之中的,因为模拟数据中的错误结构是预先确定的,而纠正映射读取中的不匹配只会改善映射。另一方面,实际数据可能会受到许多偏差来源的影响,而对不匹配的纠正可能会导致将读取映射到基因组的完全不同位置。此外,实现首先检查不匹配的数量,以确定考虑质量分数总和的最佳对齐。当这些不匹配被修复时,可能会有其他相等的对齐,并且对齐的数量可能会更改。
MR在下游分析中的作用
为了研究这些特性在下游WGS或WES分析中的影响,我们运行了一条常用的管道,其中包括BWA比对,然后使用基因组分析工具包(GATK)进行变量调用[38]. 我们为外显子组测序样品NA12872运行了这条管道。由于我们的MR不对BAM(映射)文件应用任何过滤,因此在只考虑唯一映射的读取后重复分析。我们发现,在进行任何筛选之前,当我们使用原始BAM文件以及MR1、MR5或MR7之后的BAM文件时,调用的变体数量是不同的(图).
应用MR1、MR5和MR7后使用原始读取映射和映射调用的变体数量A.使用所有读数。B.删除非唯一映射读取后。
随后,我们过滤了非唯一映射读取,并重复了变量调用步骤。我们发现,变量调用的数量仍然不一致(图). 通过映射质量为0以及具有与多个位置对齐的指示标签的读取来过滤这些读取(对于成对的末端读取,“XT:A:R”和“XT:A:M”表示其中一个读取不是唯一映射的)。我们发现,需要更高的质量阈值来实现结果之间的一致性,而指定的标记不足以捕获所有非唯一映射的读取(还考虑到报告的读取在不同的MR之间会有所不同,如前一节所述)。
基因组医学的意义
多项研究评估了这些和其他映射算法的性能[33,39-41]但我们能够做到这一点,而不需要oracle或直接比较方法。MT技术不需要一种机制来验证单个测试输出是否正确,而是验证一对测试输出是否符合一组特定领域的属性,从而大大增加了可以应用的测试用例的数量和种类。通过使用机器翻译,我们发现了BWA、Bowtie和Bowtie2的局限性,因为它们违反了以变形关系形式编码的几个用户期望。虽然这些关系中的一些不是短读对齐软件的必要属性,但它们对软件验证和软件分析很重要。我们检测到一些MR中的违规行为,这些违规行为可以被描述为必要的,从而揭示了这些工具在实施中的局限性,尽管这些工具很小。通过在变量调用中应用严格的质量控制过滤,可以克服序列比对中与这些小限制相关的问题。尽管如此,我们确实认为,在分析一系列测序数据集时,测试这种广泛使用的程序是否有局限性很重要,这在以前的研究中也有显示[42]. 由于机器翻译的一个主要优点是它可以大大增加测试用例的数量,我们可以想象有可能扩展这个框架,以自动和系统地生成许多人工的“积极控制”和“消极控制”,可以嵌入每个FASTQ文件中,并进行正确性检查。
结论
这项工作说明了测试对验证和验证生物信息学软件的重要性。系统测试可以揭示用户无法预料和检测到的程序错误和结果。这种错误或限制可能会对生物信息学和科学计算产生巨大影响,影响下游研究或临床决策。我们提出了一个用于生物信息学软件测试的变形测试框架,并通过测试三个广泛使用的序列比对器来证明其实用性。
作者的贡献
JWKH构思了这项研究。EG和JWKH设计了研究并撰写了论文。上海医药实施了该软件。EG和SHP进行了分析。DTH为该项目提供了关键软件。
致谢
我们感谢T.Y.Chen教授对变形测试应用的有益讨论。
工具书类
- Mardis ER。下一代测序技术对遗传学的影响。遗传学趋势。2008;24(3):133–141. doi:10.1016/j.tig.2007.12.007。[公共医学] [交叉参考][谷歌学者]
- Bamshad MJ、Ng SB、Bigham AW、Tabor HK、Emond MJ、Nickerson DA、Shendure J.外显子序列测定作为孟德尔病基因发现的工具。《自然评论遗传学》。2011;12(11):745–755. doi:10.1038/nrg3031。[公共医学] [交叉参考][谷歌学者]
- Kiezun A、Garimella K、Do R、Stitziel NO、Neale BM、McLaren PJ、Gupta N、Sklar P、Sullivan PF、Moran JL。等。外显子序列测定和复杂性状的遗传基础。自然遗传学。2012;44(6):623–630. doi:10.1038/ng.2303。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Boycott KM、Vanstone MR、Bulman DE、MacKenzie AE。下一代测序时代的Rare-disease遗传学:发现到翻译。《自然评论遗传学》。2013;14(10):681–691. doi:10.1038/nrg3555。[公共医学] [交叉参考][谷歌学者]
- Feero WG、Guttmacher AE、McDermott U、Downing JR、Stratton MR。基因组学和癌症护理的连续性。《新英格兰医学杂志》。2011;364(4):340–350. doi:10.1056/NEJMra0907178。[公共医学] [交叉参考][谷歌学者]
- Berger B、Peng J、Singh M。组学数据的计算解决方案。《自然评论遗传学》。2013;14(5):333–346. doi:10.1038/nrg3433。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- O'Rawe J、Jiang T、Sun G、Wu Y、Wang W、Hu J、Bodyly P、Tian L、Hakonarson H、Johnson WE。等。多个变量调用管道的低一致性:外显子组和基因组测序的实际意义。基因组医学。2013;5(3):28. doi:10.1186/gm432。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- McCarthy DJ、Humburg P、Kanapin A、Rivas MA、Gaulton K、Consortium TW、Cazier JB、Donnelly P。转录本和软件的选择对变体注释有很大影响。基因组医学。2014;6:26.doi:10.1186/gm543。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Hatton L,Roberts A.科学软件的准确性如何?IEEE软件工程汇刊。1994;20(10):785–797. doi:10.1109/32.328993。[交叉参考][谷歌学者]
- Joppa LN、McInerny G、Harper R、Salido L、Takeda K、O'Hara K、Gavaghan D、Emmott S。科学软件使用的麻烦趋势。科学。2013;340(6134):814–815. doi:10.1126/science.1231535。[公共医学] [交叉参考][谷歌学者]
- 彭瑞德。计算科学中的可再现研究。科学。2011;334(6060):1226. doi:10.1126/science.1213847。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Mozilla计划试图调试科学代码。自然。2013;501(7468):472–472. doi:10.1038/501472a。[公共医学] [交叉参考][谷歌学者]
- Baxter SM、Day SW、Fetrow JS、Reisinger SJ。科学软件开发并不是一个自相矛盾的说法。《公共科学图书馆·计算生物学》。2006;2(9):87. doi:10.1371/journal.pcbi.0020087。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Sandwe GK、Nekrutenko A、Taylor J、Hovig E.可再生计算研究的十条简单规则。《公共科学图书馆·计算生物学》。2013;9(10):1003285. doi:10.1371/journal.pcbi.1003285。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Seemann T.关于创建可用的生物信息学命令行软件的十条建议。GigaScience。2013;2(1):15. doi:10.1186/2047-217X-2-15。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Altschul S、Demchak B、Durbin R、Gentleman R、Krzywinski M、Li H、Nekrutenko A、Robinson J、Rasband W、Taylor J等。成功计算生物学软件的剖析。自然生物技术。2013;31(10):894–897. doi:10.1038/nbt.2721。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Wilson G、Aruliah D、Brown CT、Hong NPC、Davis M、Guy RT、Haddock SH、Huff KD、Mitchell IM、Plumbley MD等。科学计算最佳实践。公共科学图书馆生物学。2014;12(1):1001745. doi:10.1371/journal.pbio.1001745。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- 贝塞尔B。软件测试技术。Van Nostrand Reinhold;1990[谷歌学者]
- 阿曼·P、奥弗特·J。软件测试简介。剑桥大学出版社;2008[谷歌学者]
- 贝尔托利诺A。2007软件工程的未来。IEEE计算机学会;2007年。软件测试研究:成就、挑战、梦想;第85-103页。[谷歌学者]
- Evans TW、Gillespie CS、Wilkinson DJ。SBML离散随机模型测试套件。生物信息学。2008;24:285–286. doi:10.1093/bioinformatics/btm566。[公共医学] [交叉参考][谷歌学者]
- Bergmann FT,Sauro HM。比较支持SBML的模拟器的仿真结果。生物信息学。2008;24:1963–1965. doi:10.1093/bioinformatics/btn319。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Chen TY、Cheung SC、Yiu SM。技术报告HKUST-CS98-01。香港科技大学计算机科学系;1998.变形测试:生成下一个测试用例的新方法。[谷歌学者]
- 陈天勇、冯杰、谢霆。第26届国际计算机软件与应用年会论文集(COMPSAC 2002)IEEE计算机学会出版社;2002.偏微分方程程序的变形测试:案例研究;第327-333页。[谷歌学者]
- 陈天勇、黄德华、谢霆、周志强。第四届伊比利亚-美国软件工程和知识工程研讨会论文集(JIISIC 2004)马德里理工大学,西班牙马德里;2004年。变质测试中有用关系选择的案例研究;第569–583页。[谷歌学者]
- 陈天勇,郭FC,周志强。一种针对最终用户程序员的有效测试方法。《终端用户软件工程第一次研讨会论文集》。2005
- Chen TY,Ho JW,Liu H,Xie X.使用变形测试测试生物信息学程序的创新方法。BMC生物信息学。2009;10(1):24. doi:10.1186/1471-2105-10-24。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Sadi MS,Kuo F,Ho JWK,Charleston MA,Chen TY。使用变形测试验证系统发育推断程序。生物信息学和计算生物学杂志。2011;09(06):729–747. doi:10.1142/S02197201100563X。[公共医学] [交叉参考][谷歌学者]
- Xie X,Ho JWK,Murphy C,Kaiser G,Xu B,Chen TY。通过变形测试测试和验证机器学习分类器。系统与软件杂志。2011;84(4):544–558. doi:10.1016/j.jss.2010.11.920。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Li H,Durbin R.使用burrows-wheeler变换快速准确地进行短读对齐。生物信息学。2009;25(14):1754–1760. doi:10.1093/bioinformatics/btp324。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Langmead B、Trapnell C、Pop M、Salzberg SL等。短dna序列与人类基因组的超快和记忆效率比对。基因组生物学。2009;10(3):25. doi:10.1186/gb-2009-10-3-r25。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Langmead B,Salzberg SL。与领结2的快速间隙对准。自然方法。2012;9(4):357–359. doi:10.1038/nmeth.1923。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Ruffalo M、LaFramboise T、Koyutürk M。下一代序列读取对齐算法的比较分析。生物信息学。2011;27(20):2790–2796. doi:10.1093/bioinformatics/btr477。[公共医学] [交叉参考][谷歌学者]
- Li H,Homer N.下一代测序中序列比对算法的调查。生物信息学简介。2010;11(5):473–483. doi:10.1093/bib/bbq015。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Li H、Handsaker B、Wysoker A、Fennell T、Ruan J、Homer N、Marth G、Abecasis G、Durbin R.等人。序列比对/地图格式和样本工具。生物信息学。2009;25(16):2078–2079. doi:10.1093/bioinformatics/btp352。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- 1000基因组项目联盟。人群规模测序的人类基因组变异图。自然。2010;467(7319):1061–1073. doi:10.1038/nature09534。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- 1000基因组项目联盟。1092个人类基因组遗传变异的综合图。自然。2012;491(7422):56–65. doi:10.1038/nature11632。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- McKenna A、Hanna M、Banks E、Sivachenko A、Cibulskis K、Kernytsky A、Garimella K、Altshuler D、Gabriel S、Daly M.等人。基因组分析工具包:用于分析下一代dna测序数据的mapreduce框架。基因组研究。2010;20(9):1297–1303. doi:10.1101/gr.107524.110。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Li H,Homer N.下一代测序中序列比对算法的调查。生物信息学简介。2010;11(5):473–483. doi:10.1093/bib/bbq015。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]
- Bao S、Jiang R、Kwan W、Wang B、Ma X、Song YQ。下一代测序软件在绘图和组装中的评估。人类遗传学杂志。2011;56(6):406–414. doi:10.1038/jhg.2011.43。[公共医学] [交叉参考][谷歌学者]
- Fonseca NA、Rung J、Brazma A、Marioni JC。绘制高通量测序数据的工具。生物信息学。2012;28(24):3169–3177. doi:10.1093/bioinformatics/bts605。[公共医学] [交叉参考][谷歌学者]
- Yu X、Guda K、Willis J、Veigl M、Wang Z、Markowitz S、Adams MD、Sun S。比对程序如何处理不同质量和来自重复区域的测序数据?生物数据挖掘。2012;5(1):6. doi:10.1186/1756-0381-5-6。 [PMC免费文章][公共医学] [交叉参考][谷歌学者]