CN101720359A - 从多重混合物中识别个别样本的系统和方法 - Google Patents

从多重混合物中识别个别样本的系统和方法 Download PDF

Info

Publication number
CN101720359A
CN101720359A CN200880018420A CN200880018420A CN101720359A CN 101720359 A CN101720359 A CN 101720359A CN 200880018420 A CN200880018420 A CN 200880018420A CN 200880018420 A CN200880018420 A CN 200880018420A CN 101720359 A CN101720359 A CN 101720359A
Authority
CN
China
Prior art keywords
sequence
recognin
nucleic acid
mistake
introducing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200880018420A
Other languages
English (en)
Inventor
M·S·布拉弗曼
J·F·西蒙斯
M·斯里尼瓦桑
G·S·图伦查尔克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
454 Life Science Corp
Original Assignee
454 Life Science Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 454 Life Science Corp filed Critical 454 Life Science Corp
Publication of CN101720359A publication Critical patent/CN101720359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids

Landscapes

  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Zoology (AREA)
  • Wood Science & Technology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Microbiology (AREA)
  • Immunology (AREA)
  • Physics & Mathematics (AREA)
  • Molecular Biology (AREA)
  • Biotechnology (AREA)
  • Biophysics (AREA)
  • Analytical Chemistry (AREA)
  • Biochemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Genetics & Genomics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

此处描述了用于识别模板核酸分子的来源的识别子元件(identifierelement)的实施方式,该识别子元件包含核酸元件,该核酸元件包含能够检测由该核酸元件生成的序列数据中的引入错误(introduced error)并校正该引入错误的序列组成,其中该核酸元件被构建为与模板核酸分子的末端偶联并识别该模板核酸分子的来源。

Description

从多重混合物中识别个别样本的系统和方法
技术领域
本发明涉及分子生物学和生物信息学领域。更具体而言,本发明涉及将有时也被称为多重识别子(MID)的独特识别子(UID)元件与一个或多个来自特定样本的核酸元件相关联,将来自该样本的关联元件与来自一个或多个其它样本的关联元件合并进入所述样本的多重混合物,并通过一般称为“测序”的技术所生成的数据识别每个识别子及其关联的样本。
背景技术
在本领域存在多种可应用于本发明的已知“测序”技术,例如,基于采用终止和大小分离技术的本领域普通技术人员公知的所谓Sanger测序法的技术。用于确定核酸样本中一个或多个核苷酸的一致性或序列组成的其它类别的有效高通量测序技术包括被称为“合成测序”(SBS)的技术、“杂交测序”(SBH)或“连接测序”(SBL)的技术。其中,SBS方法相对之前使用的测序方法提供了多种有用的优势,其包括,但不限于,以相对过往技术较低的成本大规模平行生成大容量的高质量序列信息。此处所用的术语“大规模平行”通常指从多个不同模板分子并行地同时生成序列信息,其中该单个模板分子或基本相同的模板分子群体被分离或划分并同时进行测序过程,该过程可包括一些反应的重复系列,从而生成代表每个模板分子的核酸组成的独立序列读取。换言之,该优点包括对与多个不同样本关联的多个核酸元件或样本内存在的不同核酸元件同时测序的能力。
典型的SBS方法的实施方式包括逐步合成与模板核酸分子互补的单链多聚核苷酸分子,该模板核酸分子的核苷酸序列组成待测定。例如,SBS技术通常可通过向与模板分子的核酸种类在相应序列位置处互补的新生多聚核苷酸分子添加单个核酸(也称为核苷酸)种类进行。向该新生分子添加该核酸种类通常采用本领域已知的多种方法检测,该方法包括,但不限于被称为焦磷酸测序或荧光检测的方法,例如采用可逆终止子或能量转移标记包括荧光共振能量转移染料(FRET)的方法。典型地,该过程被重复直至完全(即,所有的序列位置被描述)或者合成与该模板互补的所需序列长度。
此外,如上文所述,多个SBS的实施方式能够以大规模平行的方式进行测序操作。例如,SBS方法的一些实施方式用自动化实施与该制备和/或测序方法相关的一个或多个步骤或操作的仪器实施。一些仪器采用元件例如具有微孔的平板或者其它类型的微反应器构造,其提供同时在每一个微孔或微反应器中进行反应的能力。其它的SBS技术以及进行大规模平行测序的系统和方法的范例描述于美国专利6,274,320、6,258,568、6,210,891、7,211,390、7,244,559、7,264,929、7,335,762和7,323,305,其中每一个均在此为所有目的以全文引入作为参考;以及美国专利申请11/195,254,其在此为所有目的以全文引入作为参考。
在SBS的一些实施方式中,还需要生成每个模板核酸元件许多基本相同的拷贝,从而可以例如在一个或多个核苷酸种类被整合进入包含模板核酸分子拷贝的群体中的每个新生分子时提供更强的信号。本领域已知多种技术可以生成核酸分子拷贝,例如,采用被称为细菌载体进行的扩增,“滚环”扩增(描述于美国专利6,274,320和7,211,390,引入作为参考)、等温扩增技术以及聚合酶链式反应(PCR)方法,该技术的每一种均适用于本发明。一种特别适用于高通量应用的PCR技术是所谓乳滴PCR的方法。
乳滴PCR方法的典型实施方式包括生成两种不混溶的物质的稳定乳滴且其中一种物质分散在第二种物质中时不相互混合。该乳滴可包含悬浮于另一液体中的液滴,且有时被称为隔室、微胶囊、微反应器、微环境或本领域常用的其它名称。该液滴的大小范围可取决于该乳滴成分的组成和所采用的形成技术。所述的乳滴生成微环境,在该微环境中可进行化学反应,如PCR。例如,实施所需PCR反应所需的模板核酸和所有试剂可被胶囊化并化学隔离在乳液的液滴中。可采用该液滴执行PCR方法中典型的热循环操作,以扩增胶囊化的核酸模板,从而生成包含该模板核酸的多个基本相同拷贝的群。同样在本实施例中,部分或所有的所述液滴可进一步包封固体基质如珠子,以吸附核酸、试剂、标记物或其它目标分子。
可用于本发明的乳滴的实施方式可包括极高密度的液滴或微胶囊,其使得所述化学反应能以大规模平行方式实施。乳滴的其它范例及其在测序应用中的用途描述于美国专利申请10/861,930、10/866,392、10/767,899、11/045,678,其全文均在此针对所有目的引入作为参考。
相关领域普通技术人员将能理解:此处所述的扩增和测序方法的大规模平行性质所提供的优点特别适合处理被称为“多重性”的样本。例如,多重性组合物可包含来自多个样本(例如来自多个个体的样本)的代表。可能有多种应用需要将多个样本合并进入单个多重性样本,其可在一个操作中处理,而非单独处理每个样本。因此,其结果通常包括大量节省试剂、人力以及仪器使用和成本,并明显节省所投入的处理时间。当单独样本数增加时,多重处理的上述优势变得更为显著。此外,多重处理已被应用于研究和诊断领域。例如,在多种应用中可能需要在扩增反应中采用单个多重性样本,并随后在单个测序运行中处理该扩增的多重组合物。
然后与处理多重组合物相关的一个问题便是识别来源的每个样本和从所述样本衍生的模板分子生成的序列数据之间的关系。解决该问题的一个方案包括关联特异性识别每个模板分子与其来源的样本(sample of origin)的关系的识别子(如核酸序列)。该方案的一个优点在于所关联的核酸序列的序列信息嵌入在由该模板分子生成的序列数据中,并可进行生物信息学分析以关联该序列数据和其来源的样本。
之前的研究已经描述了通过与目标序列偶联的5′引物关联核酸序列识别子以进行多重处理。一个这样的研究是Binladen等人的研究(Binladen J,Gilbert MTP,Bollback JP,Panitz F,Bendixen C(2007)The use of codedPCR Primers Enables High-Throughput Sequencing of Multiple HomologAmplification Products by Parallel 454Sequencing.PLoS ONE 2(2):e197.doi:10.1371/journal.pone.0000197(2007年2月14日在线公开,其全文为所有目的在此引入作为参考)。如上所述,Binladen等人描述了将短序列识别子与在多重样本中待处理的目标序列关联并生成序列数据,该数据随后进行生物信息学分析以关联该短识别子和其来源的样本。然而,简单地将一般序列组合物的核酸识别子连接至模板核酸分子并在生成的序列数据中识别所述识别子的序列存在着局限。主要的问题在于由各种机制向该序列数据中引入错误。这些机制通常彼此联合作用,且通常不能从所述序列数据单独识别。因此,由于引入的错误,终端用户可能无法识别该序列数据与其来源的样本之间的联系,或者可能更糟的是无法识别已经出现的错误并将序列数据错误分配给不正确的来源的样本。
尽管错误引入具有其他来源,但应考虑两种重要的错误引入来源。第一种是由测序操作引入的错误,部分情况下被称为“流式错误”。例如,流式错误可包括聚合酶错误,其包括通过聚合酶结合了不正确的核苷酸种类。测序操作还可引入被称为相同步的错误,其包括被称为“递延”和“不完全延伸”(相同步错误的组合有时被称为CAFIE错误)的那些。相同步错误及校正方法进一步描述于PCT申请US2007/004187,题为“System and Method forCorrecting Primer Extension Errors in Nucleic Acid Sequence Data”,提交于2007年2月15日,其全文为所有目的在此引入作为参考。
第二种错误是来自独立于测序操作的处理如引物合成错误或者扩增错误。例如,为PCR合成的寡核苷酸引物可包含一个或多个本发明的UID元件,其中可在该引物/随后用作测序模板的UID元件的合成中引入错误。对该UID元件高度精确的测序可如实复制该序列数据中的合成错误。同样在本实施例中,在PCR方法中常用的聚合酶已知具有复制错误的量度,其中例如聚合酶每扩增10,000、100,000或1,000,000碱基可在复制中引入1个错误。
因此,采用1)防止错误引入、2)可对引入错误进行检测和3)可校正该引入错误的独特识别子具有明显的优势。本发明解决了这些问题并提供了关联独特识别子的系统和方法,其提供更好的识别和鉴别特征,带来了改善的数据质量和实验效率。
发明综述
本发明的实施方式涉及核酸序列的测定。更具体而言,本发明的实施方式涉及校正在核酸测序过程中获得的数据中的错误并将该核酸与其来源关联的方法和系统。
此处描述了用于识别模板核酸分子的来源的识别子元件(identifierelement)的实施方式,该识别子元件包含了核酸元件,该核酸元件包含了能够检测由该核酸元件生成的序列数据的引入错误并校正该引入错误(introduced error)的序列组成,其中该核酸元件被构建为与模板核酸分子的末端偶联并识别该模板核酸分子的来源。
此外还描述了识别模板核酸分子来源的方法的实施方式,该方法包括如下步骤:从模板核酸分子生成的序列数据识别第一识别子序列;检测该第一识别子序列中的引入错误;校正该第一识别子序列中的引入错误;将该校正的第一识别子序列与偶联至该模板分子的第一识别子元件相关联;并通过该校正的第一识别子序列与该第一识别子元件的关联识别该模板分子的来源。
在一些执行方式中,该方法进一步包括如下步骤:从该模板核酸分子生成的该序列数据识别第二识别子序列;检测该第二识别子序列中的引入错误;校正该第二识别子序列中的该引入错误;将该校正的第二识别子序列与偶联至该模板核酸分子的第二识别子元件相关联;和采用该校正的第二识别子序列与该第二识别子元件的关联和该校正的第一识别子序列与该第一识别子元件的关联的组合识别该模板核酸分子的来源。
此外描述了用于识别模板核酸分子的来源的试剂盒的实施方式,该试剂盒包含了一组核酸元件,每个核酸元件包含能够检测由每个核酸元件生成的序列数据的引入错误并校正该引入错误的特征序列组成,其中该核酸元件的每一个被构建为与模板核酸分子的末端偶联并识别该模板核酸分子的来源。
此外描述了在系统存储器中储存了可执行代码的计算机的实施方式,其中该可执行代码执行识别模板核酸分子来源的方法,该方法包括如下步骤:从模板核酸分子生成的序列数据识别识别子序列;检测该识别子序列中的引入错误;将该校正的识别子序列与偶联至该模板分子的识别子元件相关联;和使用该校正的识别子序列与该识别子元件的关联识别该模板分子的来源。
上述实施方式和执行方式并不一定彼此包含或排斥,并且可以任意不冲突的和可能的方式结合,而不论它们与相同或不同的实施方式或执行方式相关。对一个实施方式或执行方式的描述并非意图限制其它实施方式和/或执行方式。同样地,本说明书其它地方所述的一个或多个功能、步骤、操作或技术可在替代性的执行方式中与综述中所述的任意一个或多个功能、步骤、操作或技术相结合。因此,上述实施方式和执行方式仅作阐述,而非限制。
附图说明
上文和进一步的特征将通过以下的具体描述结合附图被更为清晰的理解。在图中,类似的附图标记表示类似的结构、元件或方法步骤,且附图标记最左侧的数字表示所示元件首次出现的附图的编号(例如,元件160首次出现于图1)。然而,所有这些习惯仅仅意在具有代表性和示例性,而非进行限制。
图1是可适用于本发明的测序仪器和计算机系统的一个实施方式的功能框图。
图2A是代表适用于包含UID组件的基因组文库的衔接子元件的一个实施方式的简图。
图2B是代表适用于包含UID组件的扩增子的衔接子元件的一个实施方式的简图;且
图3是代表了表示不同序列组成的UID元件相容性的计算错误球(computed error balls)的一个实施方式的简图。
发明详述
如下文将更为具体地描述,本发明的实施方式包括将以下称为UID元件的独特识别子与一个或多个来自样本的核酸分子相关联的系统和方法。该UID元件可防止序列数据中的引入错误,并能够检测和校正错误。此外,本发明包括将这些UID相关的核酸分子与(有时称为“标记的”)来自一个或多个其它样本的类似的UID相关的核酸分子合并和汇集,并对汇集样本中的每个核酸分子测序以生成每个核酸的序列数据。本发明进一步包括设计每个UID元件的序列组成并分析每个核酸的序列数据以识别内含的UID序列代码以及将所述代码与该样本名称相关联的系统和方法。
a.综述
术语“流向图”和“热解图”在此可互换使用,通常指代表由SBS方法生成的序列数据的图。
此外,术语“读数”和“序列读数”在此可互换使用,通常指从单个核酸模板分子或从该模板核酸分子的多个基本相同的拷贝的群体获得的整个序列数据。
此处所用的术语“运行”或“测序运行”一般表示在一个或多个模板核酸分子的测序操作中执行的一系列测序反应。
此处所用的术语“流式(flow)”一般指向包含模板核酸分子的环境中添加溶液的连续或反复循环,其中该溶液可包含用于向新生分子添加的核苷酸种类或者可用于减少在先的核苷酸种类流式循环的遗留或噪音影响的其它试剂如缓冲液或酶。
此处所用的术语“流式循环”一般指流式的连续系列,其中所述循环中核苷酸种类流动一次(即,一个流式循环可包括以T、A、C、G核苷酸种类的顺序依次添加,尽管其它序列组合也可认为是该定义的一部分)。该流式循环通常是在循环之间具有相同流式顺序的重复循环。
此处所用的术语“读取长度”一般指可以被可靠测序的模板分子的长度上限。有多种因素可影响系统和/或工艺的读取长度,其包括但不限于模板核酸分子中的GC含量。
“新生分子”一般指通过模板依赖型DNA聚合酶结合与该模板分子中的相应核苷酸种类互补的核苷酸种类而被延长的DNA链。
术语“模板核酸”、“模板分子”、“靶标核酸”或“靶标分子”一般指可作为测序反应对象生成序列数据或信息的核酸分子。
此处所用的术语“核苷酸种类”一般指通常被结合进入新生核酸分子的包括嘌呤(腺嘌呤、鸟嘌呤)和嘧啶(胞嘧啶、尿嘧啶、胸腺嘧啶)的核酸单体的名称。
此处所用的术语“单体重复”或“同聚物”一般指包含相同的核苷酸种类的两个或多个序列位置(即,重复的核苷酸种类)。
此处所用的术语“同种延伸”一般指延伸反应的关系或阶段,其中基本相同的模板分子的群中的每个成员在该反应中均匀地进行相同的延伸步骤。
此处所用的术语“完成效率”一般指在给定流式中正确延伸的新生分子的百分比。
此处所用的术语“不完全延伸率”一般指未能正确延伸的新生分子数量相对所有新生分子数量的比例。
此处所用的术语“基因组文库”或“鸟枪文库”一般指衍生自和/或代表有机体或个体整个基因组(即,基因组的所有区域)的分子的集合。
此处所用的术语“扩增子”一般指选定的扩增产物,例如来自聚合酶链式反应或连接酶链式反应技术的产物。
此处所用的术语“keypass”或“keypass定位”一般指与已知位置中的模板核酸分子相关的核酸“关键元件”(即,通常包含在连接的衔接子元件中),其包含被用作从模板分子生成的序列数据的质量控制参照的已知序列组成。如果所述序列数据在正确的位置中包含了与关键元件相关的已知序列组成,则该序列数据通过了质量控制。
此处所用的术语“平头末端”或“截短末端”一般指具有以一对互补核苷酸碱基种类终止的末端的线性双链核苷酸分子,其中一对平头末端始终适于彼此连接。
下文一般描述了与样本的制备和处理、序列数据的生成以及序列数据的分析相关的系统和方法的一些示范性实施方式,其部分或全部适用于此处所述的本发明的实施方式。具体而言,描述了用于模板核酸分子的制备、模板分子的扩增、靶标特异性扩增子和/或基因组文库的生成的系统和方法、测序方法和仪器以及计算机系统的示范性实施方式。
在典型的实施方式中,来自实验或诊断样本的核酸分子必须从其原始形式被制备和处理成为适用于高通量测序的模板分子。该处理方法可随应用而不同,导致包含不同特征的模板分子。例如,在高通量测序的一些实施方式中,优选生成具有的序列或读取长度至少可供特定测序方法可准确生成序列数据的模板分子。在本实施例中,该长度可包括约25-30碱基对、约30-50碱基对、约50-100碱基对、约100-200碱基对、约200-300碱基对或约350-500碱基对的范围,或者为适合具体测序应用的其它长度。在一些实施方式中,来自样本(例如基因组样本)的核酸采用本领域普通技术人员已知的一系列方法进行片段化。在优选的实施方式中,采用将核酸随机片段化(即,不选择特定序列或区域)的方法,包括称为雾化或超声的方法。然而,可以理解,也可为了片段化目的而采用如以限制性核酸内切酶消化等其它片段化方法。同样在本实施例中,部分处理方法可采用本领域已知的大小选择方法,以选择所需长度的分离核酸片段。
在一些实施方式中也优选将附加的功能性元件与每一个模板核酸分子关联。该元件可用于多种功能,其包括但不限于,用于扩增和/或测序方法的引物序列、质量控制元件、编码与来源或患者的样本关联的独特识别子或者其它功能性元件。例如,一些实施方式可将包含互补性序列组成的引导序列元件或区域与用于扩增和/或测序的引物序列相关联。此外,相同的元件可用于被称为“链选择”和核酸分子在固相基底上的固定化的过程。在本实施例中,两组引导序列区(以下称为引导序列A和引导序列B)可用于链选择,其中仅选择包含一个引导序列A拷贝和一个引导序列B拷贝的单链并包括作为制备的样本。相同的引导序列区域可用于扩增和固定化方法,其中,例如引导序列B可被固定化在固体基底上,并由此延伸扩增产物。
用于片段化、链选择以及功能性元件和衔接子添加的样本处理的其它实施例描述于2004年1月28日提交的题为“Method for preparingsingle-stranded DNA libraries”的美国专利申请10/767,894,以及2007年6月1日提交的题为“System and Method for Identification of IndividualSamples from a Multiplex Mixture”的美国临时申请60/941,381,两者分别在此为所有目的以全文引入作为参考。
业已描述用于实施模板核酸分子的扩增以生成基本相同的拷贝的群的系统和方法的各种范例。对普通技术人员显而易见的是,在SBS的一些实施方式中,当一个或多个核苷酸种类被整合进入每个与该模板分子的拷贝相关的新生分子时,需要生成每个核酸元件的多个拷贝以形成更强的信号。本领域已知多种技术可以生成核酸分子拷贝,例如,采用被称为细菌载体进行的扩增,“滚环”扩增(描述于美国专利6,274,320和7,211,390,引入作为参考)和聚合酶链式反应(PCR)方法,该技术的每一种均适用于本发明。一种特别适用于高通量应用的PCR技术包括被称为乳滴PCR的方法(也称为emPCRTM方法)。
典型的乳滴PCR方法的实施方式包括生成两种不混溶物质的稳定的乳滴,这两种物质生成可在其中进行反应的水滴。具体而言,适用于PCR方法的乳滴的水滴可包含第一液体(例如基于水的液体),其以可称为不连续相的形式悬浮或分散在另一液体(如基于油的液体)中。此外,一些乳滴实施方式可采用表面活性剂,其可稳定可特别用于特定处理方法如PCR的乳滴。表面活性剂的一些实施方式可包括非离子型表面活性剂如山梨糖醇酐单油酸酯(也称为SpanTM 80)、聚氧乙烯山梨糖醇酐单油酸酯(也称为TweenTM 80)、或者在一些优选的实施方式中为聚二甲基硅氧烷共聚醇(也称为
Figure G2008800184205D00101
EM90)、聚硅氧烷、聚烷基聚醚共聚物、聚甘油酯、泊洛沙姆以及PVP/十六烷共聚物(也称为Unimer U-151),或者在更为优选的实施方式中为含于环五硅氧烷的高分子量硅酮聚醚(也称为DC 5225C,可从DowCorning获得)。
该乳滴的液滴也可被称为隔室、微胶囊、微反应器、微环境或相关领域常用的其它名称。该水滴的大小范围可取决于该乳滴成分或组合物的组成、其中包含的成分和所采用的形成技术。所述的乳滴生成了微环境,在该微环境中可进行化学反应,如PCR。例如,实施所需PCR反应所需的模板核酸和所有试剂可被胶囊化并化学隔离在乳液的液滴中。在一些实施方式中可采用其它的表面活性剂或其它稳定剂促进上述液滴的额外的稳定性。可采用该液滴执行PCR方法中典型的热循环操作,以扩增胶囊化的核酸模板,从而生成包含该模板核酸的多个基本相同拷贝的群体。在一些实施方式中,该液体中的群体可称为“克隆分离的”、“隔室化的”、“掩蔽的”、“包封的”或“局部化的”群。同样在本实施例中,一些或所有的所述液滴可进一步包封固体基质如珠子,以吸附模板或其它类型的核酸、试剂、标记物或其它目标分子。
可用于本发明的乳滴的实施方式可包括极高密度的液滴或微胶囊,其使得所述化学反应以大规模平行方式实施。可用于扩增的乳滴及其在测序应用中的用途的其它范例描述于美国专利10/861,930、10/866,392、10/767,899、11/045,678,其全文均在此针对所有目的引入作为参考。
此外,所描述的用于生成测序用靶标特异性扩增子的示范性实施方式包括使用核酸引物组以扩增来自包含该靶标核酸的样本的选定靶标区域。此外,该样本可包含已知或可能含有序列变体的核酸分子群,且该引物可用于扩增和提供对样本中序列变体分布的观察。
例如可进行通过对核酸样本中的复等位基因的特异性扩增和测序识别序列变体的方法。首先通过一对PCR引物扩增该核酸,该核酸经过设计来扩增围绕目标区域的区域或者该核酸群共有片段。随后该PCR反应的每一个产物(扩增子)在独立的反应容器如上述基于乳滴的容器中被单独地进一步扩增。对分别来自该第一扩增子群的一个成员的所得扩增子(此处称为第二扩增子)进行测序,且来自不同乳滴PCR扩增子的序列的集合被用于确定等位基因频率。
所述靶标特异性扩增子和测序方法的一些优点包括比之前达到的更高的灵敏度水平。此外,采用高通量测序仪器的实施方式例如采用由454LifeSciences公司提供的被称为PicoTiterPlate
Figure G2008800184205D00111
微孔阵列的实施方式,所述的方法能够用于在每次运行或每个实验对100,000以上或300,000以上的等位基因的不同拷贝进行测序。而且,所述的方法提供了对可能为1%或更少的等位基因变体的低丰度等位基因的灵敏检测。该方法的另一优点包括生成包含所分析区域序列的数据。重要的是,不需要具有对被分析基因座的序列的现有知识。
用于测序的靶标特异性扩增子的其它范例描述于2005年4月12日提交的题为“Methods for determining sequence variants using ultra-deepsequencing”的美国专利申请11/104,781,其全文为所有目的在此引入作为参考。
此外,测序的实施方式可包括Sanger型技术、被称为polony的测序技术、纳米孔和其它单分子检测技术或者可逆终止子技术。如上所述,优选的技术可包括通过合成方法的测序。例如,一些SBS实施方式对核酸模板基本相同的拷贝群进行测序,并通常采用一种或多种经设计可对样本模板分子或与该样本分子连接的一个或多个衔接子的预定的互补性位置进行退火的寡核苷酸引物。该引物/模板复合物可在核酸聚合酶的存在下与核苷酸种类共存。如果该核苷酸种类与对应于直接邻近该寡核苷酸引物的3’端的该样品模板分子上序列位置的核酸种类互补,则该聚合酶将以该核苷酸种类延伸该引物。替代性地,在一些实施方式中该引物/模板复合物同时与多种目标核苷酸种类(典型的是A、G、C和T)共存,且与直接邻近该寡核苷酸引物的3’端的该样品模板分子上对应序列位置互补的核苷酸种类并入。在任意上述实施方式中,该核苷酸种类可被化学封闭(例如在3’-O位置)以阻止进一步延伸,并需要在下一轮合成之前去封闭。还可理解,向新生分子末端添加核苷酸种类的过程与上述向引物末端添加的过程基本相同。
如上所述,核苷酸种类的结合可通过本领域已知的多种方法检测,例如,通过检测焦磷酸酯(PPi)的释放(范例描述于美国专利6,210,891、6,258,568和6,828,100,分别在此为所有目的以全文引入作为参考),或者通过与该核苷酸结合的可测标记物。可测标记物的部分范例包括但不限于质量标签和荧光或化学发光标记物。在典型的实施方式中,可通过如洗涤去除未结合的核苷酸。此外,在一些实施方式中,未结合的核苷酸可被酶催化降解,例如,通过腺苷三磷酸双磷酸酶降解,其描述于2007年6月28日提交的题为“System and Method For Adaptive Reagent Control in Nucleic AcidSequencing”的美国专利申请60/946,743,其全文为所有目的在此引入作为参考。在使用可测标记物的实施方式中,它们通常需要在随后的合成循环之前失活(例如,通过化学裂解或光漂白)。如上所述,该模板/聚合酶复合物的下一序列位置可随后被另一核苷酸种类或多个目标核苷酸种类所检索。核苷酸添加、延伸、信号获得以及洗涤的重复循环测定了模板链的核苷酸序列。继续本实施例,大量的基本相同的模板分子或其群(例如,103、104、105、106或107分子)通常可在任一测序反应中同时分析,从而形成可进行可靠检测的足够强的信号。
此外,在一些实施方式中,通过被称为“成双末端”的测序策略提高测序过程的读取长度能力和质量是有利的。例如,测序方法的部分实施方式在能够生成高质量和可靠读取的分子总长上具有限制。换言之,根据所采用的测序实施方式,可靠读取长度的序列位置总数可能不超过25、50、100或150个碱基。成双末端测序测量通过对每个分子末端(有时称为“标签”末端)单独测序延长可靠读取长度,该分子包含了每个末端由接头序列在中间连接的原始模板核酸分子的片段。该模板片段的原始位置关系已知,因此从该序列读取获得的数据可重新组合成为具有更长高质量读取长度的单次读取。成双末端测序实施方式的其它范例描述于2006年6月6日提交的题为“Paired endsequencing”美国专利申请11/448,462,以及2008年2月5日提交的题为“Paired end sequencing”美国专利申请60/026,319,其全文分别在此全部引用为所有目的作为参考。
可执行部分或所有上述方法的SBS装置的一些范例可包含一个或多个检测装置如电荷耦合装置(即,CCD照相机)、微观流体室或流式细胞、反应基底和/或泵和流量阀。以基于焦磷酸的测序为例,装置的实施方式可采用化学发光检测策略,其生成固有的低水平背景噪音。
在一些实施方式中,用于测序的反应基底可包括被称为PicoTiterPlate
Figure G2008800184205D00131
阵列(也称为PTP
Figure G2008800184205D00132
板)的那些,其由纤维光学面板形成,该面板被酸蚀刻以得到成千上万的极小的微孔,从而可以容纳基本相同的模板分子群。在一些实施方式中,每个基本相同的模板分子的群可放置于固相基底如珠上,每一个固相基底可放置于所述微孔之一中。例如,装置可包含用于向PTP板固定器提供流体试剂的试剂传递元件,以及能够从该PTP板上的每个微孔采集光发射的光子的CCD型检测设备。用于实施SBS型测序和焦磷酸测序的装置和方法的其它范例描述于美国专利7,323,305和美国专利申请11/195,254,其内容分别在此引用作为参考。
此外,可采用自动化进行一个或多个样本制备过程的系统和方法,例如上述emPCRTM方法。例如,微观流体技术可用于为生成emPCR方法的乳滴、实施PCR热循环操作以及富集成功制备的核酸分子群以进行测序而提供低成本、一次性的溶液。用于样本制备的微观流体系统的范例描述于2007年5月4日提交的题为“System and Method for Microfluidic Control ofNucleic Acid amplification and Segregation”美国临时专利申请60/915,968,其在此为所有目的全文引入作为参考。
此外,此处描述的本发明的实施方式的系统和方法可包括采用为在计算机系统上执行而储存的计算机可读介质而进行的一些设计、分析或其它操作的实施。例如,下文详细描述了几个实施方式以处理测得的信号和/或分析由SBS系统和方法生成的数据,其中该处理和分析实施方式在计算机系统上执行。
用于此处所述的本发明的计算机系统的示范性实施方式可包括任意类型的计算机平台,如工作站、个人电脑、服务器或任意其它现有或未来的计算机。计算机通常包括已知的组件,如处理器、操作系统、系统存储器、记忆存储设备、输入输出控制器、输入输出设备以及显示设备。相关领域普通技术人员将能理解,计算机可存在多种可能的配置或组件,并可包括高速缓冲存储器、数据备份单元以及许多其它的设备。
显示设备可包括能提供视觉信息的显示设备,该信息通常可被逻辑和/或物理地组织为一个像素阵列。还可包括界面控制器,其包含了用于提供输入和输出界面的多种已知的或未来的软件程序任意一个。例如,界面可包括一般称为的“图形用户界面”(通常被称为GUI),其向用户提供一个或多个图形表示。界面通常可接受通过相关领域普通技术人员已知的选择或输入手段所作的用户输入。
在相同或替代的实施方式中,在计算机上的应用程序可采用包括被称为“命令行界面”(通常称为CLI)的界面。CLI通常在应用程序和用户之间提供基于文本的相互作用。典型地,命令行界面通过显示设备以文本行形式呈现输出并接受输入。例如,部分执行可包括相关领域普通技术人员已知的被称为“shell”,如Unix Shell,或者采用适应对象型编程结构的MicrosoftWindows Powershell,如Microsoft.NET框架。
相关领域普通技术人员将理解界面可包括一种或多种GUI、CLI或其组合。
处理器可包括市售的处理器,如由Intel Corporation制造的Centrino
Figure G2008800184205D00151
CoreTM 2、Itanium
Figure G2008800184205D00152
或Pentium处理器,由Sun Microsystems制造的SPARC
Figure G2008800184205D00154
处理器,由AMD corporation制造的AthalonTM或OpteronTM处理器,或者可以是已可或将可得到的其它处理器的一种。处理器的一些实施方式可包括被称为多核处理器和/或能够采用在单或多核配置中的并行处理技术。例如,多核架构通常包含两个或更多个处理器“执行核”。在本实施例中,每个执行核可作为独立处理器运作,其可并行执行多线程。此外,相关领域的普通技术人员将理解,处理器可以配置为被称为32或64位的架构,或者其它已知的或可在将来开发的架构。
处理器通常执行操作系统,后者可以是,例如,来自MicrosoftCorporation的Windows
Figure G2008800184205D00155
-型操作系统(例如WindowsXP或WindowsVista
Figure G2008800184205D00157
);来自Apple Computer Corp.的Mac OS X操作系统(例如7.5MacOS X v10.4“Tiger”或7.6Mac OS X v10.5“Leopard”操作系统);来自任意销售商或被称为开源的Unix
Figure G2008800184205D00158
或Linux-型操作系统;另一种或者未来的操作系统;或其一些组合。操作系统以熟知的方式与固件和硬件对接,并促进处理器协调和执行各种计算机程序(可能以各种编程语言编写)的功能。操作系统通常与处理器合作,协调和执行计算机的其它组件的功能。操作系统还提供调度、输入输出控制、文件和数据管理、存储器管理以及通信控制和相关服务,这些均可参照已知技术完成。
系统存储器可包括多种已知的或未来的记忆存储设备的任意一种。其范例包括任意常见的随机存取存储器(RAM),磁性介质如永久性硬盘或带,光学介质如读写压缩光碟,或者其它记忆存储设备。记忆存储设备可包括多种已知的或未来的设备中的任意一种,包括压缩光碟驱动器、磁带驱动器、移动硬盘驱动器、USB或flash驱动器或者磁盘驱动器。这些类型的记忆存储设备可在程序存储介质(未示)读取和/或写入,该程序存储介质分别例如,光碟、磁带、移动硬盘、USB或flash驱动器或者软盘。任意这些或者其它已被使用或将要被开发的程序存储介质都可被视为计算机程序产品。可以理解,这些程序存储介质通常存储计算机软件程序和/或数据。计算机软件程序,也称为计算机控制逻辑,通常被储存在与记忆存储设备联用的系统存储器和/或程序存储设备中。
在一些实施方式中描述了计算机程序产品,该产品包含了计算机可用介质,该介质具有在其中储存的控制逻辑(计算机软件程序,包括程序代码)。该控制逻辑在由处理器执行时可使该处理器运行此处所述的功能。在其它实施方式中,部分功能主要在硬件中执行,通过例如硬件状态机器。通过执行硬件状体机器以运行此处所述的功能将对相关领域技术人员显而易见。
输入输出控制器可包括任意的各种用于接收和处理来自用户(不管是人或机器)的信息的本地或远程的已知设备。这些设备包括,例如,调制解调器卡、无线卡、网络接口卡、声卡或者其它类型的用于任意各种已知输入设备的控制器。输出控制器可包括用于向用户(不管是人或机器)呈现信息的任意各种已知显示设备的本地或远程控制器。在此处所述的实施方式中,计算机的功能元件通过系统总线彼此通信。计算机的一些实施方式可采用网络或其它类型的远程通信与一些功能元件通信。
对相关领域技术人员显而易见的是,仪器控制和/或数据处理应用程序如果在软件中执行,可被装载至系统存储器和/或记忆存储设备中,并从该系统存储器和/或记忆存储设备执行。仪器控制和/或数据处理应用程序的全部或部分还可存在于只读存储器或类似的记忆存储设备中,该种设备不需要该仪器控制和/或数据处理应用程序首先通过输入输出控制器装载。相关领域技术人员将能理解,仪器控制和/或数据处理应用程序或其部分可通过已知方式由处理器以对执行有利的方式装载至系统存储器或高速缓冲存储器或者两者。
计算机还可包括储存在系统存储器中的一个或多个库文件、实验数据文件和互联网客户端。例如,实验数据可包括与一个或多个实验或测定相关的数据,例如测得的信号值,或者与一个或多个SBS实验或处理相关的其它值。此外,互联网客户端可包括能够通过网络从另一计算机获得远程服务的应用程序,并可例如包括一般称为的“网络浏览器”。在本实施例中,一些常用的网络浏览器包括可从Microsoft Corporation获得的Microsoft
Figure G2008800184205D00161
InternetExplorer 7,从Mozilla Corporation获得的Mozilla Firefox2,从AppleComputer Corp.获得的Safari 1.2,或是该领域中目前已知的或是将被开发的其它类型的网络浏览器。此外,在相同或其它实施方式中,互联网客户端可包括,可通过网络获取远程信息的专用软件应用程序(例如用于SBS应用程序的数据处理应用程序),或可为其单元。
网络可包括该领域普通技术人员公知的多种不同类型网络的一种或多种。例如,网络可包括局域或广域网络,其采用通常称为TCP/IP协议封包来进行通信。网络还可包括包含了互联计算机网络的全球系统,其通常被称为互联网,或者还可包括各种内部网架构。相关领域普通技术人员还可理解,网络环境中的一些用户喜欢采用被称为“防火墙”(有时也称为信息包过滤器或者边界保护设备)来控制进出硬件和/或软件系统的信息传递。例如,防火墙可包括硬件和软件元素或者其部分组合,并通常设计为执行用户(例如网络管理者等)适当设置的安全策略。
b.此处所述发明的实施方式
如上文所述,此处所述发明包括了将具有已知的和可识别的序列组成的UID元件的一个或多个实施方式与样本关联,并将该UID元件的实施方式与来自相关样本的模板核酸分子偶联。将来自一系列不同样本的与该UID偶联的模板核酸分子汇集进入单个“多重性”样本或组合物,该样本或组合物可随后被有效处理以对每个UID偶联模板核酸分子生成序列数据。每一个模板核酸分子的序列数据被去卷曲(de-convoluted)以识别偶联UID元件的序列组成并与识别的来源样本相关联。例如,多重性组合物可包含来自约384个样、约96个样本、约50个样本、约20个样本、约16个样本、约10个样本或其它数量样本的代表。每个样本可与研究环境中不同实验条件、处理、种类或个体相关联。类似的,每个样本可与诊断环境中的不同组织、细胞、个体、条件或治疗相关联。相关领域普通技术人员将能理解,上述列举的样本数量仅用于进行示范,因此不应视为限制。
通常,采用系统和方法来处理样本,以生成序列数据并用于分析该序列数据。图1提供了测序仪器100的示范性实施例,其用于使用反应基底105(例如可包括上述的PTP
Figure G2008800184205D00171
板基底)执行测序过程。图1中还显示了计算机130,其可例如执行系统软件或固件以处理和实施分析功能。在图1的实施例中,计算机130还可在系统存储器中储存应用程序135以供执行,其中应用程序135可实施此处所述的数据处理功能的一些或全部。还可理解,应用程序135可被储存在其它计算机或服务器类型结构上以供执行,并通过网络远程通信实施其功能的部分或全部或者通过标准介质转移信息。例如,处理的多重性样本中的靶标分子可由用户101或一些自动化的实施方式加载至反应基底105上,然后使用测序仪器100以大规模平行方式测序,以生成代表每个靶标分子的序列组成的序列数据。重要的是,用户101可包括任意用户,例如独立研究者、大学或公司实体。在本实施例中,测序仪器100、反应基底105和/或计算机130可包括总体在上文描述的实施方式的组成和特征的部分或全部。
在优选的实施方式中,每个UID元件的序列组成可容易地识别,并可防止测序过程的引入错误。UID元件的一些实施方式包含核苷酸种类的独特序列组成,其与天然存在的序列具有最小的序列相似性。替代性地,UID元件的实施方式可包括与天然存在序列一定程度的序列相似性。
此外,在优选的实施方式中,每个UID元件的位置已知与该模板核酸分子和/或与该模板分子偶联的衔接子元件的某些特征相关。得到每个UID的已知位置可用于在序列数据中发现该UID元件,并分析该UID序列组成中可能的错误,随后与该来源的样本相关联。
例如,可作为与UID元件位置关系的锚的一些特征可包括,但不限于,模板分子的长度(即,该UID已知为从5′或3′端的多个序列位置)、可识别序列标记如关键元件(下文将更具体描述)和/或与UID元件邻近的一个或多个引物元件。在本实施例中,该关键和引物元件通常包含已知序列组成,该组成通常在该多重性组合物中不随样本而变化,并可被用作检索该UID元件的位置参考。由应用程序135实现的分析算法可在计算机130上执行,以分析生成的每个UID偶联模板的序列数据,从而识别更易于识别的关键和/或引物元件,并从这些位置推断以识别假定包含该UID元件序列的序列区域。应用程序135可随后处理该假定区域以及可能具有一定距离的侧翼区域的序列组成,从而主动识别该UID元件及其序列组成。
此外,如下文将更为具体描述,在一些实施方式中由每个关键和/或一个或多个引物元件生成的序列数据可进行分析以确定该测序运行中的相对错误率的量。该错误率的量可随后用于分析从该UID元件生成的序列数据。例如,如果该错误率过高并在预定的阈值以上,则可认为由该UID元件生成的该序列数据中存在着类似的错误率,因此该整个模板的序列数据将作为可疑数据被滤走。此外,在UID元件被偶联至线性模板分子的每一末端的实施方式中,可对每一末端确定错误率并进行不对称分析。重要的是,可理解,在一些实施方式中,特定的测序技术能够生成“长”读取长度(即,约100碱基对或更长),该序列数据中的错误率可能在5′端和3′端之间不同。
在优选的实施方式中,UID元件与能在模板核酸分子末端可操作偶联的衔接子关联。在典型的高通量测序应用中需要该模板核酸分子呈线性,而衔接子可被偶联至每一端。图2A和2B提供了包含一个或多个UID元件的用于各种应用的衔接子组合物的实施方式的示范性实施例。然而,可以理解,对于不同的扩增和测序策略可采用各种衔接子结构。图2A提供了衔接子元件200的示范性实施例,其包含了适用于基因组文库扩增和测序的衔接子的实施方式。还可理解,该衔接子元件200还可适用于通过独立于此处所述衔接子元件的靶标特异性序列独立扩增的模板分子库。衔接子元件200包含多个组件,其包括引物205、关键207和UID 210。此外,图2B提供了适用于扩增子的扩增和测序的衔接子220的一个实施方式的示范性实施例。衔接子元件220包含多个与衔接子200(包括引物205、关键207和UID 210)类似的组件,并添加了靶标特异性元件225。可以理解,在图2A和2B中提供的组件的相对排列仅用于示范,不应视为限制。
在一些替代性地实施方式中,该UID 210元件不与上述衔接子元件相关联。相反地,该UID 210元件可被认为是单独的元件,其可独立地偶联至已适应的模板分子,或者未适应的模板分子。该策略可在某些情况下用于避免与特定步骤或测定相关的副作用。例如,在一些实施方式中,在扩增步骤生成拷贝后,将该UID 210元件与基本相同的模板分子的每一个群连接是有利的。通过在扩增后将该UID元件与适应的模板分子偶联,可避免由该扩增方法引入的错误。在本实施例中,采用聚合酶的PCR扩增方法已知具有一定的引入错误率,其至少部分基于所用的聚合酶或聚合酶混合物(即,可包含被称为“高精度”聚合酶和具有“校正读取”能力的聚合酶的混合物的混合)类型和扩增周期数。
还可理解,衔接子200或220的多个实施方式可用于每个模板分子,例如可制备在线性模板分子每一末端的衔接子200或220的一个实施方式以进行测序。然而,在一些实施方式中,在衔接子200或220中3′端的元件的位置排列可相对5′端的衔接子200或220中元件排列被逆转(即,衔接子220或220处于与图2A或2B中所示实施例的倒序排列)。例如,元件220的实施方式可被定位于多重性组合物中的扩增子库的基本每个模板分子的每一端,从而UID 210的2个实施方式将以组合方式用于识别,这将在下文更为详细地讨论。
引物205可包括引物种类(或引物对的引物),例如上述针对乳滴PCR实施方式所述的引物(即,引物A和引物B)。引物205还可包括同样如上所述的用于SBS测序反应的引物种类。此外,引物205可包括能够同时用于乳滴PCR和SBS测序过程的称为双重PCR/测序引物的引物。关键207可包括被称为“辨别关键序列”的序列,其指核苷酸种类的短序列,例如四个核苷酸种类(即,A、C、G、T)的组合。典型地,关键207可用于序列数据的质量控制,其中例如关键207可紧邻或接近引物205,并包括已知序列排列中四个核苷酸种类(即,TCAG)的每一个中的一个。因此,该测序方法的精确度应表现在关键207中四个核苷酸种类的每一个的序列数据中,并在4个核苷酸种类的每一个均被如实呈现时通过质量控制量度。例如,在由关键207生成的序列数据中出现的核苷酸种类之一的错误可表示与该核苷酸种类相关的测序过程的问题。这种错误可来自于测序仪器100的一个或多个组件的机械故障,试剂的低品质和供应,操作记录错误,或者可能发生的系统错误的其它来源。因此,如果在关键207中检测到了该种系统型错误,则针对该模板分子的运行所生成的序列数据可能无法通过质量测量指标,并通常将被去除。
对于关键207的相同辨别序列可用于DNA片段的整个库,或者可替代性的将不同的序列组成与针对不同目的的库的部分相关联。与引物205和关键207相关的引物和关键元件的其它范例描述于美国专利申请10/767,894,其被引入作为参考。
靶标特异性元件225包括特异性识别基因组区域的序列组成。例如,靶标特异性元件225可用作引物序列来扩增和生成用于测序的特异性靶向区域(例如在基因组、组织样本、异种细胞群或环境样本中发现的那些)的扩增子库。其可包括,例如,PCR产物、候选基因、突变热点、具有进化或医学意义的可变区域。它可被用于各种应用,例如全基因组扩增后采用可变或简并扩增引物进行全基因组测序。描述了具有双重引物的靶标特异性序列的用途的其它范例描述于2005年4月12日提交的题为“Methods for determiningsequence variants using ultra-deep sequencing”的美国专利申请11/104,781,其全文为所有目的在此引入作为参考。
UID 210的一些实施方式可特别适用于多重性样本中相对少量的样本关联。具体而言,当多重性样本中仅有少量的待识别关联时,每个样本与UID210的特征执行相关联,该UID 210包含了彼此足够独特的序列组成,从而易于检测和校正引入错误。在一些实施方式中,相容性UID 210序列元件的群体被集合为“组”,这将在下文更具体描述。例如,一个UID 210元件的组可包括14个成员,其可用于独特识别多达14个与样本之间的关联,其中每个成员与单个样本相关联。
可以理解,随着待识别关联的数量上升,要设计达到设计标准和所需特征的对每一个关联的UID 210的特征实施方式变得更困难。在这种情况下,可有利地使用多重性UID 210元件组合地将模板分子与其来源的样本进行独特关联,其中UID 210的一个实施方式可以定位在线性模板分子的每一端。例如,在从模板分子生成的序列数据和来源的样本之间待识别的关联数变得太大,以至于难以适应UID 210的给定必要设计参数和特征。具体而言,在许多实施方式中,当样本的数量要求相对设计标准(包括流式循环重复的特定数量以及由该UID元件占据的序列位置的数量)而言不理想的UID 210序列长度时,不希望采用针对每个关联的独特UID元件。在本实施例中,在生成“长”读取长度的测序技术的实施方式中,UID 210可包含多达10个序列位置。替代性地,测序技术的其它实施方式可生成约25-50序列位置的相对较短的读取长度,因此希望UID 210较短,从而优化针对该模板分子的读取长度。在本实施例中,UID 210可被设计为针对多达4个序列位置、多达6个序列位置或多达8个序列位置的短读取长度,这至少部分取决于应用。
如上所述,同时适用于少量和大量关联的UID 210的设计和执行的实施方式是采用一“组”UID 210元件,其分别达到了优选设计标准和特征。在一些应用中,例如在具有准确的错误检测和校正特征的序列组成的UID 210元件的设计中,希望使用此处所述的“组”策略。例如将在下文更具体描述的,在组中的UID元件的序列组成必须彼此之间足够独特以进行错误检测和校正,从而限制可用于特定的组的相容性成员。然而,来自多重性组的UID 210成员可联合用于模板分子,其中每个组的成员定位于不同的相对位置并因此易于分析。
为了克服上述的大量待识别关联的问题,来自一个UID 210元件组的两个或更多个成员可以组合方式使用。例如,一个UID 210元件组可包含10、12、14或其它数量的具有10联体序列长度的成员。在一些实施方式中,两个UID 210元件可与每个模板分子相关联,并联合用于识别多达144个不同的关联(即,12个与元件1使用的UID成员乘以12个与元件2使用的UID成员得到144个可用于独特识别关联的UID元件1和2的可能组合)。
相关领域普通技术人员将理解,可采用替代性的实施方式,其中每个与模板分子相关的UID 210元件可包括来自该组的UID成员总数的子集(即,使用该组成员的一部分)。换言之,在整组的12个成员中,在一个元件位置可仅使用8个。有多种理由使得需要使用UID成员子集,其中包括需要较少的待识别关联数量(即,较少的组合数量)、物理或实际实验条件(如设备或软件限制),或者在元件位置中的组中优选的UID成员的组合。例如,第一元件可采用组的全部12个UID成员,而第二元件可采用来自相同或不同组的8个UID成员的子集,从而得到96中可能组合。
在组合策略中的UID 210元件可相对于该模板分子的位置被配置为多种位置排列。例如,组合使用2个UID 210元件来识别每个模板分子与其来源的样本的关联的策略可包括定位在线性模板分子每一端的UID元件(即,一个UID 210元件在5′端,另一个在3′端)。在本实施例中,每一个UID 210元件可与衔接子元件(例如上述讨论的靶标特异性扩增子或基因组文库测序测量中所用的衔接子200或220)相关联。因此,与该模板分子关联的序列数据将包括该扩增子每一端的UID元件的序列组成。该UID元件的组合可随后用于将该序列数据与该模板分子的来源的样本相关联。
在一些替代性实施方式中,UID 210元件可按上述方式在线性模板分子的每一端整合进入衔接子元件。然而,该模板分子的读取长度可大于该测序技术处理的能力。在这种情况下,该模板分子可从每一端独立测序(即,从每一端进行单独的测序运行),其中与末端关联的UID 210元件可采用单个UID 210识别子。
此外,在一些实施方式中可能需要在每个样本中分配一个以上的UID210元件,或者一个以上的UID 210元件组合。这种策略可提供能防止由各种来源(可包括UID 210元件本身)引入的可能的意外偏差的冗余(redundancy)。例如,具有模板分子群的样本可被细分为子样本,每一个子样本使用用于关联的区别性UID 210元件。在这种情况下,这种针来自样本的相同模板分子群的不同UID 210元件的冗余为识别正确关联或者该错误过大以致于不能正确识别可靠关联提供了更强信心。
如上文总体指出,此处所述发明的实施方式包括为了识别模板分子及其生成的序列数据与来源的样本关联的目的而可操作地偶联至每个模板分子的一个或多个UID 210元件。UID元件的一个或多个实施方式可通过本领域已知的各种方法(包括但不限于连接技术)可操作地偶联至衔接子和模板分子的一个或多个组件。将核酸分子彼此连接的方法已为本领域公知,并包括采用针对被称为粘性末端和平头末端连接的连接酶。通过连接将衔接子元件偶联至模板分子的其它实施例描述于2004年1月28日提交的题为“Methodfor preparing single-stranded DNA libraries”的美国专利申请10/767,894,以及2008年2月27日提交的题为“System and Method for ImprovedProcessing of Nucleic Acids for Production of Sequencable Libraries”的美国临时申请60/031,779,两者分别在此为所有目的全文引入作为参考。例如,较大的模板核酸或全基因组DNA样本可通过机械(即,雾化、超声)或者酶催化手段(即,DNase I)被片段化,所得的每个片段的末端可被修饰(polished)以与衔接子元件相容(即,使用被称为外切核酸酶如BAL32核酸酶或绿豆核酸酶的酶进行修饰),且每个片段可被连接至一个或多个衔接子元件(即,使用T4DNA连接酶)。在本实施例中,每个衔接子元件通过例如衔接子的3′端和片段的5′端之间的选择性结合被定向连接至该片段。
在一些实施方式中,UID 210元件可以试剂盒的形式提供给用户101,其中该试剂盒可包括包含了如图2A和2B所示结合的UID 210元件的衔接子。或者,该试剂盒可包括作为独立元件的UID 210,其能够使用户101根据需要进行结合。
如上所述,UID 210的实施方式应当包括一系列优选的特征或设计标准,其包括但不限于a)每个UID元件包含需要最小合成数或流式循环数的最小序列长度,b)每个UID元件具有序列差异性,c)每个UID元件都对引入错误具有耐受性,以及d)每个UID元件均不干扰扩增方法(例如PCR或克隆进入载体)。
此外,UID元件设计的一些实施方式还可考虑核酸的物理特征或设计标准,其包括以下的一些或全部:i)选择UID序列组成以防止形成称为“发夹”(也称为“发夹环”或“茎环”)的结构和“引物二聚体”;ii)UID元件包含优选的熔解温度(即,40oC)和/或吉布斯自由能(即,ΔG截断为-1.5)特征。部分所需的特征及其对UID设计的影响的一些方面在下文中将更具体描述。
UID元件的一个重要特征是它应当包含满足其它特征要求的所需的最少碱基或序列位置数量。例如,每个UID元件应当包含独特识别模板分子/序列数据与来源的样本之间的所需数量的关联所要求的最小序列长度。所需数量的关联可包括识别与至少12个不同样本、至少96个不同样本、至少384个不同样本或未来可预期的更大数量的样本相关联的模板分子/序列数据。换言之,该UID的序列长度应当不长于必须长度,从而保留该模板分子的读取长度的位置数量(即,被称为“序列不动产”)。此外,该最小序列长度应当消耗或需要核苷酸种类组的最少量流式循环,从而为每个UID元件生成序列数据。使生成UID元件序列数据所需的核苷酸种类流式循环数量最小化在试剂成本、仪器使用(即,处理时间)、数据质量和读取长度上提供了优势。例如,每个额外的流式循环增加了引入CAFIE错误的可能性,并提高了试剂用量。在本实施例中,优选每个10联体UID元件仅需要5个核苷酸种类流式循环以生成每个UID元件的序列数据。
另一重要的特征包括每个UID元件的序列差异性。此处所用的术语“序列差异性”一般指多个UID序列之间的可区分差异,从而使每个序列可容易地从作为比较对象的每一个其它的UID序列区分出来。具体而言,每个UID元件需要具有一定量的序列差异性,从而能够容易地检测引入错误并校正部分或所有的错误。此外,一般地优选每个UID元件不含重复的序列组成,且不应包含被限制性内切酶识别的序列组成。换言之,不希望UID元件包含具有相同核苷酸种类组成的连续单体。例如,每个UID元件的序列差异性的优选实施方式使得能够在10联体元件(即,总计10个序列位置)中检测多达3个具有引入错误的序列位置并校正多达2个具有引入错误的序列位置。普通技术人员将能理解,该引入错误可包括称为“插入”、“缺失”、“置换”或其一些组合(即,在相同序列位置的插入和缺失的组合将表现为置换,并将被算作单个错误事件)的错误。另外,错误检测和校正的水平将至少部分取决于该UID元件的序列长度。此外,在UID210之外(即,上游或下游)的引入错误将影响UID210序列组成的分析。这将在下文有关UID识别的序列数据解码或分析的内容中进一步讨论。
其它所需的特征包括抵抗引物错误。例如,在核酸序列中单体重复例如该模板分子或其它序列元件的那些可引起序列读取中的错误。该错误可包括重复单体数量的过高或过低的表现或调用。因此需要该UID元件不以与相邻序列元件的邻近单体相同的核苷酸种类开始或结束(即,在序列元件或组件之间生成单体重复)。在本实施例中,相邻序列元件(如图2A和2B中所示的关键207)可以“G”核苷酸种类结束。因此,UID元件如UID 210不应以相同的“G”核苷酸种类开始,以避免从该重复的“G”种类引入错误的更高可能性。
在SBS情况中特别相关的另一错误来源包括被称为“递延”和“不完全延伸”作用(有时被称为CAFIE作用)的那些。例如,在来自样本的核苷酸分子的每个扩增群(即,从核酸分子模板扩增的基本相同拷贝的群)中的模板核酸分子的小部分丧失或失去与群中其它的模板核酸分子的位相同步性(即,与该模板分子的部分相关的反应可能在对该群的测序反应运行中其它模板分子之前或之后)。校正CAFIE错误的CAFIE机制和方法的其它描述进一步描述于2007年2月15日提交的PCT申请US2007/004187,题为“System and Method for Correcting Primer Extension Errors in NucleicAcid Sequence Data”,其全文为所有目的在此引入作为参考。
此外,可以理解,一些类型的错误可能比其它类型以更高的频率发生和/或比其它类型的错误具有更严重的后果。例如,缺失错误可比置换错误具有更明显的影响。因此,可以有利地设计每个UID元件使其能更好地处理更频繁的或是更有害的错误类型。
如前所述,通常不想要随机地或是非选择性地设计UID元件的序列组成。两个不正确设计的UID元件和使用这种UID元件进行错误检测/校正中的问题的潜在性的示范性实施例显示于表1。
表1:
  UID元件1   生成的UID序列   UID元件2
  ACTGA(SEQ IDNO:1)   AGTGA(SEQ IDNO:2)   AGCGA(SEQ IDNO:3)
在表1的实施例中,如果UID元件1或2为原始序列元件,则显然表示为生成的UID序列的UID序列包含了错误(即,检测到至少一个错误的存在)。然而,不清楚在生成的UID序列的序列组成中UID元件1或UID元件2才是实际的UID元件,因为在生成序列中可产生任一种单个错误。换言之,可能在UID元件1中引入了一个错误从而在第二位置上将“C”核苷酸种类转换为“G”种类。也可能在UID元件2中引入了一个错误从而在第三位置上将“C”核苷酸种类转换为“T”种类。假设该序列信息,该错误被检测,但不可能推测到哪一个UID元件是原始元件,因此不能被校正。因此,无法明确形成该生成的UID序列与UID元件1或2的关联,因此与其中一个UID元件偶联的模板分子的来源的样本无法被识别,且可能需要排除所生成的序列信息。换言之,UID元件1和2的设计不足以彼此区分,已从所述的引入错误类型中收回。
在表2中进一步示范了较差的UID设计的潜在结果。
表2:
  UID元件1   UID元件2
  CTACC(SEQ ID NO:4)   CTGCC(SEQ ID NO:5)
表2的实施例提供了潜在后果的更清楚的描绘,其中在UID元件1中第三位置的A核苷酸种类置换为G核苷酸种类的置换事件是PCR过程引入错误的最常见类型之一,这导致了与UID 210元件序列组成的完全匹配。因此,该种较差的UID 210设计形成了不可测的错误,这可能导致将该序列数据错误分配给来源的样本。
各种方法可用于设计包含了满足必需设计标准的序列组成的UID元件。同样,在图1中所示的应用程序135可用于通过此处所述的部分或所有方法来设计UID 210。例如,可采用“强力”法,该方法可在设定与该设计标准相关的参数时计算给定长度的每个可能的序列组成以及与其它序列组成的可能冲突。在本实施例中,可计算10联体UID元件的序列组成以检测多达3个具有引入错误的序列位置并校正多达2个具有引入错误的序列位置。
可达到上述给定特征的最严格设计标准的UID210元件组的成员优选序列组成设计提出了计算上的挑战。本领域技术人员已知的数学方法可用于计算给定设计限制的组的成员的可能序列组成。例如,可在给定设计限制下计算序列组成的所有可能组合的数学转化,以生成所谓的“错误球”或“错误云(Error Clouds)”,从而确定每个UID元件与组中其它成员的潜在相容性。潜在UID元件的序列组成的相容性可形象地显示为不重叠的错误球。例如,图3示出了对包含了上述部分或所有设计特征(例如流式循环数和序列长度要求)的UID 310、UID 320、UID 330、UID 340和UID 350的计算错误球的所谓“空间势(space potential)”。如图3所示,UID 310、UID 320和UID 330的错误球不重叠,因此代表了相容性UID 210元件的序列组成。此外,UID 340与UID 320和UID 350重叠代表不相容的UID元件的序列组成。然而,UID340不与UID 310和UID 330重叠,因此表示对每个非重叠UID元件的相容性序列组成。
替代性地,可采用更具计算效率的方法,该方法使用了本领域中称为“动态规划(Dynamic Programming)”的技术。此处所用的术语“动态规划”一般指解决问题的方法,该方法包括将子问题和最佳结构相重叠。动态规划技术通常比非演绎知识的方法(methods with no a priori knowledge)远具计算效率。
动态规划技术的一些实施方式包括为特征串(如核苷酸种类串)计算所谓的“最小编辑距离”。换言之,组中的每一个UID成员元件可被看做代表核酸种类组成的特征串。此处所用的术语“最小编辑距离”一般指将第一串改变为第二串所需的最小点突变数量。此外,此处所用的术语“点突变”一般指并且包括表示为串中一个特征至另一个特征的置换、串中的插入特征或者串中的缺失特征的串内位置上特征组成的变化。例如,可计算一组UID 210元件中每个潜在成员相对组中所有其它成员的最小编辑距离。随后可对该最小编辑距离进行比较,且根据、至少部分根据该组中与所有其它成员具有足够高的最小编辑距离的每个成员来选择该组UID 210元件的成员以达到指定的标准。计算最小编辑距离的系统和方法已为相关领域普通技术人员公知,并可以多种方法实行。
此处所述发明的另一重要方面涉及分析序列数据以在该数据内“解码”或识别该UID 210序列元件。在一些实施方式中,可在作为应用程序135的计算机代码中执行算法,其处理每次运行的序列数据,识别UID 210并实施任意错误的检测或校正功能。应当认识到,该种在信息串中进行错误检测和校正的方法已被用于计算机领域,特别是电子储存和传输数据领域。例如,当数据通过网络传输或储存在电子介质中时,发生数据位从一种形式转变为另一种形式的“转换”问题。这种位转换问题代表与储存或传输数据完整性有关的问题,并且类似于此处所述的错误的置换类型。转换错误的检测和校正的方法描述于J.F.Wakerly,“Detection of unidirectional multiple errorsusing low cost arithmetic codes,”IEEE Trans.Comput.,第C-24卷,第210-212页,1975年2月;以及J.F.Wakerly,Error Detecting Codes,Self-Checking Circuits and Applications.Amsterdam,The Netherlands:North-Holland,1978,两者均在此为所有目的以全文引入作为参考。
然而,上述的转换错误检测和校正的方法不适用于序列数据中的错误(更具体而言UID元件的错误)检测和校正问题。重要的是,序列数据中的问题要复杂得多,因为它处理置换和缺失的问题以及生成定相问题的置换并使得每个序列位置的信息的分析更为复杂。
如上所述,UID 210可定位在相对其它容易识别的元件如引物205、关键207、该序列的5′或3′端等的已知位置。然而,正如在UID 210内的引入错误具有有害作用,在该UID 210元件的区域外的错误同样会影响识别每个UID 210元件的效率。此外,由UID 210限定区域外的错误的一些类型可导致和计算为在UID 210序列内的错误。例如,可发生插入事件,并体现在难以分析的之前的(即,上游的)UID 210元件序列数据。在本实施例中,插入事件可包括在包含TCAG序列组成的关键207的末端插入一个或多个G核苷酸类碱基,这可在序列位置处的核苷酸种类被“过度调用(overcalled)”时发生。然而,分析该数据的应用程序将无法得知这是一个插入事件,且不能排除在UID 210的第一序列位置由G核苷酸取代不同核苷酸种类的置换事件的可能性。换言之,在UID 210之外的错误将迫使该算法去判定这是改变了其应找寻的UID 210的第一序列位置的插入还是一个置换事件。
继续上一实施例,算法或用户会在紧邻另一已知元件(如图2A和2B中所示的关键207)的位置寻找该UID 210元件,但在关键207和UID 210之间插入一个碱基通常会被分配为属于UID 210(计算为第一个插入错误)。此外,该算法或用户预期UID 210具有特定长度(即,10个序列位置)并由于该第一插入(计算为第二缺失错误)而截短实际UID元件的最后序列位置。因此,显然该UID区域外的错误对于发现和分析UID 210的序列组成具有重大影响。
在一些实施方式中,在UID 210限定区域外的错误在新生分子3′末端会特别麻烦。例如,从5′到3′末端(即,向新生分子的3′末端添加核苷酸种类)的SBS测序的一些实施方式,当测序运行在3′端延伸时累计错误(例如上述CAFIE型错误)和引入错误速率将可能逐渐增高。因此,使用一定的假定而非严格的标准来识别UID 210可能更为实际和有效。同样如上所述,对5′端所用的假定可不同于对3′末端所用的假定,并被称为是“不对称的”。例如,可以假设在5′末端不会存在3个以上的序列位置错误,这与经验证据相符。然而,在本实施例中,由于在3′端发生错误的可能性上升,可以假设在3′末端不会出现4个以上的序列位置错误。由于在每一末端的可测错误的不对称差异,还可推断可校正错误的数量也不相同。在本实施例中,在5′末端的可校正错误可以是如上所述的2个序列位置,然而在3′末端的可校正错误可以仅是1个序列位置。同样,其它在3′末端采用的假定可能不适用于5′末端。这种假定可包括与UID 210紧邻的一个或多个“未调用”位置的存在。
在本实施例中,衔接子元件200或220的实施方式以图2A和2B所示的重复排列出现在模板核酸分子的3′末端(如上所述)。然而可以理解,本实施例涉及元件排列的差异,且与每个衔接子相关的元件不需要具有相同的组成(即,该3′端可包含第一UID元件的序列组成而5′端可包含具有不同序列组成的UID元件)。进一步可以理解,一些实施方式不一定会在每个衔接子的元件中包含相同组成(即,在5′端衔接子可包含UID 210元件而该衔接子在3′端则不包含,反之亦然)。同样,对于防止引入错误,可能存在引物元件205的序列质量固有的内部控制。例如,引物205的序列组成中引入错误将不利地影响该引物与其相应靶标的杂交质量,从而在PCR过程中不被扩增,并因此不出现在进行测序的模板分子群中。这种引物205的固有质量控制对于发现UID 210非常有用,因为引物205的序列组成已知,并可假定除了一些与测序相关的错误外基本没有错误。同样如上所述,关键207被用于质量控制目的,并且也可在相同的背景下被用作位置参照。因此,在本实施例中引物205和/或关键207可作为容易识别的参照锚定点,从而通过元件之间已知的位置关系识别UID 210。例如,用户或算法(例如由应用程序135执行的算法)可基于、至少部分基于该假定在紧邻关键207处或者在已知距离处寻找UID 210。
此外,一旦用户或算法已经识别推定UID 210元件的序列组成,则可发生错误识别和校正步骤。此处所述发明的实施方式将推定UID 210元件的序列组成与组中的UID 210成员的序列组成进行比较。完全匹配时可与其来源的样本关联。如果未发现完全匹配,则可分析具有该推定序列的序列组成最接近的UID 210元件,从而确定可能发生的插入、缺失或置换错误。例如,与该推定UID 210元件最接近的UID 210元件被识别或者该推定UID 210元件被认为具有太多错误。在本实施例中,可在该推定UID 210元件的序列组成和UID 210组中所有成员或者选定成员的序列组成之间计算最小编辑距离。该最小编辑距离可采用检测多达3个序列位置错误并可能校正多达2个序列位置错误的参数进行计算。在本实施例中,在给定参数限制(即,检测/校正)下与该推定UID 210元件具有最近或最短的最小编辑距离的UID 210成员被指定为该推定UID 210元件的序列组成。此外,如果该最小编辑距离计算确定发生了3个序列位置错误,则该推定UID 210元件可被指定为不可用,且不与来源的样本相关联。
本领域普通技术人员将能理解,当该UID 210元件被组合使用时,每个UID 210元件通常被独立地分析。然后识别的UID 210元件的组合可与已知的指定给来源的样本的组合进行比较,从而识别该序列数据与其特定的来源的样本之间的关联。
在优选的实施方式中,如上所述,可使用被储存以在计算机130上执行的应用程序135实施UID 210寻找算法。此外,相同或其它的应用程序可实施由该识别的UID 210的序列数据与来源的样本相关联,并通过界面向用户提供结果和/或将结果储存在电子介质上以供后续分析或使用的步骤。
实施例1-考虑有限数量的设计限制的UID元件的设计
对潜在UID元件的序列组成的设计可在考虑检测、校正和发夹设计限制的基础上进行计算。
首先为每个UID元件计算10个碱基对的序列长度,得到1,048,576个可能的元件。
然后,在可能的元件中选择不具有单体重复、仅需要5个或更少流式循环(20个流)、不以“G”核苷酸种类开始的UID元件,计算得到34,001个可能的元件。
后续步骤进行筛选以排除在40℃的温度下ΔG=-1.5的发夹,得到26,278个可能的元件。
最后,随机选择5,000个该种可能的元件以寻找可校正2个序列位置错误和检测3个序列位置错误的相容性组或群,得到:
32,999组12个元件
3,625组13个元件
24组14个元件
实施例2-用于创建UID序列元件的示范性计算机代码
UIDCreate.java类文件使用以下三种技术中的一种运行搜索,包括:(1)基于错误云,(2)基于编辑距离,以及(3)基于编辑距离,以及带有使用“安全图(safety map)”的附加效率策略以预先计算编辑距离,这使得所述软件能够在测试候选选择之前有效地预先估计搜索。
package com.fourfivefour.amplicons;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
   public class UIDCreate {
          static int maxReportSize=0;
          public enum SearchType{ErrorCloud,EditDistance,
  SafetyMapEditDistance;}
     /**
      *驱动程序,其使用三种不同搜索方法中的一种来搜索给定组大小的
      *UID序列的相容组。
      *
      *@param candidateSequences    要从其中选择的序列组。
      *@param setSize               方案中序列的期望的数量。
      *@param errsToCorrect     必须能够被校正以获取原始序列的
      *                         错误的数量。
      *@param errsToDetect      必须能够被检测但不需要被校正
      *                         的错误的数量。
      *@param searchType        使用的搜索策略。
      *@return               所要求的组大小的序列组,
      *                      其为候选序列的子集并且其可以根据错误
      *                      校正标准被区分。
      */
     public static Set<Sequence>searchCompatibleSet(Set<Sequence>
  candidateSequences,
           int setSize,int errsToCorrect,int errsToDetect,SearchType
   searchType){
         if(errsTo Correct>errsToDetect){
            throw new RuntimeException(″The numbers of errors to correct
  (″+errsToCorrect+
                                                  ″)must be<=the
  number to detect(″+errsToDetect+″)″);
       }
       List<Sequence>candidates=new
  ArrayList<Sequence>(candidateSequences);
     switch(searchType){
        case ErrorCloud:
           return searchCompatibleSetUsingErrorClouds(candidates,
                  setSize,errsToCorrect,errsToDetect,new
HashMap<Sequence,List<Set<Sequence>>>());
       case EditDistance:
          return searchCompatibleSetUsingEditDistance(candidates,
                 setSize,errsToCorrect,errsToDetect,new
HashSet<Sequence>()
                  );
        case SafetyMapEditDistance:
           return
searchCompatibleSetUsingSafetyMap(candidateSequences,
            setSize,errsToCorrect,errsToDetect);
        default:
           return null;
     }
   }
   /**
    *返回表示当前搜索状态的字符串。
    *
    *所得到的字符串对当前考虑下的序列的当前子集编码,其独立于被考
    *虑序列的顺序。通过追踪该字符串,可以确保恰好遇到的以不同
    *顺序表示的搜索空间的等价区域不被重复地搜索。
    *
    *@param currentState    定义当前搜索状态的序列组。
    *@return               对于序列组是唯一的、并且不依赖于*
    它们的顺序的字符串。
    */
public static String searchStateString(Set<Sequence>currentState){
   Sequence []currentStateArray=currentState.toArray(new Seq uence [0]);
Arrays.sort(currentStateArray);
StringBuffer sb=new StringBuffer();
for(Sequence state:currentStateArray){
      sb.append(state.getSequence());
      sb.append(′;′);
  }
  return sb.toString();
}
 /**
  *从候选组中,选择能够校正和检测期望数量的错误的相容序列的组。
  *
  *这种策略使用了序列对之间的预先计算的编辑距离以提前得知互相相
  *容的序列。这种成对的信息形成相容对的“安全图”,其提供了更有
  *效的有关将来的知识,即在其它序列被加入到方案组中后,哪些
  *序列将仍然是相容的。
  *
  *@param candidateSequences要从其中选择的序列组。
  *@param setSize    要生成的期望的组大小。
  *@param errsToCorrect    必须能够被校正的错误的数量。
  *@param errsToDetect    必须仅仅被检测的错误的数量。
  *
  *@return    达到期望标准的序列的组。
  */
 public static Set<Sequence>searchCompatibleSetUsingSafetyMap(
               Set<Sequence>candidateSequences,
               int setSize,int errsToCorrect,int errsToDetect)
{
     Map<Sequence,Set<Sequence>>safetyMap=new
HashMap<Sequence,Set<Sequence>>();
     /*在有太多的候选的情况下,安全图基于候选的子集计算。
     */
     final int maxSubsetSize=3000;
      Sequence[]fullSequenceList=candidateSequences.toArray(new
Sequence[0]);
      final int numSequencesToUse=
Math.min(maxSubsetSize,candid ateSequences.size());
     /*可能使用序列的子集计算安全图。
     *替代的/优选的实施方式可能会选择序列的随机子集而不仅仅是所
     *遇到的第一个numSequencesToUse。
     */
     for(int i=0;i<numSequencesToUse;i++){
        Set<Sequence>iSafety=new HashSet<Sequence>();
        iSafety.add(fullSequenceList[i]);
        safetyMap.put(fullSequenceList[i],iSafety);
     }
     /*建立安全图,保证每一序列对之间有足够的距离,从而直至来自一
     *个序列的错误检测和来自其他序列的错误校正的距离的序列将
     *不可能重叠。
     */
     int safeDistance=errsToCorrect+errsToDetect+1;
     for(int i=0;i<numSequencesToUse;i++){
        Set<Sequence>iSafety=safetyMap.get(fullSequenceList[i]);
        for(int j=i+1;j<numSequencesToUse;j++){
             Set<Sequence>jSafety=safetyMap.get(fullSequenceList[j ]);
              if(Library.minEditDistance(fullSequenceList[i],
   fullSequenceList[j])
                                                       >=
safeDistance){
                         iSafety.add(fullSequenceList[j]);
                         jSafety.add(fullSequenceList[i]);
             }
         }
    }
  //采用手头的安全图进行实际的搜索
Return searchCompatibleSetUsingSafetyMap(safetyMap.keySet(),
         setSize,errsToCorrect,errsToDetect,
         safetyMap,new HashSet<Sequence>(),new
HashSet<String>());
        }
        /**
       *从候选组中,选择能够校正和检测期望数量的错误的相容
       *序列的组。
       *
       *这种策略使用了序列对之间的预先计算的编辑距离以提前得知
       *相互相容的序列。这种成对的信息形成相容对的“安全图”,
       *其提供了更有效的有关将来的知识,即在其它序列被加入到方案
       *组中后,哪些序列将仍然是相容的。
       *
       *@param candidateSequences要从其中选择的序列组。
       *@param setSize           要产生的期望的组大小。
       *@param errsToCorrect     必须能够被校正的错误的数量。
       *@param errsToDetect      必须仅仅被检测的错误的数量。
       *@param safetyMap         指示与任意给定的其他序列相容
       *                         的序列的组的图。
       *@param selectedSequences 目前为止,在部分的方案中选择的
       *                         序列的当前的组。
       *@param searchStateHistory已经考虑过的序列的子集的历史。
       *
       *@return                  达到期望标准的序列的组。
       */
public static Set<Sequence>searchCompatibleSetUsingSafetyMap(
       Set<Sequence>candidateSequences,int setSize,
       int errsToCorrect,int errsToDetect,
       Map<Sequence,Set<Sequence>>safetyMap,
       Set<Sequence>selectedSequences,
    Set<String>searchStateHistory){
String searchStateString=searchStateString(selectedSequences);
if(searchStateHistory.contains(searchStateString)){
    /*该搜索的一些其他分支已经检查过了该区域,
    *所以不需要搜索两次
    */
    return null;
}else{
    /*
     *记录我们正在发起的在给定状态下的搜索
     */
    searchStateHistory.add(searchStateString);
}
if(selectedSequences.size()>maxReportSize){
    //提供中间报告以示进度
    maxReportSize=selectedSequences.size();
    reportSet(selectedSequences);
}
if(selectedSequences.size()>=setSize){
    return selectedSequences;
}
if(selectedSequences.size()+candidateSequences.size()<setSize){
    //如果没有足够的候选来填满所要求的组大小,
    //那么立即返回失败。
    return null;
}
/*以仍然有效的最大数量的序列的相容选择来查找候选序列:
*/
final Map<Sequence,Integer>remainingSafetyMapSize=newHashMap<Sequence,Integer>();
      Sequence candidates[]=candidateSequences.toArray(new
Sequence[0]);
      for(Sequence sequence:candidates){
         Set<Sequence>currentSafety=new
HashSet<Sequence>(safetyMap.get(sequence));
         currentSafety.retainAll(candidateSequences);
         remainingSafetyMapSize.put(sequence,currentSafety.size());
      }
      Comparator<Sequence>candidateSorter=new
Comparator<Sequence>(){
         public int compare(Sequence seq 1,Sequence seq2){
            int seq1Val=remainingSafetyMapSize.get(seq 1);
            int seq2Val=remainingSafetyMapSize.get(seq2);
            if(seq1Val>seq2Val){
               return-1;
            }else if(seq1Val<seq2Val){
               return 1;
            }else{
               return(seq1).compareTo(seq2);
            }
        }
     };
     Arrays.sort(candidates,candidateSorter);
     Set<Sequence>result=null;
     finalint searchBreadth=10;
     for(int i=0;i<candidates.length&&i<searchBreadth&&result==null;i++){
          Sequence nextCandidate=candidates[i];
          int numNextCompatible=
FemainingSafetyMapSize.get(nextCandidate);
          if(numNextCompatible==1){
             /*下一个候选仅仅与其自身相容,所以搜索完成
            */
            break;
         }else{
            Set<Sequence>nextCandidateSequences=
               new HashSet<Sequence>(candidateSequences);
   nextCandidateSequences.retainAll(safetyMap.get(nextCandidate));
           nextCandidateSequences.remove(nextCandidate);
           Set<Sequence>nextSelectedSeqs=new
HashSet<Sequence>(selectedSequences);
           nextSelectedSeqs.add(nextCandidate);
           result=
searchCompatibleSetUsingSafetyMap(nextCandidateSequences,
 setSize,
 errsToCorrect,
 errsToDetect,
 safetyMap,
 nextSelectedSeqs,
 searchStateHistory);
      }
   }
   return result;
}
/**
*从给定输入序列的突变的指示的数量产生“错误云”序列组(Generate
*the“error cloud”sequence sets out to the indicated number of
*mutations of the given input sequence。
*该例程实现给定序列的所有可能突变的广度优先枚举,同时避免
*搜索空间的冗余、等价的子树。
*@param inputSequence
*            要进行突变的序列。
*@param numMutations
*            要产生的突变的层(ply)的数量。
*@return     突变的序列的组的列表,从而第i个列表元素表示突变
*            的序列的组,该突变的序列的组可能通过i次突变从原始
*            序列得到,并且,进一步,不能从少于i次突变的原始序列
*            得到。
*/
public static List<Set<Sequence>>generateErrorClouds(
              Sequence inputSequence,int numMutations){
List<Set<Sequence>>mutationPlys=new ArrayList<Set<Sequence>>();
   //第0次突变层即原始序列自身:
   Set<Sequence>initialPly=new HashSet<Sequence>();
   initialPly.add(inputSequence);
   mutationPlys.add(initialPly);
   for(int ply=1;ply<=numMutations;ply++){
      Set<Sequence>lastPlySequences=
         mutationPlys.get(ply-1);
      Set<Sequence>nextPlyCandidates=
         Sequence.generateSingleMutations(lastPlySequences);
      Iterator<Sequence>candidateIter=
         nextPlyCandidates.iterator();
/*移除任何出现在之前层中的候选(意味着它们可以通过更短的、
*更直接序列的突变得到)。
*/
while(candidateIter.hasNext()){
   Sequence candidate=candidateIter.next();
   for(Set<Sequence>previousPly:mutationPlys){
      if(previousPly.contains(candidate)){
         candidateIter.remove();
         break;
       }
        }
      }
      //在这一点存留的候选表示下一个层
      mutationPlys.add(nextPlyCandidates);
  }
  return mutationPlys;
}
/**
*验证给定的序列的集合以确保它们与关于期望数量的要校正和检
*测的错误是相容的。
*如果每个序列的校正距离的错误云(the error cloud out to the
*correction distance of either sequence)与另一序列的检测距离的
*错误云(the error cloud out to the detection distance of the other
*sequence)没有交集,那么这两个序列相容。
*如果序列集合中的所有序列对都相容,那么该集合自身是相容的。
*这种相容性的定义逻辑上根据以下事实:当潜在的可观测的序列可以
*通过突变从集合中的一个以上的序列产生(由此防止执行确定的校正)
*并且如果该可观测序列在那些序列的任意一个的期望的错误校正距离
*内,那么就会存在不相容性。注意,在两个序列的错误检测距离内的
*突变序列不是问题,这是由于无法预料能够校正这样的突变的序列(仅
*仅检测突变已经发生)。
*@param sequences      要测试的序列的集合。
*@param errsToCorrect  要校正的错误的期望的数量。
*@param errsToDetect   要检测的错误的期望的数量。
*@return               如果序列的集合相容那么返ture,否则返
*                      回false。
*/
public static boolean validateCollection(Set<Sequence>sequences,
                                                          int
errsToCorrect,
                                                       int
errsToDetect)
   {
      /*首先为每个序列产生错误云并且将独立的云级别分成两个组:那些
      *在序列中心的“errsToCorrect”距离内的序列和那些到中心
      *“errsToDetect”距离内的序列。
      */
      Map<Sequence,Set<Sequence>>correctLevelMap=
        new HashMap<Sequence,Set<Sequence>>();
      Map<Sequence,Set<Sequence>>detectLevelMap=
        new HashMap<Sequence,Set<Sequence>>();
      for(Sequence sequence:sequences){
         List<Set<Sequence>>errorClouds=
            generateErrorClouds(sequence,errsToDetect);
            Set<Sequence>errsToCorrectSequences=new
HashSet<Sequence>();
        for(int errLevel=0;errLevel<=errsToCorrect;errLevel++){
           errsToCorrectSequences.addAll(errorClouds.get(errLevel));
        }
        Set<Sequence>errsToDetectSequences=
           new HashSet<Sequence>(errsToCorrectSequences);
        for(int errLevel=errsToCorrect+1;errLevel<=errsToDetect;
            errLevel++){
           errsToDetectSequences.addAll(errorClouds.get(errLevel));
        }
        correctLevelMap.put(sequence,errsToCorrectSequences);
        detectLevelMap.put(sequence,errsToDetectSequences);
    }
    /*验证一个序列的“errsToDetect”错误距离的突变(the mutations
outtothe“errsToDetect”error distance)没有与另一
     *序列的“errsToCorrect”错误距离的任一突变(any of the mutations
out to the“”errsToCorrect”error distance)相同。
     */
  Sequence seqList[]=sequences.toArray(new Sequence[0]);
  boolean foundOverlap=false;
  for(int i=0;!foundOverlap & & i<seqList.length;i++){
     for(int j=0;!foundOverlap & & j<seqList.length;j++){
        if(i==j){
           continue;
        }
        Set<Sequence>overlapSet=
           new
HashSet<Sequence>(detectLevelMap.get(seqList[i]));
         overlapSet.retainAll(correctLevelMap.get(seqList[j]));
         foundOverlap=!overlapSet.isEmpty();
      }
    }
    return!foundOverla p;
}
/**
 *验证给定的序列的集合以确保它们关于期望数量的要校正和检测
 *的错误是相容的。
 *
 *如果每个序列的校正距离的错误云与其它序列的检测距离的校正云没
 *有交集,那么两个序列相容。如果序列集合中的所有序列对都相容,
 *那么该集合自身是相容的。
 *
 *这种相容性的定义逻辑上根据以下事实:当潜在的可观测的序列可以
 *通过突变从集合中的一个以上的序列得到(由此防止执行确定的校正)
 *并且如果该可观测序列在那些序列的任意一个的期望的错误校正距离
 *内,那么就会存在不相容性。注意,在两个序列的错误检测距离内的
 *突变序列不是问题,这是由于无法预料能够校正这样的突变的序列(仅
 *仅检测突变已经发生)。
 *
 *该例程不创建实际的错误云进行计算,而是使用序列之间的最小编辑
 *距离以确保相容性。
  *
  *@param sequences      要测试的序列的集合。
  *@param errsToCorrect    要校正的错误的期望的数量。
  *@param errsToDetect     要检测的错误的期望的数量。
  *@return            如果序列的集合相容则返回true,否则返回
  *                   false。
  */
 public static boolean validateCollectionUsingDistance(
                      Set<Sequence>sequences,
                      int errsToCorrect,int errsToDetect){
       Sequence seqList[]=sequences.toArray(new Sequence[0]);
       /*如果两个序列之间的最小距离比错误的总和大1,那么这两个序列
       *的错误检测云和错误校正云不能重叠。
       */
       int safeDistance=errsToCo rrect+errsToDetect+1;
       for(int i=0;i<seqList.length;i++){
           for(int j=i+1;j<seqList.length;j++){
              int ijDist=Library.minEditDistance(seqList[i],seqList[j]);
              if(ij Dist<safeDistance){
                  System.out.println(″Validation failed,dist=″+ijDist+″for
″+seqList[i]+″vs″+seqList[j]);
                  return false;
               }
           }
        }
        return true;
     }
     /**
      *从候选组中,选择能够校正和检测期望数量的错误的相容序列的组。
      *
      *这种策略使用序列对之间的编辑距离以确保它们以阻止错误检测/校
      *正的方式不重叠。这种技术比明确枚举和比较序列之间的错误云更有
*效。
*@param candidateSequences  要从中选择的序列组。
*@param setSize             要产生的期望的组大小。
*@param errsToCorrect       必须能够被修正的错误的数量。
*@param errsToDetect        必须仅仅被检测的错误的数量。
*@param currentSequences    指示当前所选择的候选的搜索状态。
*@return                    达到期望标准的序列的组。
*/
public static Set<Sequence>searchCompatibleSetUsingEditDistance(
       List<Sequence>candidateSequences,int setSize,
       int errsToCorrect,int errsToDetect,
       Set<Sequence>currentSequences){
   if(currentSequences.size()>maxReportSize){
       /**
        *提供中间等级报告以确保达到进度
        */
       maxReportSize=currentSequences.size();
       reportSet(currentSequences);
    }
    if(currentSequences.size()>=setSize){
        return currentSequences;
    }
    /*如果两个序列之间的最小距离比错误的总和大1,那么这两个序列
    *的错误检测云和错误校正云不能重叠。
    */
int safeDistance=errsToCorrect+errsToDetect+1;
for(int nextIdx=0;nextIdx<candidateSequences.size();nextIdx++){
       /*检查以查看nextSequence足以远离前缀方案中的所有其他序
       *列。
       */
          Sequence nextSequence=candidateSequences.get(nextIdx);
          boolean overlappingClouds=false;
          for(Sequence currentSequence:currentSequences){
             if(Library.minEditDistance(currentSequence,nextSequence)<
safeDistance){
                                   overlappingClouds=true;
                                   break;
             }
         }
         if(!overlappingClouds){
            List<Sequence>remainingCandidates=
               candidateSequences.subList(nextIdx+1,
candidateSequences.size());
            currentSequences.add(nextSequence);
            Set<Sequence>solution=
               searchCompatibleSetUsingEditDistance(
                     remainingCandidates,
                     setSize,errsToCorrect,errsToDetect,
                     currentSequences);
          if(solution==null){
              currentSequences.remove(nextSequence);
          }else{
             return solution;
          }
      }
  }
  return null;
}
/**
 *从候选组中,选择能够校正和检测期望数量的错误的相容序列的组。
 *
 *这种策略使用候选序列周围的“错误云”的明确枚举以确保它们以阻
    *止错误检测/校正的方式不重叠。这种技术对于大的错误云来说可能不
    *是合适、有效或甚至实用的。
    *
    *@param candidateSequences 要从中选择的序列组。
    *@param setSize            要产生的期望的组大小。
    *@param errsToCorrect      必须能够被校正的错误的数量。
    *@param errsToDetect       必须仅仅被检测的错误的数量。
    *
    *@param currentErrorClouds 从当前所选择的候选和它们的对应的错
    *                        误云映射的搜索的状态。
    *@return                   达到期望标准的序列的组。
    */
    public static Set<Sequence>
searchCompatibleSetUsingErrorClouds(List<Sequence>
candida teSequences,
                                                           int
setSize,
                                                           int
errsToCorrect,int errsToDetect,
Map<Sequence,List<Set<Sequence>>>currentErrorClouds){
    if(currentErrorClouds.size()>maxReportSize){
       /**
        *提供中间等级报告以确保达到进度
        */
       maxReportSize=currentErrorClouds.size();
       reportSet(currentErrorClouds.keySet());
    }
    if(currentErrorClouds.size()>=setSize){
       return currentErrorClouds.keySet();
    }
    for(int nextIdx=0;nextIdx<candidateSequences.size();nextIdx++)
{
          Sequence nextSequence=candidateSequences.get(nextIdx);
          List<Set<Sequence>>nextErrorCloud=
             generateErrorClouds(nextSequence,errsToDetect);
         /*
          *检查以查看nextErrorCloud不与currentErrorClouds的任何
          *一个重叠,除了可能在errsToDetect目录中,其中它可仅仅与
          *其他errsToDetect远处的云重叠。
          */
         boolean overlappingClouds=false;
         for(List<Set<Sequence>>currentClouds:
currentErrorClouds.values()){
            for(int currentErrorLevel=0;!overlappingClouds
                   & & currentErrorLevel<=errsToCorrect;
currentErrorLevel++){
               for(int nextErrorLevel=0;!overlappingClouds
                      && nextErrorLevel<=errsToDetect;
nextErrorLevel++){
                 Set<Sequence>currentLevelErrorCloud=
currentClouds.get(currentErrorLevel);
                   for(Sequence nextEFrorSequence:
nextErrorCloud.get(nextErrorLevel)){
                         if
(currentLevelErrorCloud.contains(nextErrorSequence)){
                         overlappingClouds=true;
                         break;
                     }
                  }
               }
            }
         }
        /*
         *检查以查看没有围绕当前代码的在错误范围内的错误云以仅仅
         *检测与在要校正的错误范围内的nextErrorClond云的重
         *叠。
         */
         if(!overlappingClouds){
            for(List<Set<Sequence>>currentClouds:
currentErrorClouds.values()){
                          for(int currentErrorLevel=errsToCorrect+1;
!overlappingClouds
                                   && currentErrorLevel<=errsToDetect;
currentErrorLevel++){
                        for(int nextErrorLevel=0;!overlappingClouds
                            & & nextErrorLevel<=
errsToCorrect;nextErrorLevel++){
                                Set<Sequence>currentLevelErrorCloud
=currentClouds.get(currentErrorLevel);
                                      for(Sequence nextErrorSequence:
nextErrorCloud.get(nextErrorLevel)){
                                          if
(currentLevelErrorCloud.contains(nextErrorSequence)){
                                             overlappingClouds=true;
                                 break;
                         }
                       }
                    }
                 }
              }
            }
            if(!overlappingClonds){
               List<Sequence>remainingCandidates=
                  candidateSequences.subList(nextIdx+1,
candidateSequences.size());
            currentErrorClouds.put(nextSequence,nextErrorClond);
            Set<Sequence>solution=
searchCompatibleSetUsingErrorClouds(
                                          remainingCandidates,
                                    setSize,errsToCorrect,
errsToDetect,currentE rrorClouds);
            if(solution==null){
                currentErrorClouds.remove(nextSequence);
            }else{
               return solution;
            }
          }
        }
        return null;
     }
     /**
      *产生所有可能的流模式的集合,流模式将产出给定长度的序列,并且
      *没有单体重复、使用最多给定数量的流以及避免给定开始流作为模式
      *的第一正向流(first positive flow)。
      *
      *@param numBases    如果对于序列,给定的流向图(flowgram)
      *                     被观测,应该被产出的调用的基的数量。
      *@param startFlow     递归调用该例程中的第一流的概念流索引。
      *@param maxFlow   可能由该模式消耗的流(正向或负向)的最大数
      *                 量。
      *@param avoidStartFlow  可能不是第一正向流的流。
      *@return                流模式的集合(字符串0和1表示达到期
      *                       望标准的负向和正向流)。
      */
      public static Set<String>generateCandidateFlowPatterns(int num Bases,
                  int startFlow,int maxFlow,int avoidStartFlow){
        Set<String>candidates=new HashSet<String>();
        if(numBases>0){
          if(sta rtFlow==maxFlow){
             return candidates;
          }else{
             String zeroPrefix=″″;
             for(int flowSkip=0;flowSkip<(startFlow==0?4:3);
flowSkip++) {
               int nextPositiveFlow=startFlow+flowSkip;
               if(nextPositiveFlow<maxFlow
                      &&(startFlow>0||nextPositiveFlow!=
avoidStartFlow)){
                  String currentPrefix=zeroPrefix+″1″;
                  for(String candidateSuffix:
generateCandidateFlowPatterns(
                                   numBases-1,nextPositiveFlow+1,
maxFlow,
                                   avoidStartFlow)){
                            candidates.add(currentPrefix+
candidateSuffix);
                   }
                 }
                 zeroPrefix+=″0″;
             }
          }
       }else{
          candidates.add(″″);
       }
       return candidates;
   }
   /**
    *基于给定流式顺序,使用最大数量的流周期,产生给定碱基内容长度
    *的候选序列的组,从而没有序列以特定的碱基开始。
    *
    *@param numBases        每个候选序列应当具有的碱基的数量。
    *@param maxCycles       允许的最大数量的流式循环。
    *@param flowOrder       用于测序的流式顺序。
    *@param avoidStartBase  在序列的开始要避免的碱基。
    *@return                达到给定标准的序列的候选组。
    */
    public static Set<Sequence>generateCandidateSequences(int numBases,
int maxCycles,
        String flowOrder,char avoidStartBase)
 {
    Set<String>candidateFlows=
       generateCandidateFlowPatterns(numBases,
                          0,
                          maxCycles*4,
 flowOrder.indexOf(avoidStartBase));
     Set<Sequence>candidateSequences=new HashSet<Sequence>();
     for(String flows:candidateFlows){
         Flowgram f=new
Flowgram(flowOrder,Flowgram.flowValueStringToFlowValues(flows));
candidateSequences.add(new Sequence(faseCall()));
}
/*
*在这里,通过一些分子生物的标准,例如形成发夹回转的倾向,可
*能进一步过滤候选序列
*/
return candidateSequences;
}
/**
 *假设默认流式顺序为TACG,生成序列的组的打印的表示。
 *
 *@param sequences要报告的序列的组。
 */
public static void reportSet(Set<Sequence>sequences){
   reportSet(sequences,″TACG″);
}
/**
 *假定给定流式顺序,生成序列的组的打印的表示以及它们的概念流向
 *图。
    *
    *@param sequenceSet要报告的序列的组。
    *@param flowOrder  将要在测序中使用的流式顺序。
    */
public static void reportSet(Set<Sequence>sequenceSet,String flowOrder){
       Sequence sequences[]=sequenceSet.toArray(new Sequence[0]);
       Arrays.sort(sequences);
       for(int i=0;i<sequences.length;i++){
          System.out.println(″Sequence#″+(i+1)+″\t″
                +new
Flowgram(flowOrder,sequences[i].getSequence()).getFlowValueString()+
″\t″
                                +sequences[i].getSequence());
      }
      System.out.println(″---------″);
      System.out.flush();
    }
    /**
     *使用搜索代码以产生相容序列的组的例子,该相容序列的集合达到碱
     *基组成的给定的设计标准、最大流的使用,以及能够校正和检测
     *错误。
     *
     *(@param args
     */
    public static void main(String[]args){
       char fivePrimeAvoidBase         =′G′;
       final String flowOrder        =″TACG″;
       final int     uidBaseLength   =10;
       finalint      uidM axCycles   =5;
       final int     errorsToCorrect=2;
       final int     errorsToDetect  =3;
     final int   desiredSetSize  =12;
     System.out.println(″Computation Begun″);
     Set<Sequence>sequenceSet=
        generateCandidateSequences(uidBaseLength,
                             uidMaxCycles,
                             flowOrd er,
                             fivePrimeAvoidBase);   System.out.println(″Total candidate sequencess=″+sequenceSet.size());
   Set<Sequence>compatibleSequences=
      searchCompatibleSet(sequenceSet,desiredSetSize,
                               errorsToCorrect,errorsToDetect,
                               SearchType.EditDistance);
   if(compatibleSequences==null){
       System.out.println(″No solution″);
    } else{
      reportSet(compatibleSequences,nowOrder);
    }
  }
}
应当理解提供的上述计算机代码是用于示例的目的,并且可以采用多种代替方法和代码结构。还应当理解,这里所提供的示例代码的目的不是作为单独的应用程序执行或者脱离附加的计算机代码或修改而完整地运行。
实施例3-计算的UID序列、群ID和流向记载表
Figure G2008800184205D00561
Figure G2008800184205D00571
Figure G2008800184205D00581
Figure G2008800184205D00591
Figure G2008800184205D00601
Figure G2008800184205D00621
Figure G2008800184205D00631
Figure G2008800184205D00641
Figure G2008800184205D00661
Figure G2008800184205D00671
Figure G2008800184205D00691
Figure G2008800184205D00701
Figure G2008800184205D00711
Figure G2008800184205D00721
Figure G2008800184205D00731
Figure G2008800184205D00741
Figure G2008800184205D00751
Figure G2008800184205D00761
Figure G2008800184205D00771
Figure G2008800184205D00781
Figure G2008800184205D00801
Figure G2008800184205D00811
Figure G2008800184205D00831
Figure G2008800184205D00841
Figure G2008800184205D00851
Figure G2008800184205D00861
Figure G2008800184205D00871
Figure G2008800184205D00881
Figure G2008800184205D00891
实施例4-用于表示和操作UID标识的核苷酸序列的示例计算机代码
package com.fourfivefour.amplicons;
import java.util.HashSet;
import java.util.Set;
/**
*在核苷酸序列上实现通用操作的代码
*/
public class Sequence implements Comparable<Sequence>{
      private String sequence;
      static final char possibleBases[]={′A′,′C′,′T′,′G′};
      public Sequence(String sequence){
             this.sequence=sequence.toUpperCase();
      }
      public String getSequence(){
             return sequence;
      }
      public int hashCode(){
             return sequence.hashC ode();
      }
      public boolean equals(Object obj){
             return((this==obj)||
                   ((obj instanceof Sequence)&&
                   sequence.equals(((Sequence)obj).sequence)));
      }
         public int compareTo(Sequence obj){
                return sequence.compareTo(obj.sequence);
         }
         public String toString(){
                return sequence;
         }
   /**
    *产生序列的所有单个碱基插入的组。
    *
    *@return    表示序列的所有单个碱基插入的序列的组。
    */
   public Set<Sequence>generateSingleInsertions(){
          Set<Sequence>insertions=new HashSet<Sequence>();
          int seqLen=sequence.length();
          for(int insertIdx=0;insertIdx<=seqLen;insertIdx++){
              String prefixString=sequence.substring(0,insertIdx);
              String suffixString=sequence.substring(insertIdx,seqLen);
              for(char insertBase:possibleBases){
                 insertions.add(new Sequence(prefixString+insertBase+
suffixString));
              }
           }
           return insertions;
   }
   /**
    *  产生序列的所有单个碱基置换的组。
    *
    *@return    表示序列的所有单个碱基置换的序列的组。
    */
  public Set<Sequence>generateSingleSubstitutions(){
        Set<Sequence>substitutions=new HashSet<Sequence>();
        int seqLen=sequence.length();
        for(int substBaseIdx=0;substBaseIdx<seqLen;substBaseIdx++)
 {
             String prefixString=
                    sequence.substring(0,substBaseIdx);
             String suffixString=
                    sequence.substring(substBaseIdx+1,seqLen);
             char originalBase=
                   sequence.charAt(substBaseIdx);
             for(char substBase:possibleBases){
                  if(substBase!=originalBase){
                       substitutions.add(
                       new Sequence(prefixString+substBase+
 suffixString)
                       );
                    }
              }
     }
     return substitutions;
   }
   /**
    *产生序列的所有单个碱基缺失的组。
    *
    *@return    表示序列的所有单个碱基缺失的序列的组。
    */
   public Set<Sequence>generateSingleDeletions(){
          Set<Sequence>deletions=new HashSet<Sequence>();
          int seqLen=sequence.length();
          for(int deleteBaseIdx=0;deleteBaseIdx<seqLen;
deleteBaseIdx++){
              String prefixString=
                     sequence.substring(0,deleteBaseIdx);
              String suffixString=
                     sequence.substring(deleteBaseIdx+1,seqLen);
              deletions.add(new Sequence(prefixString+suffixString));
       }
       return deletions;
  }
  /**
   *从序列的输入组中的每一个序列开始,产生所有1-碱基突变。
   *
   *@param inputSeqs序列的输入组。
   *@return    离序列的输入组中的每一个序列刚好一
   *个突变的序列的组。
   */
  public static Set<Sequence>generateSingleMutations(Set<Sequence>   inputSeqs){
     Set<Sequence>mutatedSequences=new HashSet<Sequence>();
     for(Sequence inputSeq:inputSeqs){
        mutatedSequences.addAll(inputSeq.generateSingleDeletions());
        mutatedSequences.addAll(inputSeq.generateSingleInsertions());
        mutatedSequences.addAll(inputSeq.generateSingleSubstitutions());
        }
        return mutatedSequences;
    }
}
如前所述,应当理解提供的上述计算机代码是用于示例的目的,并且可以采用多种替代方法和代码结构。还应当理解,这里所提供的示例代码的目的不是作为单独的应用程序执行或者脱离附加的计算机代码或修改而完整地运行。
经过对各种实施例和实施方式的描述后,对相关领域的技术人员来说显而易见的是,前述仅通过例子的方式示出的内容仅仅是示例而不是限制。分配示出的实施例的各种功能元件中的功能的许多其他方案是可能的。任一元件的功能可以在替代实施例中通过各种方式实现。

Claims (49)

1.用于识别模板核酸分子的来源的识别子元件,其包含:
核酸元件,该核酸元件包含能够检测由该核酸元件生成的序列数据中的引入错误并校正所述引入错误的序列组成,其中该核酸元件被构建为与模板核酸分子的末端偶联并识别该模板核酸分子的来源。
2.如权利要求1所述的识别子元件,其中:
所述序列组成能够检测多达三个引入错误并校正多达两个引入错误。
3.如权利要求1所述的识别子元件,其中:
所述序列组成包含10个序列位置。
4.如权利要求1所述的识别子元件,其中:
所述引入错误选自插入错误、缺失错误和置换错误。
5.如权利要求1所述的识别子元件,其中:
所述序列组成包含基于选自最小序列长度、最小流式循环数、序列显著性以及单体重复的一组参数的设计。
6.如权利要求1所述的识别子元件,其中:
所述序列组成包含了基于选自熔解温度、Gibbs自由能、发夹形成以及二聚体形成的一组参数的设计。
7.如权利要求1所述的识别子元件,其中:
所述核酸元件被整合进入包含引物元件的衔接子,其中所述衔接子与所述模板核酸分子的末端偶联。
8.如权利要求7所述的识别子元件,其中:
所述核酸元件处于相对所述引物元件的已知位置。
9.如权利要求7所述的识别子元件,其中:
所述引物元件选自扩增引物、测序引物或扩增-测序双重引物。
10.如权利要求7所述的识别子元件,其中:
所述衔接子包含质量控制元件。
11.如权利要求7所述的识别子元件,其中:
所述核酸元件处于相对所述质量控制元件的已知位置。
12.如权利要求1所述的识别子元件,其中:
所述模板核酸分子的来源包括实验样本或诊断样本。
13.如权利要求1所述的识别子元件,其中:
所述核酸元件属于一个组,该组包含分别具有特征序列组成的多个相容性核酸元件,其中对该引入错误的检测相对于该组的相容性核酸元件的序列组成进行。
14.如权利要求13所述的识别子元件,其中:
所述组包含了所述相容性核酸元件中的14个。
15.识别模板核酸分子来源的方法,其包括如下步骤:
从模板核酸分子生成的序列数据识别第一识别子序列;
检测所述第一识别子序列中的引入错误;
校正所述第一识别子序列中的所述引入错误;
将所述校正的第一识别子序列与偶联至所述模板分子的第一识别子元件相关联;和
使用所述校正的第一识别子序列与第一识别子元件的关联识别所述模板分子的来源。
16.如权利要求15所述的方法,进一步包括:
对模板核酸分子测序以生成序列数据。
17.如权利要求15所述的方法,其中:
所述模板核酸分子包含在多重样本中,该多重样本包含来自多个不同来源的多个模板分子。
18.如权利要求15所述的方法,进一步包括:
在所述第一识别子序列中检测多达三个引入错误;并
在所述第一识别子序列中校正多达两个引入错误。
19.如权利要求15所述的方法,其中:
所述引入错误选自插入错误、缺失错误和置换错误。
20.如权利要求15所述的方法,其中所述检测步骤包括:
在侧翼具有所述识别子序列的一个或多个序列区中测量序列组成的一个或多个特征;并
采用由测得的特征获得的一个或多个假设检测所述引入错误。
21.如权利要求15所述的方法,其中:
所述第一识别子元件被整合进入包含引物元件的衔接子中,其中所述衔接子与所述模板核酸分子偶联。
22.如权利要求21所述的方法,其中:
所述第一识别子元件处于相对所述引物元件的已知位置。
23.如权利要求21所述的方法,其中:
所述引物元件选自扩增引物、测序引物或扩增-测序双重引物。
24.如权利要求21所述的方法,其中:
所述衔接子包含质量控制元件。
25.如权利要求21所述的方法,其中:
所述第一识别子元件处于相对所述质量控制元件的已知位置。
26.如权利要求15所述的方法,其中:
所述模板核酸分子的来源包括实验样本或诊断样本。
27.如权利要求15所述的方法,进一步包括如下步骤:
从所述模板核酸分子生成的序列数据识别第二识别子序列;
检测所述第二识别子序列中的引入错误;
校正所述第二识别子序列中的引入错误;
将所述校正的第二识别子序列与偶联至所述模板核酸分子的第二识别子元件相关联;和
采用所述校正的第二识别子序列与该第二识别子元件的关联和所述校正的第一识别子序列与该第一识别子元件的关联的组合识别该模板核酸分子的来源。
28.如权利要求27所述的方法,进一步包括:
在所述第二识别子序列中检测多达三个引入错误;并
在所述第二识别子序列中校正多达两个引入错误。
29.如权利要求15所述的方法,其中:
所述引入错误选自插入错误、缺失错误和置换错误。
30.如权利要求15所述的方法,其中:
所述第一识别子属于多个识别子组中至少一个相容性识别子组。
31.如权利要求15所述的方法,其中:
所述相容性识别子组包含能够检测和校正该引入错误的14个识别子。
32.用于识别模板核酸分子的来源的试剂盒,其包含:
一组核酸元件,每个核酸元件包含能够检测由每个核酸元件生成的序列数据的引入错误并校正该引入错误的特征序列组成,其中该核酸元件的每一个被构建为与模板核酸分子的末端偶联并识别该模板核酸分子的来源。
34.如权利要求32所述的试剂盒,其中:
所述特征序列组成能够检测多达三个引入错误并校正多达两个所述引入错误。
35.如权利要求32所述的试剂盒,其中:
所述引入错误选自插入错误、缺失错误和置换错误。
36.如权利要求32所述的试剂盒,其中:
所述核酸元件的每一个被整合进入包含引物元件的衔接子,其中该衔接子与所述模板核酸分子的末端偶联。
37.如权利要求36所述的试剂盒,其中:
所述核酸元件处于相对所述引物元件的已知位置。
38.如权利要求36所述的试剂盒,其中:
所述引物元件选自扩增引物、测序引物或扩增-测序双重引物。
39.如权利要求36所述的试剂盒,其中:
所述衔接子包含质量控制元件。
40.如权利要求36所述的试剂盒,其中:
所述核酸元件处于相对所述质量控制元件的已知位置。
41.如权利要求32所述的试剂盒,其中:
对每个核酸元件中的引入错误的检测相对于所述组的其它核酸元件的特征序列组成进行。
42.如权利要求41所述的试剂盒,其中:
所述组包含所述核酸元件中的14个。
43.计算机,其包括在其中储存的可执行代码,其中该可执行代码执行识别模板核酸分子来源的方法,该方法包括如下步骤:
从模板核酸分子生成的序列数据识别识别子序列;
检测所述识别子序列中的引入错误;
校正所述识别子序列中的该引入错误;
将所述校正的识别子序列与偶联至所述模板分子的识别子元件相关联;和
使用所述校正的识别子序列与所述识别子元件的关联识别所述模板分子的来源。
44.如权利要求43所述的方法,其中:
所述模板核酸分子包含在多重样本中,该多重样本包含来自多个不同来源的多个模板分子。
45.如权利要求43所述的方法,进一步包括:
在所述第一识别子序列中检测多达三个引入错误;并
在所述第一识别子序列中校正多达两个引入错误。
46.如权利要求43所述的方法,其中:
所述引入错误选自插入错误、缺失错误和置换错误。
48.如权利要求43所述的方法,其中所述识别步骤进一步包括:
通过所述序列数据中一个或多个元件的已知位置关系确定所述识别子序列的位置。
49.如权利要求48所述的方法,其中:
所述一个或多个元件包括引物序列。
50.如权利要求43所述的方法,其中所述检测步骤进一步包括:
在侧翼具有识别子序列的一个或多个序列区中测量序列组成的一个或多个特征;并
采用由测得的特征获得的一个或多个假设检测所述引入错误。
51.如权利要求43所述的方法,进一步包括:
从所述模板核酸分子生成的序列数据识别第二识别子序列;
检测所述第二识别子序列中的引入错误;
校正所述第二识别子序列中的该引入错误;
将所述校正的第二识别子序列与偶联至该模板分子的第二识别子元件相关联;和
采用所述校正的第二识别子序列与该第二识别子元件的关联以及所述校正的第一识别子序列与该第一识别子元件的关联的组合识别该模板分子的来源。
CN200880018420A 2007-06-01 2008-05-29 从多重混合物中识别个别样本的系统和方法 Pending CN101720359A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US94138107P 2007-06-01 2007-06-01
US60/941,381 2007-06-01
PCT/US2008/006822 WO2008150432A1 (en) 2007-06-01 2008-05-29 System and meth0d for identification of individual samples from a multiplex mixture

Publications (1)

Publication Number Publication Date
CN101720359A true CN101720359A (zh) 2010-06-02

Family

ID=40093994

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880018420A Pending CN101720359A (zh) 2007-06-01 2008-05-29 从多重混合物中识别个别样本的系统和方法

Country Status (6)

Country Link
US (2) US20090105959A1 (zh)
EP (1) EP2164985A4 (zh)
JP (1) JP2010528608A (zh)
CN (1) CN101720359A (zh)
CA (1) CA2689356A1 (zh)
WO (1) WO2008150432A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018107481A1 (zh) * 2016-12-16 2018-06-21 深圳华大基因股份有限公司 一种用于核酸样品标识的基因标签、试剂盒及其应用

Families Citing this family (251)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US10533998B2 (en) 2008-07-18 2020-01-14 Bio-Rad Laboratories, Inc. Enzyme quantification
US7968287B2 (en) 2004-10-08 2011-06-28 Medical Research Council Harvard University In vitro evolution in microfluidic systems
PL1712639T3 (pl) 2005-04-06 2009-02-27 Maurice Stroun Sposób diagnozowania nowotworu przez wykrywanie krążącego DNA i RNA
EP1984738A2 (en) 2006-01-11 2008-10-29 Raindance Technologies, Inc. Microfluidic devices and methods of use in the formation and control of nanoreactors
EP2530167A1 (en) 2006-05-11 2012-12-05 Raindance Technologies, Inc. Microfluidic Devices
US9562837B2 (en) 2006-05-11 2017-02-07 Raindance Technologies, Inc. Systems for handling microfludic droplets
US8225203B2 (en) * 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8201087B2 (en) * 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
WO2008097559A2 (en) 2007-02-06 2008-08-14 Brandeis University Manipulation of fluids and reactions in microfluidic systems
US8592221B2 (en) 2007-04-19 2013-11-26 Brandeis University Manipulation of fluids, fluid components and reactions in microfluidic systems
US20090105959A1 (en) * 2007-06-01 2009-04-23 Braverman Michael S System and method for identification of individual samples from a multiplex mixture
US20090203086A1 (en) * 2008-02-06 2009-08-13 454 Life Sciences Corporation System and method for improved signal detection in nucleic acid sequencing
US7888034B2 (en) 2008-07-01 2011-02-15 454 Life Sciences Corporation System and method for detection of HIV tropism variants
EP2315629B1 (en) 2008-07-18 2021-12-15 Bio-Rad Laboratories, Inc. Droplet libraries
US20100261189A1 (en) * 2008-10-03 2010-10-14 Roche Molecular Systems, Inc. System and method for detection of HLA Variants
US9394567B2 (en) 2008-11-07 2016-07-19 Adaptive Biotechnologies Corporation Detection and quantification of sample contamination in immune repertoire analysis
US8748103B2 (en) 2008-11-07 2014-06-10 Sequenta, Inc. Monitoring health and disease status using clonotype profiles
US9506119B2 (en) 2008-11-07 2016-11-29 Adaptive Biotechnologies Corp. Method of sequence determination using sequence tags
EP2364368B1 (en) 2008-11-07 2014-01-15 Sequenta, Inc. Methods of monitoring conditions by sequence analysis
US9365901B2 (en) 2008-11-07 2016-06-14 Adaptive Biotechnologies Corp. Monitoring immunoglobulin heavy chain evolution in B-cell acute lymphoblastic leukemia
US9528160B2 (en) 2008-11-07 2016-12-27 Adaptive Biotechnolgies Corp. Rare clonotypes and uses thereof
US8628927B2 (en) 2008-11-07 2014-01-14 Sequenta, Inc. Monitoring health and disease status using clonotype profiles
DK2387627T3 (en) 2009-01-15 2016-07-04 Adaptive Biotechnologies Corp Adaptive immunity profiling and methods for producing monoclonal antibodies
US8407554B2 (en) * 2009-02-03 2013-03-26 Complete Genomics, Inc. Method and apparatus for quantification of DNA sequencing quality and construction of a characterizable model system using Reed-Solomon codes
ES2555389T3 (es) 2009-03-30 2015-12-30 Illumina, Inc. Análisis de expresión génica en células individuales
US9085798B2 (en) 2009-04-30 2015-07-21 Prognosys Biosciences, Inc. Nucleic acid constructs and methods of use
EP2446052B1 (en) 2009-06-25 2018-08-08 Fred Hutchinson Cancer Research Center Method of measuring adaptive immunity
EP2467479B1 (en) 2009-08-20 2016-01-06 Population Genetics Technologies Ltd Compositions and methods for intramolecular nucleic acid rearrangement
US8609339B2 (en) 2009-10-09 2013-12-17 454 Life Sciences Corporation System and method for emulsion breaking and recovery of biological elements
US9315857B2 (en) 2009-12-15 2016-04-19 Cellular Research, Inc. Digital counting of individual molecules by stochastic attachment of diverse label-tags
US8835358B2 (en) 2009-12-15 2014-09-16 Cellular Research, Inc. Digital counting of individual molecules by stochastic attachment of diverse labels
TWI439548B (zh) * 2009-12-23 2014-06-01 Ind Tech Res Inst 序列校正方法與序列校正裝置
US9366632B2 (en) 2010-02-12 2016-06-14 Raindance Technologies, Inc. Digital analyte analysis
EP2534267B1 (en) 2010-02-12 2018-04-11 Raindance Technologies, Inc. Digital analyte analysis
US10351905B2 (en) 2010-02-12 2019-07-16 Bio-Rad Laboratories, Inc. Digital analyte analysis
US9399797B2 (en) 2010-02-12 2016-07-26 Raindance Technologies, Inc. Digital analyte analysis
CA2794522C (en) 2010-04-05 2019-11-26 Prognosys Biosciences, Inc. Spatially encoded biological assays
US10787701B2 (en) 2010-04-05 2020-09-29 Prognosys Biosciences, Inc. Spatially encoded biological assays
US20190300945A1 (en) 2010-04-05 2019-10-03 Prognosys Biosciences, Inc. Spatially Encoded Biological Assays
EP2952590B1 (en) 2010-06-11 2017-07-26 Life Technologies Corporation Alternative nucleotide flows in sequencing-by-synthesis methods
KR101862756B1 (ko) * 2010-07-09 2018-05-30 세르겐티스 비.브이. 관심있는 3-d 게놈 영역 서열화 전략
WO2012038839A2 (en) 2010-09-21 2012-03-29 Population Genetics Technologies Ltd. Increasing confidence of allele calls with molecular counting
EP3447155A1 (en) 2010-09-30 2019-02-27 Raindance Technologies, Inc. Sandwich assays in droplets
US10273540B2 (en) 2010-10-27 2019-04-30 Life Technologies Corporation Methods and apparatuses for estimating parameters in a predictive model for use in sequencing-by-synthesis
EP2633470B1 (en) 2010-10-27 2016-10-26 Life Technologies Corporation Predictive model for use in sequencing-by-synthesis
US9594870B2 (en) 2010-12-29 2017-03-14 Life Technologies Corporation Time-warped background signal for sequencing-by-synthesis operations
WO2012092515A2 (en) 2010-12-30 2012-07-05 Life Technologies Corporation Methods, systems, and computer readable media for nucleic acid sequencing
WO2012092455A2 (en) 2010-12-30 2012-07-05 Life Technologies Corporation Models for analyzing data from sequencing-by-synthesis operations
US20130060482A1 (en) 2010-12-30 2013-03-07 Life Technologies Corporation Methods, systems, and computer readable media for making base calls in nucleic acid sequencing
EP3859011A1 (en) 2011-02-11 2021-08-04 Bio-Rad Laboratories, Inc. Methods for forming mixed droplets
US9150852B2 (en) 2011-02-18 2015-10-06 Raindance Technologies, Inc. Compositions and methods for molecular labeling
WO2012129363A2 (en) 2011-03-24 2012-09-27 President And Fellows Of Harvard College Single cell nucleic acid detection and analysis
US20120244523A1 (en) 2011-03-25 2012-09-27 454 Life Sciences Corporation System and Method for Detection of HIV Integrase Variants
EP3878975A1 (en) 2011-04-08 2021-09-15 Life Technologies Corporation Phase-protecting reagent flow orderings for use in sequencing-by-synthesis
GB201106254D0 (en) 2011-04-13 2011-05-25 Frisen Jonas Method and product
EP2697397B1 (en) 2011-04-15 2017-04-05 The Johns Hopkins University Safe sequencing system
WO2012158603A2 (en) * 2011-05-13 2012-11-22 Bioo Scientific Corporation Pooled adapter strategy for reducing bias in small rna characterization
US8658430B2 (en) 2011-07-20 2014-02-25 Raindance Technologies, Inc. Manipulating droplet size
US10704164B2 (en) 2011-08-31 2020-07-07 Life Technologies Corporation Methods, systems, computer readable media, and kits for sample identification
US10385475B2 (en) 2011-09-12 2019-08-20 Adaptive Biotechnologies Corp. Random array sequencing of low-complexity libraries
US9279159B2 (en) 2011-10-21 2016-03-08 Adaptive Biotechnologies Corporation Quantification of adaptive immune cell genomes in a complex mixture of cells
CA2858070C (en) 2011-12-09 2018-07-10 Adaptive Biotechnologies Corporation Diagnosis of lymphoid malignancies and minimal residual disease detection
US9499865B2 (en) 2011-12-13 2016-11-22 Adaptive Biotechnologies Corp. Detection and measurement of tissue-infiltrating lymphocytes
ES2904816T3 (es) 2012-02-27 2022-04-06 Becton Dickinson Co Composiciones para recuento molecular
US11177020B2 (en) 2012-02-27 2021-11-16 The University Of North Carolina At Chapel Hill Methods and uses for molecular tags
EP3287531B1 (en) 2012-02-28 2019-06-19 Agilent Technologies, Inc. Method for attaching a counter sequence to a nucleic acid sample
DK2823060T3 (en) 2012-03-05 2018-05-28 Adaptive Biotechnologies Corp Determination of associated immune receptor chains from frequency-matched subunits
EP2823064B1 (en) 2012-03-05 2019-02-06 President and Fellows of Harvard College Methods for epigenetic sequencing
ES2582554T3 (es) 2012-05-08 2016-09-13 Adaptive Biotechnologies Corporation Composiciones y método para medir y calibrar el sesgo de la amplificación en reacciones de PCR multiplexadas
US9646132B2 (en) 2012-05-11 2017-05-09 Life Technologies Corporation Models for analyzing data from sequencing-by-synthesis operations
US10192024B2 (en) 2012-05-18 2019-01-29 454 Life Sciences Corporation System and method for generation and use of optimal nucleotide flow orders
US20150011396A1 (en) 2012-07-09 2015-01-08 Benjamin G. Schroeder Methods for creating directional bisulfite-converted nucleic acid libraries for next generation sequencing
US10584381B2 (en) 2012-08-14 2020-03-10 10X Genomics, Inc. Methods and systems for processing polynucleotides
CA3216609C (en) 2012-08-14 2024-05-14 10X Genomics, Inc. Microcapsule compositions and methods
US9567631B2 (en) 2012-12-14 2017-02-14 10X Genomics, Inc. Methods and systems for processing polynucleotides
US9951386B2 (en) 2014-06-26 2018-04-24 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10752949B2 (en) 2012-08-14 2020-08-25 10X Genomics, Inc. Methods and systems for processing polynucleotides
US9701998B2 (en) 2012-12-14 2017-07-11 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10221442B2 (en) 2012-08-14 2019-03-05 10X Genomics, Inc. Compositions and methods for sample processing
US10273541B2 (en) 2012-08-14 2019-04-30 10X Genomics, Inc. Methods and systems for processing polynucleotides
US11591637B2 (en) 2012-08-14 2023-02-28 10X Genomics, Inc. Compositions and methods for sample processing
US10323279B2 (en) 2012-08-14 2019-06-18 10X Genomics, Inc. Methods and systems for processing polynucleotides
US20160040229A1 (en) 2013-08-16 2016-02-11 Guardant Health, Inc. Systems and methods to detect rare mutations and copy number variation
CA2883901C (en) 2012-09-04 2023-04-11 Guardant Health, Inc. Systems and methods to detect rare mutations and copy number variation
US10876152B2 (en) 2012-09-04 2020-12-29 Guardant Health, Inc. Systems and methods to detect rare mutations and copy number variation
US11913065B2 (en) 2012-09-04 2024-02-27 Guardent Health, Inc. Systems and methods to detect rare mutations and copy number variation
DK2904111T3 (en) 2012-10-01 2018-03-12 Adaptive Biotechnologies Corp Immune competence evaluation of adaptive immune receptor diversity and clonality characterization
US10329608B2 (en) 2012-10-10 2019-06-25 Life Technologies Corporation Methods, systems, and computer readable media for repeat sequencing
US10533221B2 (en) 2012-12-14 2020-01-14 10X Genomics, Inc. Methods and systems for processing polynucleotides
CA2900543C (en) 2013-02-08 2023-01-31 10X Genomics, Inc. Partitioning and processing of analytes and other species
US20140296080A1 (en) 2013-03-14 2014-10-02 Life Technologies Corporation Methods, Systems, and Computer Readable Media for Evaluating Variant Likelihood
US9822408B2 (en) 2013-03-15 2017-11-21 Nugen Technologies, Inc. Sequential sequencing
US9879313B2 (en) 2013-06-25 2018-01-30 Prognosys Biosciences, Inc. Methods and systems for determining spatial patterns of biological targets in a sample
US9708657B2 (en) 2013-07-01 2017-07-18 Adaptive Biotechnologies Corp. Method for generating clonotype profiles using sequence tags
US9926597B2 (en) 2013-07-26 2018-03-27 Life Technologies Corporation Control nucleic acid sequences for use in sequencing-by-synthesis and methods for designing the same
EP2840148B1 (en) 2013-08-23 2019-04-03 F. Hoffmann-La Roche AG Methods for nucleic acid amplification
EP2848698A1 (en) 2013-08-26 2015-03-18 F. Hoffmann-La Roche AG System and method for automated nucleic acid amplification
GB2546833B (en) 2013-08-28 2018-04-18 Cellular Res Inc Microwell for single cell analysis comprising single cell and single bead oligonucleotide capture labels
US11901041B2 (en) 2013-10-04 2024-02-13 Bio-Rad Laboratories, Inc. Digital analysis of nucleic acid modification
WO2015051338A1 (en) 2013-10-04 2015-04-09 Life Technologies Corporation Methods and systems for modeling phasing effects in sequencing using termination chemistry
CN105745528A (zh) 2013-10-07 2016-07-06 赛卢拉研究公司 用于以数字方式对阵列上的特征进行计数的方法和系统
US10947587B2 (en) 2013-11-05 2021-03-16 The Regents Of The University Of California Single-cell forensic short tandem repeat typing within microfluidic droplets
CA2929596C (en) 2013-11-13 2022-07-05 Nugen Technologies, Inc. Compositions and methods for identification of a duplicate sequencing read
DK3077539T3 (en) 2013-12-02 2018-11-19 Personal Genome Diagnostics Inc Procedure for evaluating minority variations in a sample
US9944977B2 (en) 2013-12-12 2018-04-17 Raindance Technologies, Inc. Distinguishing rare variations in a nucleic acid sequence from a sample
US9824068B2 (en) 2013-12-16 2017-11-21 10X Genomics, Inc. Methods and apparatus for sorting data
EP3524694B1 (en) 2013-12-28 2020-07-15 Guardant Health, Inc. Methods and systems for detecting genetic variants
AU2015227054A1 (en) 2014-03-05 2016-09-22 Adaptive Biotechnologies Corporation Methods using randomer-containing synthetic molecules
US10066265B2 (en) 2014-04-01 2018-09-04 Adaptive Biotechnologies Corp. Determining antigen-specific t-cells
WO2015157567A1 (en) 2014-04-10 2015-10-15 10X Genomics, Inc. Fluidic devices, systems, and methods for encapsulating and partitioning reagents, and applications of same
EP3132059B1 (en) 2014-04-17 2020-01-08 Adaptive Biotechnologies Corporation Quantification of adaptive immune cell genomes in a complex mixture of cells
US20150298091A1 (en) 2014-04-21 2015-10-22 President And Fellows Of Harvard College Systems and methods for barcoding nucleic acids
EP4053292A1 (en) 2014-06-26 2022-09-07 10X Genomics, Inc. Methods of analyzing nucleic acids from individual cells or cell populations
US10676787B2 (en) 2014-10-13 2020-06-09 Life Technologies Corporation Methods, systems, and computer-readable media for accelerated base calling
CN114807307A (zh) 2014-10-29 2022-07-29 10X 基因组学有限公司 用于靶核酸测序的方法和组合物
ES2784343T3 (es) 2014-10-29 2020-09-24 Adaptive Biotechnologies Corp Detección simultánea altamente multiplexada de ácidos nucleicos que codifican heterodímeros de receptores inmunes adaptativos emparejados de muchas muestras
US9975122B2 (en) 2014-11-05 2018-05-22 10X Genomics, Inc. Instrument systems for integrated sample processing
US10246701B2 (en) 2014-11-14 2019-04-02 Adaptive Biotechnologies Corp. Multiplexed digital quantitation of rearranged lymphoid receptors in a complex mixture
AU2015353581A1 (en) 2014-11-25 2017-06-15 Adaptive Biotechnologies Corporation Characterization of adaptive immune response to vaccination or infection using immune repertoire sequencing
BR112017014902A2 (pt) 2015-01-12 2018-03-13 10X Genomics Inc processos e sistemas para a preparação de bibliotecas de sequenciamento de ácido nucleico e bibliotecas preparadas usando os mesmos
WO2016134078A1 (en) 2015-02-19 2016-08-25 Becton, Dickinson And Company High-throughput single-cell analysis combining proteomic and genomic information
WO2016137973A1 (en) 2015-02-24 2016-09-01 10X Genomics Inc Partition processing methods and systems
US11274343B2 (en) 2015-02-24 2022-03-15 10X Genomics, Inc. Methods and compositions for targeted nucleic acid sequence coverage
EP3262196B1 (en) 2015-02-24 2020-12-09 Adaptive Biotechnologies Corp. Method for determining hla status using immune repertoire sequencing
WO2016138496A1 (en) 2015-02-27 2016-09-01 Cellular Research, Inc. Spatially addressable molecular barcoding
ES2934982T3 (es) 2015-03-30 2023-02-28 Becton Dickinson Co Métodos para la codificación con códigos de barras combinatorios
EP3277294B1 (en) 2015-04-01 2024-05-15 Adaptive Biotechnologies Corp. Method of identifying human compatible t cell receptors specific for an antigenic target
EP4119677B1 (en) 2015-04-10 2023-06-28 Spatial Transcriptomics AB Spatially distinguished, multiplex nucleic acid analysis of biological specimens
WO2016168584A1 (en) 2015-04-17 2016-10-20 President And Fellows Of Harvard College Barcoding systems and methods for gene sequencing and other applications
EP3286326A1 (en) 2015-04-23 2018-02-28 Cellular Research, Inc. Methods and compositions for whole transcriptome amplification
EP3295345B1 (en) 2015-05-14 2023-01-25 Life Technologies Corporation Barcode sequences, and related systems and methods
US11124823B2 (en) 2015-06-01 2021-09-21 Becton, Dickinson And Company Methods for RNA quantification
ES2841077T3 (es) 2015-08-06 2021-07-07 Hoffmann La Roche Enriquecimiento de dianas por extensión del cebador de sonda individual
US11302416B2 (en) 2015-09-02 2022-04-12 Guardant Health Machine learning for somatic single nucleotide variant detection in cell-free tumor nucleic acid sequencing applications
US10647981B1 (en) 2015-09-08 2020-05-12 Bio-Rad Laboratories, Inc. Nucleic acid library generation methods and compositions
WO2017044574A1 (en) 2015-09-11 2017-03-16 Cellular Research, Inc. Methods and compositions for nucleic acid library normalization
US11371094B2 (en) 2015-11-19 2022-06-28 10X Genomics, Inc. Systems and methods for nucleic acid processing using degenerate nucleotides
CN115369161A (zh) 2015-12-04 2022-11-22 10X 基因组学有限公司 用于核酸分析的方法和组合物
WO2017106768A1 (en) 2015-12-17 2017-06-22 Guardant Health, Inc. Methods to determine tumor gene copy number by analysis of cell-free dna
EP3414341A4 (en) 2016-02-11 2019-10-09 10X Genomics, Inc. SYSTEMS, METHODS, AND MEDIA FOR ASSEMBLING NOVO OF GENOME SEQUENCE DATA OVERALL
AU2017246318B2 (en) 2016-04-07 2023-07-27 The Board Of Trustees Of The Leland Stanford Junior University Noninvasive diagnostics by sequencing 5-hydroxymethylated cell-free DNA
US11384382B2 (en) 2016-04-14 2022-07-12 Guardant Health, Inc. Methods of attaching adapters to sample nucleic acids
EP3443066A4 (en) 2016-04-14 2019-12-11 Guardant Health, Inc. EARLY DETECTION METHODS FOR CANCER
EP4269616A3 (en) 2016-05-02 2024-02-14 Becton, Dickinson and Company Accurate molecular barcoding
US10619205B2 (en) 2016-05-06 2020-04-14 Life Technologies Corporation Combinatorial barcode sequences, and related systems and methods
WO2017197338A1 (en) 2016-05-13 2017-11-16 10X Genomics, Inc. Microfluidic systems and methods of use
US10301677B2 (en) 2016-05-25 2019-05-28 Cellular Research, Inc. Normalization of nucleic acid libraries
EP3465502B1 (en) 2016-05-26 2024-04-10 Becton, Dickinson and Company Molecular label counting adjustment methods
US10240196B2 (en) 2016-05-27 2019-03-26 Agilent Technologies, Inc. Transposase-random priming DNA sample preparation
US10202641B2 (en) 2016-05-31 2019-02-12 Cellular Research, Inc. Error correction in amplification of samples
US10640763B2 (en) 2016-05-31 2020-05-05 Cellular Research, Inc. Molecular indexing of internal sequences
US10428325B1 (en) 2016-09-21 2019-10-01 Adaptive Biotechnologies Corporation Identification of antigen-specific B cell receptors
AU2017331459B2 (en) 2016-09-26 2023-04-13 Becton, Dickinson And Company Measurement of protein expression using reagents with barcoded oligonucleotide sequences
CA3126055A1 (en) 2016-09-30 2018-04-05 Guardant Health, Inc. Methods for multi-resolution analysis of cell-free nucleic acids
US9850523B1 (en) 2016-09-30 2017-12-26 Guardant Health, Inc. Methods for multi-resolution analysis of cell-free nucleic acids
US11164659B2 (en) 2016-11-08 2021-11-02 Becton, Dickinson And Company Methods for expression profile classification
CN117056774A (zh) 2016-11-08 2023-11-14 贝克顿迪金森公司 用于细胞标记分类的方法
US10815525B2 (en) 2016-12-22 2020-10-27 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10550429B2 (en) 2016-12-22 2020-02-04 10X Genomics, Inc. Methods and systems for processing polynucleotides
US10011872B1 (en) 2016-12-22 2018-07-03 10X Genomics, Inc. Methods and systems for processing polynucleotides
ES2961580T3 (es) 2017-01-13 2024-03-12 Cellular Res Inc Revestimiento hidrófilo de canales de fluidos
EP4029939B1 (en) 2017-01-30 2023-06-28 10X Genomics, Inc. Methods and systems for droplet-based single cell barcoding
US11319583B2 (en) 2017-02-01 2022-05-03 Becton, Dickinson And Company Selective amplification using blocking oligonucleotides
US10995333B2 (en) 2017-02-06 2021-05-04 10X Genomics, Inc. Systems and methods for nucleic acid preparation
SG11201901822QA (en) 2017-05-26 2019-03-28 10X Genomics Inc Single cell analysis of transposase accessible chromatin
US20180340169A1 (en) 2017-05-26 2018-11-29 10X Genomics, Inc. Single cell analysis of transposase accessible chromatin
CA3059559A1 (en) 2017-06-05 2018-12-13 Becton, Dickinson And Company Sample indexing for single cells
US11078482B2 (en) 2017-06-15 2021-08-03 Genome Research Limited Duplex sequencing using direct repeat molecules
WO2019054445A1 (ja) * 2017-09-13 2019-03-21 大学共同利用機関法人情報・システム研究機構 トランスジェニック植物、トランスジェニック植物の製造方法、ポリヌクレオチド、ポリヌクレオチドのクラスター、ベクター、及びキット
US10837047B2 (en) 2017-10-04 2020-11-17 10X Genomics, Inc. Compositions, methods, and systems for bead formation using improved polymers
WO2019084043A1 (en) 2017-10-26 2019-05-02 10X Genomics, Inc. METHODS AND SYSTEMS FOR NUCLEIC ACID PREPARATION AND CHROMATIN ANALYSIS
EP3700672B1 (en) 2017-10-27 2022-12-28 10X Genomics, Inc. Methods for sample preparation and analysis
CN111051523B (zh) 2017-11-15 2024-03-19 10X基因组学有限公司 功能化凝胶珠
US10829815B2 (en) 2017-11-17 2020-11-10 10X Genomics, Inc. Methods and systems for associating physical and genetic properties of biological particles
US11254980B1 (en) 2017-11-29 2022-02-22 Adaptive Biotechnologies Corporation Methods of profiling targeted polynucleotides while mitigating sequencing depth requirements
WO2019108851A1 (en) 2017-11-30 2019-06-06 10X Genomics, Inc. Systems and methods for nucleic acid preparation and analysis
WO2019126209A1 (en) 2017-12-19 2019-06-27 Cellular Research, Inc. Particles associated with oligonucleotides
EP3752832A1 (en) 2018-02-12 2020-12-23 10X Genomics, Inc. Methods characterizing multiple analytes from individual cells or cell populations
EP3752515A1 (en) 2018-02-14 2020-12-23 Bluestar Genomics, Inc. Methods for the epigenetic analysis of dna, particularly cell-free dna
US11639928B2 (en) 2018-02-22 2023-05-02 10X Genomics, Inc. Methods and systems for characterizing analytes from individual cells or cell populations
SG11202009889VA (en) 2018-04-06 2020-11-27 10X Genomics Inc Systems and methods for quality control in single cell processing
US11365409B2 (en) 2018-05-03 2022-06-21 Becton, Dickinson And Company Molecular barcoding on opposite transcript ends
US11773441B2 (en) 2018-05-03 2023-10-03 Becton, Dickinson And Company High throughput multiomics sample analysis
US11932899B2 (en) 2018-06-07 2024-03-19 10X Genomics, Inc. Methods and systems for characterizing nucleic acid molecules
US11093547B2 (en) * 2018-06-19 2021-08-17 Intel Corporation Data storage based on encoded DNA sequences
EP3810806A1 (en) 2018-06-22 2021-04-28 Bluestar Genomics, Inc. Hydroxymethylation analysis of cell-free nucleic acid samples for assigning tissue of origin, and related methods of use
US11703427B2 (en) 2018-06-25 2023-07-18 10X Genomics, Inc. Methods and systems for cell and bead processing
US20200032335A1 (en) 2018-07-27 2020-01-30 10X Genomics, Inc. Systems and methods for metabolome analysis
US11519033B2 (en) 2018-08-28 2022-12-06 10X Genomics, Inc. Method for transposase-mediated spatial tagging and analyzing genomic DNA in a biological sample
JP2022501033A (ja) 2018-09-19 2022-01-06 ブルースター ジェノミクス, インコーポレイテッド 膵臓病変の評価における無細胞dnaヒドロキシメチル化プロファイル
JP2022511398A (ja) 2018-10-01 2022-01-31 ベクトン・ディキンソン・アンド・カンパニー 5’転写物配列の決定
CN113166796A (zh) 2018-10-04 2021-07-23 蓝星基因组股份有限公司 来自单个生物样品的蛋白质、核糖体和无细胞核酸的同时基于测序的分析
EP3877520A1 (en) 2018-11-08 2021-09-15 Becton Dickinson and Company Whole transcriptome analysis of single cells using random priming
US11459607B1 (en) 2018-12-10 2022-10-04 10X Genomics, Inc. Systems and methods for processing-nucleic acid molecules from a single cell using sequential co-partitioning and composite barcodes
CN113195717A (zh) 2018-12-13 2021-07-30 贝克顿迪金森公司 单细胞全转录组分析中的选择性延伸
US11649485B2 (en) 2019-01-06 2023-05-16 10X Genomics, Inc. Generating capture probes for spatial analysis
US11926867B2 (en) 2019-01-06 2024-03-12 10X Genomics, Inc. Generating capture probes for spatial analysis
US11845983B1 (en) 2019-01-09 2023-12-19 10X Genomics, Inc. Methods and systems for multiplexing of droplet based assays
US11371076B2 (en) 2019-01-16 2022-06-28 Becton, Dickinson And Company Polymerase chain reaction normalization through primer titration
WO2020154247A1 (en) 2019-01-23 2020-07-30 Cellular Research, Inc. Oligonucleotides associated with antibodies
EP3918089A1 (en) 2019-01-31 2021-12-08 Guardant Health, Inc. Compositions and methods for isolating cell-free dna
US11467153B2 (en) 2019-02-12 2022-10-11 10X Genomics, Inc. Methods for processing nucleic acid molecules
US11851683B1 (en) 2019-02-12 2023-12-26 10X Genomics, Inc. Methods and systems for selective analysis of cellular samples
SG11202108788TA (en) 2019-02-12 2021-09-29 10X Genomics Inc Methods for processing nucleic acid molecules
US11655499B1 (en) 2019-02-25 2023-05-23 10X Genomics, Inc. Detection of sequence elements in nucleic acid molecules
SG11202111242PA (en) 2019-03-11 2021-11-29 10X Genomics Inc Systems and methods for processing optically tagged beads
US11512346B2 (en) 2019-03-14 2022-11-29 Genome Research Limited Method for sequencing a direct repeat
US11965208B2 (en) 2019-04-19 2024-04-23 Becton, Dickinson And Company Methods of associating phenotypical data and single cell sequencing data
WO2020243579A1 (en) 2019-05-30 2020-12-03 10X Genomics, Inc. Methods of detecting spatial heterogeneity of a biological sample
US11939622B2 (en) 2019-07-22 2024-03-26 Becton, Dickinson And Company Single cell chromatin immunoprecipitation sequencing assay
CN114729350A (zh) 2019-11-08 2022-07-08 贝克顿迪金森公司 使用随机引发获得用于免疫组库测序的全长v(d)j信息
WO2021092433A2 (en) 2019-11-08 2021-05-14 10X Genomics, Inc. Enhancing specificity of analyte binding
EP4055185A1 (en) 2019-11-08 2022-09-14 10X Genomics, Inc. Spatially-tagged analyte capture agents for analyte multiplexing
EP3891300B1 (en) 2019-12-23 2023-03-29 10X Genomics, Inc. Methods for spatial analysis using rna-templated ligation
CN115244184A (zh) 2020-01-13 2022-10-25 贝克顿迪金森公司 用于定量蛋白和rna的方法和组合物
US11732299B2 (en) 2020-01-21 2023-08-22 10X Genomics, Inc. Spatial assays with perturbed cells
US11702693B2 (en) 2020-01-21 2023-07-18 10X Genomics, Inc. Methods for printing cells and generating arrays of barcoded cells
US11821035B1 (en) 2020-01-29 2023-11-21 10X Genomics, Inc. Compositions and methods of making gene expression libraries
US11898205B2 (en) 2020-02-03 2024-02-13 10X Genomics, Inc. Increasing capture efficiency of spatial assays
US11732300B2 (en) 2020-02-05 2023-08-22 10X Genomics, Inc. Increasing efficiency of spatial analysis in a biological sample
US11835462B2 (en) 2020-02-11 2023-12-05 10X Genomics, Inc. Methods and compositions for partitioning a biological sample
US11891654B2 (en) 2020-02-24 2024-02-06 10X Genomics, Inc. Methods of making gene expression libraries
US11926863B1 (en) 2020-02-27 2024-03-12 10X Genomics, Inc. Solid state single cell method for analyzing fixed biological cells
US11768175B1 (en) 2020-03-04 2023-09-26 10X Genomics, Inc. Electrophoretic methods for spatial analysis
ES2965354T3 (es) 2020-04-22 2024-04-12 10X Genomics Inc Métodos para análisis espacial que usan eliminación de ARN elegido como diana
US11851700B1 (en) 2020-05-13 2023-12-26 10X Genomics, Inc. Methods, kits, and compositions for processing extracellular molecules
US11661625B2 (en) 2020-05-14 2023-05-30 Becton, Dickinson And Company Primers for immune repertoire profiling
EP4153775A1 (en) 2020-05-22 2023-03-29 10X Genomics, Inc. Simultaneous spatio-temporal measurement of gene expression and cellular activity
WO2021237087A1 (en) 2020-05-22 2021-11-25 10X Genomics, Inc. Spatial analysis to detect sequence variants
WO2021242834A1 (en) 2020-05-26 2021-12-02 10X Genomics, Inc. Method for resetting an array
CN116249785A (zh) 2020-06-02 2023-06-09 10X基因组学有限公司 用于抗原-受体的空间转录组学
AU2021283174A1 (en) 2020-06-02 2023-01-05 10X Genomics, Inc. Nucleic acid library methods
EP4162074B1 (en) 2020-06-08 2024-04-24 10X Genomics, Inc. Methods of determining a surgical margin and methods of use thereof
EP4165207A1 (en) 2020-06-10 2023-04-19 10X Genomics, Inc. Methods for determining a location of an analyte in a biological sample
AU2021294334A1 (en) 2020-06-25 2023-02-02 10X Genomics, Inc. Spatial analysis of DNA methylation
US11761038B1 (en) 2020-07-06 2023-09-19 10X Genomics, Inc. Methods for identifying a location of an RNA in a biological sample
US11981960B1 (en) 2020-07-06 2024-05-14 10X Genomics, Inc. Spatial analysis utilizing degradable hydrogels
US11932901B2 (en) 2020-07-13 2024-03-19 Becton, Dickinson And Company Target enrichment using nucleic acid probes for scRNAseq
US11981958B1 (en) 2020-08-20 2024-05-14 10X Genomics, Inc. Methods for spatial analysis using DNA capture
US11926822B1 (en) 2020-09-23 2024-03-12 10X Genomics, Inc. Three-dimensional spatial analysis
US11827935B1 (en) 2020-11-19 2023-11-28 10X Genomics, Inc. Methods for spatial analysis using rolling circle amplification and detection probes
US11739443B2 (en) 2020-11-20 2023-08-29 Becton, Dickinson And Company Profiling of highly expressed and lowly expressed proteins
EP4121555A1 (en) 2020-12-21 2023-01-25 10X Genomics, Inc. Methods, compositions, and systems for capturing probes and/or barcodes
WO2022182682A1 (en) 2021-02-23 2022-09-01 10X Genomics, Inc. Probe-based analysis of nucleic acids and proteins
AU2022238446A1 (en) 2021-03-18 2023-09-07 10X Genomics, Inc. Multiplex capture of gene and protein expression from a biological sample
EP4196605A1 (en) 2021-09-01 2023-06-21 10X Genomics, Inc. Methods, compositions, and kits for blocking a capture probe on a spatial array
CN117561573A (zh) * 2021-09-17 2024-02-13 因美纳有限公司 从碱基判读错误模式自动鉴定核苷酸测序中的故障来源

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9620209D0 (en) * 1996-09-27 1996-11-13 Cemu Bioteknik Ab Method of sequencing DNA
GB9626815D0 (en) * 1996-12-23 1997-02-12 Cemu Bioteknik Ab Method of sequencing DNA
US5994068A (en) * 1997-03-11 1999-11-30 Wisconsin Alumni Research Foundation Nucleic acid indexing
US6327410B1 (en) * 1997-03-14 2001-12-04 The Trustees Of Tufts College Target analyte sensors utilizing Microspheres
US6023540A (en) * 1997-03-14 2000-02-08 Trustees Of Tufts College Fiber optic sensor with encoded microspheres
ES2283936T3 (es) * 1997-07-07 2007-11-01 Medical Research Council Procedimiento de clasificacion in vitro.
EP2045334A1 (en) * 1998-06-24 2009-04-08 Illumina, Inc. Decoding of array sensors with microspheres
GB9901475D0 (en) * 1999-01-22 1999-03-17 Pyrosequencing Ab A method of DNA sequencing
US6355431B1 (en) * 1999-04-20 2002-03-12 Illumina, Inc. Detection of nucleic acid amplification reactions using bead arrays
US7244559B2 (en) * 1999-09-16 2007-07-17 454 Life Sciences Corporation Method of sequencing a nucleic acid
US7211390B2 (en) * 1999-09-16 2007-05-01 454 Life Sciences Corporation Method of sequencing a nucleic acid
US6274320B1 (en) * 1999-09-16 2001-08-14 Curagen Corporation Method of sequencing a nucleic acid
US6376191B1 (en) * 2000-03-22 2002-04-23 Mergen, Ltd. Microarray-based analysis of polynucleotide sequence variations
US20030100995A1 (en) * 2001-07-16 2003-05-29 Affymetrix, Inc. Method, system and computer software for variant information via a web portal
GB0127564D0 (en) * 2001-11-16 2002-01-09 Medical Res Council Emulsion compositions
US7575865B2 (en) * 2003-01-29 2009-08-18 454 Life Sciences Corporation Methods of amplifying and sequencing nucleic acids
JP4480715B2 (ja) * 2003-01-29 2010-06-16 454 コーポレーション 二重末端シーケンシング
EP1604040B1 (en) * 2003-03-07 2010-10-13 Rubicon Genomics, Inc. Amplification and analysis of whole genome and whole transcriptome libraries generated by a dna polymerization process
WO2005039389A2 (en) * 2003-10-22 2005-05-06 454 Corporation Sequence-based karyotyping
WO2005073410A2 (en) * 2004-01-28 2005-08-11 454 Corporation Nucleic acid amplification with continuous flow emulsion
US20050227316A1 (en) * 2004-04-07 2005-10-13 Kosan Biosciences, Inc. Synthetic genes
US20060228721A1 (en) * 2005-04-12 2006-10-12 Leamon John H Methods for determining sequence variants using ultra-deep sequencing
US7601499B2 (en) * 2005-06-06 2009-10-13 454 Life Sciences Corporation Paired end sequencing
DK1907583T4 (da) * 2005-06-15 2020-01-27 Complete Genomics Inc Enkeltmolekyle-arrays til genetisk og kemisk analyse
EP1987162A4 (en) * 2006-01-23 2009-11-25 Population Genetics Technologi NUCLEIC ACID ANALYSIS ABOUT SEQUENCE TOKENS
US7537897B2 (en) * 2006-01-23 2009-05-26 Population Genetics Technologies, Ltd. Molecular counting
US20090105959A1 (en) * 2007-06-01 2009-04-23 Braverman Michael S System and method for identification of individual samples from a multiplex mixture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018107481A1 (zh) * 2016-12-16 2018-06-21 深圳华大基因股份有限公司 一种用于核酸样品标识的基因标签、试剂盒及其应用
CN109996877A (zh) * 2016-12-16 2019-07-09 深圳华大基因股份有限公司 一种用于核酸样品标识的基因标签、试剂盒及其应用

Also Published As

Publication number Publication date
US20090105959A1 (en) 2009-04-23
US20100267043A1 (en) 2010-10-21
EP2164985A1 (en) 2010-03-24
EP2164985A4 (en) 2014-05-14
CA2689356A1 (en) 2008-12-11
JP2010528608A (ja) 2010-08-26
WO2008150432A1 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
CN101720359A (zh) 从多重混合物中识别个别样本的系统和方法
Zhang et al. Advances in metagenomics and its application in environmental microorganisms
US20210062186A1 (en) Next-generation sequencing libraries
KR102534408B1 (ko) 핵산-기반 데이터 저장
Dueholm et al. Generation of comprehensive ecosystem-specific reference databases with species-level resolution by high-throughput full-length 16S rRNA gene sequencing and automated taxonomy assignment (AutoTax)
CN106068330B (zh) 将已知等位基因用于读数映射中的系统和方法
US20200370202A1 (en) Methods, systems, computer readable media, and kits for sample identification
CN101965410B (zh) 用于产生可测序文库的改进的核酸处理的系统和方法
JP2010528608A5 (zh)
WO2016201215A1 (en) Systems and methods for identifying microorganisms
US20150087537A1 (en) Methods, Systems, Computer Readable Media, and Kits for Sample Identification
US20110287432A1 (en) System and method for tailoring nucleotide concentration to enzymatic efficiencies in dna sequencing technologies
CN102712952A (zh) 用于乳状液破碎和回收生物学成分的系统和方法
US20130217023A1 (en) System And Method For Generation And Use Of Compact Clonally Amplified Products
Méndez-García et al. Metagenomic protocols and strategies
Nagarajan Metagenomics: Perspectives, methods, and applications
Smart et al. A novel phylogenetic approach for de novo discovery of putative nuclear mitochondrial (pNumt) haplotypes
KR20220080172A (ko) 핵산 보안 및 인증
Wallander et al. Sensitive detection of cell-free tumour DNA using optimised targeted sequencing can predict prognosis in gastro-oesophageal cancer
Wang et al. Using RNA-seq for analysis of differential gene expression in fungal species
US20230235394A1 (en) Chimeric amplicon array sequencing
Harrison et al. Characterizing microbiomes via sequencing of marker loci: techniques to improve throughput, account for cross-contamination, and reduce cost
CN106661613B (zh) 用于验证测序结果的系统和方法
Mishra et al. Strategies and tools for sequencing and assembly of plant genomes
Ebrahimi et al. scTagger: fast and accurate matching of cellular barcodes across short-and long-reads of single-cell RNA-seq experiments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100602