CN116438603A - 用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和系统 - Google Patents

用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和系统 Download PDF

Info

Publication number
CN116438603A
CN116438603A CN202180068511.5A CN202180068511A CN116438603A CN 116438603 A CN116438603 A CN 116438603A CN 202180068511 A CN202180068511 A CN 202180068511A CN 116438603 A CN116438603 A CN 116438603A
Authority
CN
China
Prior art keywords
data
genomic
information
metadata
dataset
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
CN202180068511.5A
Other languages
English (en)
Inventor
张贻谦
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
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 Koninklijke Philips NV filed Critical Koninklijke Philips NV
Publication of CN116438603A publication Critical patent/CN116438603A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/40Encryption of genetic data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Genetics & Genomics (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于将基因组数据存储在包括文件结构的数据结构内的方法(100),包括:(i)接收(120)包括不同数据类型的多个字段或属性的基因组数据集;(ii)生成(130)针对所述基因组数据集的信息元数据结构,所述信息元数据结构包括以下中的一个或多个:关于注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;分析信息,其被配置为便于数据再现性的验证;对所述基因组数据集的访问历史,其被配置为便于数据可追溯性;以及,链接信息,其定义所述注释表与一个或多个数据对象之间的关系;(ii)使用压缩算法压缩(140)所述基因组数据和信息元数据;并且(iv)将经压缩的基因组数据集和信息元数据存储(150)在容器数据结构中;其中,所述注释表中的一些或全部被加密。

Description

用于将基因组数据存储在包括信息元数据结构的文件结构中 的方法和系统
技术领域
本公开总体上涉及用于存储具有相关联的元数据的大量数据的方法和系统,具体地,涉及基因组数据的压缩和存储。
背景技术
高通量基因组测序(HTS)是用于基因组学研究的重要工具,并且在发现、诊断和其他方法学方面有许多应用。通常,HTS的结果会被进一步处理,以获得更高级别的信息。将从单个读数及其与基因组的比对中推断出的信息聚合成更复杂的结果的过程通常被称为二次分析。在大多数基于HTS的生物学研究中,二次分析的输出通常被表示为与参考序列上的一个或多个基因组间隔相关联的不同类型的注释。
事实上,生物学研究通常会产生基因组注释数据,如映射统计数据、定量浏览器轨迹、变体、基因组功能注释、基因表达数据和Hi-C接触矩阵。这些不同类型的下游基因组数据目前以不同的格式表示,如VCF、BED、WIG、等等。这些格式通常包括松散定义的语义,这会导致互操作性、需要在各格式之间频繁转换、很难进行多模式数据可视化、以及信息交换复杂等问题。
此外,不同类型的基因组注释数据缺乏单一格式,这阻碍了压缩算法的工作,并导致广泛使用性能欠佳的通用压缩算法。这些算法没有利用注释数据通常包括具有不同统计特征的多个字段(属性)的事实,而是将它们压缩在一起。此外,这些现有技术的存储机制缺乏用于支持高级特征的功能元数据,例如数据安全性和隐私性、真实性、访问跟踪、再现性验证、数据链接和配置文件管理。
发明内容
仍然需要一种统一的数据格式,用于文件存储和数据传输的不同基因组注释数据的有效表达和压缩。还需要将元数据与经压缩的基因组数据相关联并存储,以实现数据安全性和隐私性、真实性、访问跟踪、再现性验证、数据链接和档案管理等优势。
本公开涉及用于将基因组数据与集成到文件结构中的功能元数据一起存储在包括文件结构的数据结构中的创造性方法和系统。本文的各种实施例和实现方式涉及接收基因组数据并将该基因组数据存储在包括文件结构的数据结构内的系统或方法。基因组数据能够是多种不同基因组数据类型中的任何一种,包括但不限于基因组变体(VCF)、基因表达、基因组功能注释(例如,BED、GTF、GFF、GFF3、GenBank等)、定量浏览器轨迹(例如,Wig、BigWig、BedGraph等)和/或染色体构象捕获(例如,HiC文件等)等。生成伴随基因组数据集的信息元数据,并将其与基因组数据文件结构一起存储。信息元数据包括以下中的一个或多个:(i)关于文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)详细说明源数据集和用于产生基因组数据集的一个或多个处理步骤的分析信息,其中,分析信息被配置为便于数据再现性的验证;(iii)对基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(iv)定义注释表与一个或多个数据对象之间的关系的链接信息,其中,链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询。使用一个或多个压缩算法压缩基因组数据,并且压缩信息元数据,以生成经压缩的基因组数据集和经压缩的信息元数据。然后将经压缩的基因组数据集和经压缩的信息元数据存储在容器数据结构中。
总体上,在一个方面中,提供了一种用于将基因组数据存储在包括文件结构的数据结构内的方法。所述方法包括:接收包括不同数据类型的多个字段或属性的基因组数据集;生成用于基因组数据集的信息元数据结构,所述信息元数据结构包括以下中的一个或多个:(i)关于文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)详细说明源数据集和用于产生基因组数据集的一个或多个处理步骤的分析信息,其中,分析信息被配置为便于数据再现性的验证;(iii)对基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(iv)定义注释表与一个或多个数据对象之间的关系的链接信息,其中,链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询;使用一个或多个压缩算法压缩基因组数据和信息元数据,以生成经压缩的基因组数据集和经压缩的信息元数据;并且,将经压缩的基因组数据集和经压缩的信息元数据存储在容器数据结构中;其中,注释表中的一些或全部被加密。
根据实施例,所述方法还包括接收针对注释表的新数据;并且,利用新数据更新注释表,包括更新信息元数据和基因组数据中的一个或两个。
根据实施例,(i)至(iv)中的一个或多个包括选择性加密和数字签名。
根据实施例,针对基因组数据集的访问历史被配置为跟踪由一个或多个用户对基因组数据的访问和/或更改,并且其中,所跟踪的访问或更改是预定义的。
根据实施例,访问历史还包括访问基因组数据和/或对基因组数据进行更改的用户的身份,并且其中,访问历史可选地包括针对用户的附带的数字签名。
根据实施例,一个或多个用户配置文件包括用于呈现和/或进一步处理的一个或多个参数,所述进一步处理例如基因组数据的过滤、排序和/或高亮显示。
根据实施例,一个或多个用户配置文件能够由用户创建,为了保密性而加密,为了真实性而签名,和/或与其他指定的用户共享。
根据实施例,分析信息包括用于通过评估基因组数据集与正在验证的现有对应基因组数据集的一致性来验证数据再现性的指令。
根据实施例,分析信息还包括一个或多个验证结果,所述验证结果具有可选的通过执行验证的用户的数字签名。
根据实施例,链接信息包括用于在一个或多个注释表之间映射数据的一个或多个规范。
根据实施例,所述方法还包括使用分析信息和访问历史的真实性和/或完整性来验证数据再现性。
根据第二方面,是一种用于将基因组数据存储在包括文件结构的数据结构内的系统。所述系统包括:包括不同数据类型的多个字段或属性的基因组数据集;被配置为存储经压缩的基因组数据和经压缩的信息元数据的容器数据结构;数据压缩算法;以及处理器,所述处理器被配置为:(i)生成针对基因组数据集的信息元数据结构,所述信息元数据结构包括以下中的一个或多个:(1)关于文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(2)详细说明源数据集和用于产生基因组数据集的一个或多个处理步骤的分析信息,其中,分析信息被配置为便于数据再现性的验证;(3)对基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(4)定义注释表与一个或多个数据对象之间的关系的链接信息,其中,链接信息被配置为增强数据导航和/或支持对跨链接数据的数据查询;(ii)使用数据压缩算法压缩基因组数据和信息元数据,以生成经压缩的基因组数据集和经压缩的信息元数据;以及(iii)将经压缩的基因组数据集和经压缩的信息元数据存储在容器数据结构中;其中,注释表中的一些或全部被加密。
在各种实施方式中,处理器或控制器可以与一个或多个存储介质(在本文中总体上称为“存储器”,例如易失性和非易失性计算机存储器,如RAM、PROM、EPROM和EEPROM、软盘、光盘、磁带等)相关联。在一些实施方式中,当在一个或多个处理器和/或控制器上执行时,可以用执行本文所讨论的功能中的至少一些的一个或多个程序编码存储介质。各种存储介质可以固定在处理器或控制器内,或者可以是可传输的,使得存储在其上的一个或多个程序能够加载到处理器或控制器中,以便实施本文所讨论的各种方面。术语“程序”或“计算机程序”在本文中在通用意义上用于指代能够用于对一个或多个处理器或控制器进行编程的任何类型的计算机代码(例如,软件或微代码)。
应当理解,上述概念和下面更详细讨论的其他概念的所有组合(条件是这些概念不是相互矛盾的)都被认为是本文所公开的发明主题的一部分。具体地,在本公开的末尾出现的所要求保护的主题的所有组合被认为是本文所公开的发明主题的一部分。还应当理解,也可以出现在通过引用并入的任何公开中的本文中明确使用的术语应当被赋予与本文中公开的具体概念最一致的含义。
参考下文所描述的实施例,各种实施例的这些和其他方面将是显而易见的。
附图说明
在附图中,在不同视图中,相似的附图标记总体上指代相同的部分。此外,附图不一定是按比例绘制的,而是总体上强调说明各种实施例的原理。
图1是根据实施例的用于包装基因组数据的方法的流程图;
图2是根据实施例的基因组数据存储系统的示意图;
图3是根据实施例的数据文件结构的示意性表示。
具体实施方式
本公开描述了用于将基因组数据和相关联的信息元数据存储在数据结构内的系统和方法的各种实施例。申请人已经认识到并意识到,提供一种包括用于不同基因组注释数据的有效表达和压缩的统一数据格式的方法和系统将是有益的。基因组数据存储系统接收包括不同数据类型的多个字段或属性的基因组数据集。所述系统为基因组数据集生成信息元数据。信息元数据包括以下中的一个或多个:(i)关于注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)一个或多个参数,其被配置为便于对数据再现性的验证;(iii)对基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(iv)注释表与一个或多个数据对象之间的一个或多个链接。使用一个或多个压缩算法对基因组数据和信息元数据进行压缩,然后将经压缩的数据存储在存储器中。
利用所存储的基因组数据扩展元数据和安全框架为增强数据的管理和分析提供了增强的功能,这对于大规模的合作性基因组研究尤为重要。例如,本文所描述或以其他方式设想的方法和系统使得选择性加密和数字签名能够仅应用于由用户决定的敏感信息,从而减少用于数据安全和隐私的执行的计算负担和处理费用。所述方法和系统还实现了对数据可追溯性的不可再利用的访问跟踪,使得所选择的操作和对数据的更改能够被跟踪和说明。它们还允许对诸如科学研究、手稿出版和临床应用等应用至关重要的数据再现性进行自动验证和证明。所述方法和系统允许建立数据链接,以指定数据对象之间的关系,从而增强诸如数据探索、导航、可视化和联接查询之类的功能。此外,它们还能够管理视图配置文件,所述视图配置文件包含用于注释表数据的显示、筛选、排序和高亮显示的参数。将功能元数据集成到整个文件格式中的另一个关键优势是,这种至关重要的元数据作为数据文件的一部分来组织并且是易于获得的,并且,在数据传输和迁移过程中不容易丢失或放错位置。此外,由于数据安全和隐私被设计在文件格式中,而不是通过存储平台或文件管理软件提供,因此可以实现更强的数据保护。此外,利用在标准中明确定义的信息和保护元数据的句法和处理机制,用户能够期望来自任何兼容软件的一致或相似的功能和性能。
参考图1,在实施例中,是使用基因组数据存储系统将基因组数据和相关联的信息元数据存储在包括文件结构的数据结构内的方法100的流程图。结合附图描述的方法仅作为范例提供,并且应当理解为不限制本公开的范围。基因组数据存储系统能够是本文所描述的或以其他方式设想的任何系统。基因组数据存储系统能够是单个系统或多个不同的系统。
在方法的步骤110中,提供一种基因组数据存储系统。参考如图2中所描绘的基因组数据存储系统200的实施例,例如,所述系统包括经由一条或多条系统总线212互连的处理器220、存储器230、用户接口240、通信接口250和存储器260中的一个或多个。应当理解,图2在某些方面构成了抽象概念,系统200的组件的实际组织可以与所示的不同并且更复杂。此外,基因组数据存储系统200能够是本文所描述的或以其他方式设想的任何系统。在本文的其他地方公开和/或设想了基因组数据存储系统200的其他元件和组件。
在方法的步骤120处,基因组数据存储系统接收基因组数据集,所述基因组数据集包括具有不同数据类型的多个字段或属性的基因组数据。基因组数据能够是多种不同基因组数据类型中的任何一种,包括但不限于基因组变体(VCF)、基因表达、基因组功能注释(例如,BED、GTF、GFF、GFF3、GenBank等)、定量浏览器轨迹(例如,Wig、BigWig、BedGraph等)和/或染色体构象捕获(例如,HiC文件等)等。所接收的基因组数据集可以包括一种类型或多种不同类型的基因组数据的基因组数据和/或不同数据类型的多个字段或属性。所接收的基因组数据集可以立即用于本文所描述的或以其他方式设想的方法的后续步骤,或者可以被存储以供将来通过该方法和其他方法使用。因此,所述系统可以包括被配置为存储基因组数据集的本地或远程数据存储器或者与被配置为存储基因组数据集的本地或远程数据存储器进行通信。
在方法的步骤130处,所述基因组数据存储系统生成针对基因组数据集的信息元数据结构。信息元数据结构被配置为实现多种功能,包括以下中的一个或多个:对选择性加密和数字签名的支持、数据可追溯性或不可拒绝的访问跟踪、数据再现性的验证以及数据对象之间的链接的建立等功能。
根据实施例,信息元数据结构包括关于文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可。根据实施例,信息元数据结构包括一个或多个参数,所述参数被配置为便于数据再现性的验证。根据实施例,信息元数据结构包括针对基因组数据集的访问历史,其被配置为便于数据可追溯性。根据实施例,信息元数据结构包括注释表与一个或多个数据对象之间的一个或多个链接,其被配置为增强数据导航和/或支持跨链接数据的数据查询。
所生成的信息元数据结构可以立即用于本文所描述的或以其他方式设想的方法的后续步骤,或者可以存储以供将来由该方法和其他方法使用。因此,系统可以包括被配置为存储基因组数据集、注释表和/或信息元数据结构的本地或远程数据存储器或与之进行通信。应当注意,信息元数据结构中的一些或全部可以如本文所描述的或以其他方式所设想的那样被加密。
在方法的步骤140处,所述基因组数据存储系统使用压缩算法压缩基因组数据以及所生成的信息元数据结构,以生成经压缩的基因组数据集。压缩算法能够是用于数据转换和压缩的任何算法、方法或过程,包括但不限于本文所描述的或以其他方式设想的压缩算法和方法。可以通过单个压缩算法或者通过多个压缩算法来压缩数据。
在方法的步骤150处,将经压缩的基因组数据集与经压缩的信息元数据一起存储在容器数据结构中的存储器中。存储器可以是能够接收和存储经压缩的数据的任何存储器。存储器可以与基因组数据存储系统相关联,或者可以是与基因组信息存储系统的直接或间接有线和/或无线通信。存储器可以是本地存储器或远程存储器。存储器可以是基于云端的存储器。许多其他存储机制和设备也是可能的。
在方法的步骤160处,所述基因组数据存储系统接收针对注释表的新数据。新数据可以被提供给系统,可以由系统提出请求,或者以其他方式被给予系统或由系统接收。新数据是需要注释表的更新的任何数据。例如,新数据可以包括配置文件或许可修改或更新、数据再现性参数、访问信息和/或注释表与基因组数据内的一个或多个数据对象之间的链接信息中的任何一个或多个,以及各种各样的其他数据或信息。新数据或信息可以由基因组数据存储系统处理或以其他方式准备,以更新注释表。新数据或信息可以立即用于本文所描述的或以其他方式设想的方法的后续步骤,或者可以被存储以由本方法和其他方法将来使用。
在方法的步骤170处,基因组数据存储系统用新数据或信息(包括信息元数据和基因组数据)来更新注释表。系统可以检索注释表并使用解压缩和/或逆变换算法对表格进行解压缩,所述解压缩和/或逆变换算法能够是用于数据解压缩和逆变换的任何算法、方法或过程。然后,系统能够更新注释表,并取得随后能够压缩更新后的文件并将其存储在存储器中。
基因组数据存储结构和数据格式
封装接收到的基因组数据和相关联的注释表的基因组数据存储结构可以采用多种格式中的任何一种。尽管下面参考实施例描述了特定的格式,但是应理解,这只是本文所描述的或以其他方式设想的基因组数据存储系统可以利用的数据结构的一个范例。类似地,基因组数据存储结构内的数据的格式可以采用多种格式中的任何一种。尽管下面参考实施例描述了特定的格式,但是应当理解,这只是本文所描述的或以其他方式设想的基因组数据存储系统可以利用的数据格式的一个范例。
参考图3是用于基因组数据集和相关联的注释表的顶层容器层次结构的实施例。在这种格式中,利用了文件、数据集组和数据集的顶层容器框。数据集包括带有数据的注释表(atcn)。在图3中,所有容器框,包括数据集组(dgcn)、数据集(dtcn)、注释表(atcn)、属性组(agcn)和注释访问单元(aauc),都能够存在于多个实例中。例如,框后面的符号“…”表示该特定方框结构能够有多个实例。
根据实施例,信息和保护元数据能够分别存储在注释表元数据和注释表保护数据结构中,它们被封闭在KLV(密钥、长度、值)格式的gen_info框中,句法如下,但是其他句法也是可能的:
Figure BDA0004163644950000051
根据实施例,密钥字段在四个字符的代码中指定数据结构的类型,对于注释表元数据为“atmd”,对于注释表保护为“atpr”。长度字段指定组成整个gen_info结构的字节数,包括所有的三个字段密钥、长度和值。注释表元数据和注释表保护的值字段的句法分别在表1和表2中定义。
表1–注释表元数据的句法
Figure BDA0004163644950000052
Figure BDA0004163644950000061
表2–注释表保护的句法
Figure BDA0004163644950000062
注释表具有高度可配置性。根据实施例,注释表包括通用元数据,所述通用元数据包括关于注释表的通用信息。例如,通用元数据可以包括表格信息(TableInfo)元素,所述TableInfo元素具有用于将注释表的数据转换和导出为兼容文件格式的信息。通用元数据还可以包括表格视图配置文件(TableViewProfile)元素,用于指定针对各个用户或角色的查看参数的集合。用户能够通过它们的ID和角色与多个配置文件相关联,其中一个被指定为默认配置文件。用户还能够定义它们自己的配置文件,并与其他用户共享。在视图配置文件中,能够在三个级别上指定参数,例如公用参数、属性组特定的参数或字段特定的参数。使用这种分层方法,只需要在参数与在上一级处义的参数不同时为组件指定参数。TableViewProfile元素还能够包括一组用于筛选、排序和高亮显示的格式化规则,所述规则对于注释表数据的分析是有用的。用户能够通过使其表格视图配置文件可用于其他用户来共享其筛选分析。TableInfo和TableViewProfile元素都能够单独加密和签名。
根据实施例,注释表包括分析元数据,所述分析元数据包括流水线(pipeline)规范和数据再现性的验证结果。例如,分析元数据可以包括用于分析流水线的规范的流水线元素,每个流水线元素包括输入数据、软件工具、处理步骤以及所生成的输出数据到现有数据的映射。分析元数据可以包括用于验证结果的存储的验证元素,每个验证元素包括被评估的流水线的ID、所选择的数据对象、规则和验证的状态。流水线和验证元素都能够被单独加密和签名。系统可以因此包括用于数据再现性的验证的自动过程。
根据实施例,注释表包括访问历史元数据,所述访问历史元数据包含用于数据可追溯性或不可拒绝的(non-repudiable)访问跟踪的安全访问历史。能够在记录规则(RecordRule)元素中指定应当为特定数据对象和区域记录的动作。每个访问记录(AccessRecord)元素都能够登记数据访问的详细信息,其中包括特定动作、目标数据对象和区域、情况(例如紧急情况)、任何附加注释、执行动作的用户的ID和角色和访问时间,以及其他可能的选项。每个AccessRecord元素都能够使用执行动作的用户的私人密钥进行签名,以确保操作的不可拒绝性。
根据实施例,注释表包括数据链接元数据,所述数据链接元数据包括注释表与其他数据对象之间的链接规范,用于数据探索、导航、可视化和联合查询等目的。数据链接元数据支持按索引进行映射,其中,一个注释表的行/列能够直接映射到另一个注释表的行/列。数据链接元数据支持按值映射,其中,两个注释表基于特定字段的值通过一些映射条件进行链接。利用在元数据中正确定义的链接,很容易地支持对多个注释表的联合查询,并通过范例说明了其实施方式。
根据实施例,由整个XML文档组成的每个元数据组件都能够利用包括表格ID、表格名称、表格版本、上次更新用户ID和上次更新时间来加密和签名,以增加签名值的唯一性,防止其被重用。
注释表元数据
注释表元数据存储在其中的结构可以采用多种格式中的任何一种。尽管下面参考实施例描述了特定的格式,但是应当理解,这只是本文所描述的或以其他方式设想的基因组数据存储系统可以利用的数据结构的一个范例。
根据实施例,具有密钥“atmd”的注释表元数据gen_info框由四个主要组件组成:(i)ATMD_通用(),其包含关于注释表的通用信息;(ii)ATMD_分析(),其包含用于数据再现性的验证的分析规范;(iii)ATMD_历史(),其包含用于数据可追溯性的安全访问历史;以及(iv)ATMD_链接(),其包含注释表与其他数据对象之间的链接规范,用于数据探索、导航、可视化和联合查询等目的。
仅根据实施例,这些组件中的每一个都是由LZMA算法压缩的XML文档的形式。为了保护可能包含敏感信息的元数据组件的机密性和完整性,能够通过在同一注释表的保护元数据中指定其URI和相关参数来启用其加密和签名。利用正确的访问控制设置,只有经过身份验证和授权的用户才能够读取、更新或签名组件。如果启用了签名,则只保留最新的签名。为了进一步防止元数据组件及其相应的签名被过时的之前的版本所取代,能够将可选的字符串类型的最近更新用户(LastUpdateUser)元素和日期时间类型的最近更新时间(LastUpdateTime)元素包括在用于加密和签名的XML文档中,并将相应的更新记录(包括最近更新的用户和时间)输入到ATMD_历史()中。类似地,可以将可选的字符串类型的表格ID、表格名称和表格版本元素包括在内,以确保元数据组件只能用于特定ID、名称和版本的表格。在这种情况下,无论当表格ID或版本何时发生更改,都必须使用适当的加密和签名来更新元数据组件。
通用元数据
根据实施例,通用元数据用于保存注释表的通用信息。它以压缩XML文档的形式存储在ATMD_通用()字段中,根元素为“ATMD_通用”,由三个主要组件组成:基本信息(BasicInfo)、表格信息(TableInfo)和表格视图配置文件(TableViewProfile)的一个或多个实例。
根据实施例,基本信息元素与数据集组和数据集元素共享相同的结构。总体上,数据集元数据中的元素值由数据集中的注释表继承。然而,对于数据集元数据中的每个扩展元素,需要将其对应的“可继承”元素指定为“真”,以便由下级注释表继承扩展元素值。基本信息中的元素值覆写从数据集继承的相应元素值,即,注释表的通用元数据中的新的元素值是封闭数据集的元数据中的等效元素的具体化。
根据实施例,表格信息(TableInfo)包含特定于注释表的附加元数据元素,包括但不限于以下内容:(i)ImportFileInfo——如果数据被导入,则是原始文件的信息,如文件名、大小和行数;(ii)CompatibleFileFormats——与注释表兼容/可相互转换的任何外部文件格式及其最新版本;(iii)Headerlines——任何标题行及其行号,可包含在导出的文本文件中;(iv)CommentLines——任何注解行及其行号,可包含在导出的文本文件中;(v)Notes–附加的注释;(vi)Correspondence——联系信息;(vii)TableCreatedBy–创建注释表的用户的ID;和/或(viii)TableCreatedTime–创建注释表的日期和时间。
根据实施例,表格视图配置文件TableViewProfile包含一组查看参数,包括但不限于以下属性和元素:(i)id、name——视图配置文件的ID和名称;(ii)userID——与视图配置文件相关联的用户ID(如果用户与多个视图配置文件相关联,则属性“profilePriority”指定配置文件的优先级,0表示它是针对该用户显示的默认配置文件);(ii)role——与视图配置文件相关联的用户角色(如果用户角色与多个视图配置文件相关联,则属性“profilePriority”指定配置文件的优先级,0表示它是针对用户角色的显示的默认配置文件);(iii)ProfileNotes——视图配置文件上的注释,例如描述其用途和目的;(iv)CommonViewPars——一组应用于所有字段的默认查看参数。它包括对字体、对齐方式、页边距、行距、列宽、行高、背景色、缩放级别、用于显示的最上面一行和最左边一列的索引、所选区域、冻结窗格的位置、行和列的换位等设置;(v)属性组视图部分AttributeGroupViewPars——一组特定于属于同一属性组的字段的查看参数。
根据实施例,属性组视图部分AttributeGroupViewPars能够包括以下一个或多个:ag类(agClass)——参数应用的属性组类;隐藏(hide)——布尔值,如果为真,则属性组中的所有字段都将隐藏,不显示;和/或位置(location)——放置属性组的位置。例如,与主表格的行相关联的属性,即属性组类1,能够放置在主属性组的左侧或右侧。类似地,与列相关联的属性,即属性组类2,能够放置在主属性组的顶部或底部。主属性组始终位于中心。属性组视图部分AttributeGroupViewPars还能够包括字段,所述字段指定哪些数据字段应当被显示、它们在所呈现的表格中的顺序、是否应显示字段标题、字段标题文本以及每个字段特有的其他参数。应当注意,能够在属性组或数据字段级别处覆盖通用显示参数,如字体、对齐方式、边距、行距和背景。
根据实施例,表格视图配置文件TableViewProfile还包括:(vi)FormattingRules——要应用于注释表的一组格式化规则。格式化规则能够包括,例如:筛选规则FilterRules——每个筛选规则指定在其上应用规则的字段和筛选条件;排序规则SortRules——每个排序规则指定在其上应用规则的字段和排序顺序(升序或降序);和/或高亮显示规则HighlightRules——每个高亮显示规则指定高亮显示条件和颜色。根据实施例,表格视图配置文件TableViewProfile还包括:(vii)CreatedBy——创建视图配置文件的用户的ID;(viii)CreatedTime——创建视图配置文件的日期和时间;以及(ix)Signature——一种数字签名,具有其相关联的参数,使用创建视图配置文件的用户的私人密钥来生成,用于证明视图参数集和格式化规则的真实性。
分析元数据
根据实施例,分析元数据用于保持软件流水线的详细规范,以生成一个或多个注释表的数据。这允许通过使用完全相同的输入数据、计算环境、软件和流水线设置重新运行分析,并将生成的结果与现有注释表数据进行比较来验证数据的再现性。元数据能够通过加密和数字签名来进一步保护,并作为压缩的XML文档存储在ATMD_分析()字段中,所述压缩的XML文档具有根元素“ATMD_分析”,其包含两个主要的元素组:流水线和验证。
根据实施例,每个流水线元素由但不限于以下属性和元素中的一个或多个组成:(i)id、version——分析流水线的ID和版本;(ii)Tools——流水线中使用的一套软件工具。每个工具都由一组参数指定,包括唯一的工具ID、软件的名称和版本、源——用于获得软件及其文档的URI、描述、路径——指向已安装的工具副本的指针、以及别名——工具命令的快捷方式。还有:(iii)InputData——数据参考类型DataRefType的输入数据InData元素的一个或多个实例,每个实例指定流水线的输入数据对象;(iv)Process——过程步骤类型ProcStepType的一系列处理步骤,每个步骤包括一个或多个:处理步骤ID(procStepID)——流水线中步骤的顺序索引;工具ID(ToolID)——此步骤中使用的软件工具的ID,必须是在工具Tools中定义的ID之一;工具部分(ToolPars)–用于运行工具的命令行参数字符串。它能够包含别名(aliases),前缀为“$”等符号,由与该步骤相关联的输入数据(InData)或输出数据(OutData)元素中定义的输入/输出目录/文件的路径替换;输入数据ID(InDataID)——参考在前面步骤中的输入数据(InputData)或输出数据(OutData)元素中定义的数据对象之一的ID;输入数据(InData)——如果之前未定义输入数据对象,则能够指定数据参考类型DataRefType的输入数据InData元素;输出数据(OutData)——数据参考类型DataRefType的输出数据元素,用于指定输出目录和文件。
根据实施例,如果工具的命令行涉及多个输入/输出目录或由其各自的别名表示的数据对象,则能够存在输入数据ID(InDataID)、输入数据(InData)和输出数据(OutData)的多个实例。如果没有指定ID(InDataID)和输入数据(InData),则假设输入数据来自前一步骤的输出数据。
根据实施例,每个流水线元素可以由但不限于以下属性和元素中的一个或多个组成:(v)OutputDataMaps——数据映射类型(DataMapType)的数据映射(DataMap)元素的一个或者多个实例,每个实例将生成的输出数据对象映射到现有数据对象。这两个数据对象被假设是等效的,因此它们的内容应当相同或足够接近,以证明分析流水线的再现性。数据映射(DataMap)元素包括一个或多个:生成数据ID(GenDataID)或生成数据(GenData)——在流水线中先前定义的输出数据(OutData)元素的ID,或参考所生成的输出数据的数据参考类型(DataRefType)元素;存在数据(ExistData)——参考现有数据对象的数据参考类型(DataRefType)元素。每个流水线元素还可以包括但不限于以下属性和元素中的一个或多个:(vi)UserID、Role——上一次编辑该流水线规范的用户的ID和角色;(vii)LastUpdateTime——该流水线规范上一次更新的日期和时间;(viii)Signature——使用上一次更新的流水线元素的用户的私人密钥生成的数字签名及其相关参数,以证明流水线规范的真实性。
根据实施例,关于用于流水线中输入数据(InData)和输出数据(OutData)元素的数据参考类型(DataRefType),元素类型由以下属性和元素组成:(i)dataRefID——数据参考的ID;(ii)DirURI——参考数据参考的目录的URI;(iii)Filename——数据参考的文件名称;(iv)MpggURI——参考文件中的特定数据对象(如注释表)的URI;(v)NumberCounter——用于生成一系列数字,每个数字都将通过前缀为例如“$”的符号的别名插入URI或文件名;(vi)LetterCounter——用于生成一系列字母,每个字母通过前缀为例如“$”的符号的别名插入URI或文件名。
根据实施例,计数器序列存在一对一的对应关系,即,每个计数器的第i个序列值将一起插入到第i个数据参考中。因此,如果每个计数器存在n个序列值,则将参考n个数据对象。例如,由于所生成的字母序列为“AABB”,所生成的数字序列nc为“1212”,因此由别名“inFile”表示的以下数据参考类型(DataRefType)元素将产生四个文件名“inFile_A1.dat”、“inFile_A2.dat”,“inFile_B1.dat”和“inFile_B2.dat”:
Figure BDA0004163644950000091
根据实施例,如果${inFile}被放置在处理步骤的参数字符串中,例如“-i${inFile}”,它将导致命令被执行四次,对于由InData1参考的每个文件执行一次。
根据实施例,每个验证元素包含数据再现性验证的结果,所述数据再现性验证涉及运行所定义的流水线,以及将所生成的数据对象与等效的现有数据对象进行比较。它包括但不限于以下一个或多个属性和元素:(i)id——验证元素的ID;(ii)pipelineID——被验证的流水线的ID;(iii)SelectedDataMaps——用于选择所生成的和现有的数据对象对,以进行验证的在流水线的输出数据映射(OutputDataMaps)元素中定义的一个或多个数据映射ID(DataMap IDs)。如果未指定,则验证输出数据映射(OutputDataMaps)中的所有数据映射;(iv)验证规则(VerificationRules)——一组验证规则,每个验证规则包括一个或多个:数据映射ID(DataMapID)——验证规则应用于其上的数据映射的ID;属性(Attributes)——由验证规则应用于其上的数据映射ID(DataMapID)参考的数据对象中的属性ID或名称的列表;描述符(Descriptors)——由验证规则应用于其上的数据映射ID(DataMapID)参考的数据对象中的描述符ID或名称的列表;数据类型(DataType)——验证规则应用于其上的数据类型。如果指定了数据映射ID(DataMapID),则该规则仅适用于由数据映射ID(DataMapID)参考的数据对象。否则,它总体上应用于指定的数据类型的所有数据对象;方法(Method)——用于评估两个数据元素之间差异的方法,例如“不同条目的数量”、“均方根”、“绝对差异之和”;通过条件(PassCondition)——基于由指定方法生成的度量值的通过条件,例如“<0.01”意思是为了通过此规则,度量值应当小于0.01。
根据实施例,每个验证元素还包括以下属性和元素中的一个或多个:(v)Status——验证的状态,例如“通过(Pass)”或“失败(Fail)”;(vi)Platform——对在其上执行验证的平台的描述;(vii)OS——对在其中执行验证的操作系统环境的描述;(viii)Notes——用于验证的附加注释,例如,对于正在进行比较的每对数据对象,它们是否显著不同以及差异的度量值;(ix)UserID、Role——执行验证的用户的ID和角色;(x)VerificationTime——执行验证的日期和时间;和/或(xi)Signature——使用执行验证的用户的私人密钥生成的数字签名及其相关联的参数,以证明验证结果的真实性。
根据实施例,在指定了流水线的所有细节和验证规则的情况下,能够执行数据再现性的自动验证。验证过程应当包括以下步骤:(1)检查所有输入数据对象以及在选择数据映射中定义的现有数据对象是否都可用;(2)检查所有所需的软件工具是否都正确地安装了正确的版本;(3)检查过程规范的正确性,例如,用于每个步骤的输入数据对象必须链接到在先前步骤中所定义的现有数据对象或输出数据对象;(4)检查验证规则是否涵盖了在选择数据映射中的所有属性和描述符。调度器和调度程序分配器应当一个接一个地执行处理步骤,即,只有当所有假设从先前步骤生成的输入数据对象都可用时才执行一个步骤。如果步骤具有(使数量字和字符串计数器定义的)多组输入文件,则能够在每组输入文件上并行运行软件工具。一旦在选择数据映射(SelectedDataMap)中定义的生成数据对象可用,就能够对其进行验证。对于每个属性/描述符,通过查找数据映射ID和属性/描述符名称/ID来确定正确的验证规则。如果属性/描述符没有特定的规则,就查找与数据映射ID和属性/描述符的数据类型相关联的任何规则。如果不可用,则查找总体上应用于所有数据对象的数据类型的规则。在为数据对象中的所有属性和描述符确定正确的规则后,使用在可适用的验证规则中定义的方法评估所生成的数据和现有数据之间的每个属性/描述符的差异。只有当数据对象的所有属性/描述符都满足可适用的验证规则中的通过条件时,数据对象才能通过验证。
根据实施例,在完成所有处理步骤的执行和在所选则的数据映射中的所有数据对象的验证后,如果所有生成的数据对象都通过了其验证,则正在针对再现性进行验证的流水线能够分配为“通过(Pass)”状态。然后能够使用执行验证的用户的私人密钥对验证结果进行签名,并将其作为验证(Verification)元素存储在元数据中。应当注意,如果未通过前四个检查步骤中的任何一个,则程序应当停止。
访问历史元数据
根据实施例,访问历史元数据用于登记所选择的用户动作,例如查看或更改任何元数据元素或注释表数据,并支持数字签名,以确保数据可追溯性或不可拒绝的访问跟踪。它作为压缩的XML文档存储在()字段中,根元素为“ATMD_History”,其中包含两个注意的元素组:记录规则(RecordRules)和访问记录(AccessRecords)。
根据实施例,每个记录规则(RecordRules)元素指定应当为特定数据对象或区域记录的用户动作。如果没有记录规则(RecordRules)元素,则应当记录所有数据上的所有操作。记录规则(RecordRules)元素包括但不限于以下一个或多个属性和元素:(i)id——记录规则的ID;(ii)Actions——用于指定要记录的动作的元素。它的状态属性首先确定是否应当为了开始而包含还是排除所有动作。如果状态为“包括所有”,则排除其封闭的动作(Action)元素。相反,如果状态为“排除所有”,则包括所有的其封闭的动作(Action)元素;(iii)TargetURI——参考规则应用于其上的数据对象(例如元数据组件或保护元数据)的URI;(v)TargetRegion——用于指定规则应用于其上的注释表数据的一组元素。第一组元素:“属性组(AttributeGroups)”、“属性(Attributes)”和“描述符(Descriptors)”涉及通过属性和描述符的ID、名称或附属属性组来选择属性和描述符。第二组元素“基因组范围(GenomicRanges)”、“样本范围“SampleRange”、“行范围“RowRange”和“列范围“ColRanges”涉及通过基于基因组坐标、样本ID、行索引和列索引的范围组合来选择表格中的行和列。
应当注意,如果未指定目标URI(TargetURI)或目标区域(TargetRegion)元素,则所选操作将记录在所有数据上。对于由多个记录规则重叠的目标数据,在该目标中要记录的动作应当是这些规则中所选动作的并集。
根据实施例,每个访问记录(AccessRecord)元素登记数据访问动作的细节。它包括但不限于以下一个或多个属性和元素:(i)id——访问记录的ID,可能是顺序索引;(ii)Action——指定正在执行和登记的特定动作的字符串,所述特定可能是函数调用的名称;(iii)TargetURI——参考在其上执行动作的数据对象(例如元数据组件或保护元数据)的URI;(iv)TargetRegion——指定在其上执行动作的注释表数据的一组元素。第一组元素:“属性组(AttributeGroups)”、“属性(Attributes)”和“描述符(Descriptors)”涉及通过属性和描述符的ID、名称或附属属性组来选择属性和描述符。第二组元素“基因组范围(GenomicRanges)”、“样本范围“SampleRange”、“行范围“RowRange”和“列范围“ColRanges”涉及通过基于基因组坐标、样本ID、行索引和列索引的范围组合来选择表格中的行和列。(v)Situation——指示执行动作的情境的字符串,例如“紧急情况”;(vi)Notes——动作的附加注释;(vii)UserID、Role——执行动作的用户的ID和角色;(viii)AccessTime——执行动作的日期和时间;和/或(ix)Signature——用于访问记录的数字签名及其相关参数,以证明其真实性。为了确保不可拒绝性,应当使用执行动作的用户的私人密钥来生成。
验证访问历史的完整性的过程能够包括以下步骤:(1)检查访问记录的ID是否按连续递增顺序排列;(2)检查访问记录的访问时间是否按时间顺序排列;(3)检查历史中附加的表格ID、表格名称和表格版本是否与当前正在使用的相同;(4)验证所有访问记录的数字签名;(5)验证整个访问历史元数据ATMD_History()的数字签名。只有通过所有独立的步骤,验证才能成功。
数据链接元数据
根据实施例,数据链接元数据用于指定当前注释表与在当前文件档案中的或没有当前文件档案的其他数据对象之间存在的任何关系,以便于用于诸如数据探索、导航、可视化和联合查询等目的的交叉参考功能。它作为具有根元素“ATMD_链接”的压缩XML文档存储在ATMD_链接()字段中,它能够包含多个参数集,用于指定与其他数据对象(例如bam文件、排序读取数据集或注释表)的链接。
根据实施例,每个链接定义包括但不限于以下属性和元素中的一个或多个:(i)id——XML文档中唯一的链接元素的标识符;(ii)Description——对被定义的链接的文字说明;(iii)Alias(别名)——用于唯一地识别所链接的数据对象的名称,例如在SQL联合查询中使用。如果未指定,则应当使用所链接的数据对象的名称;和/或(iv)对所链接的对象的URI参考,至少由以下其中之一组成:FileURI——用于参考被链接的文件的URI。如果未指定,则所链接的对象在与当前注释表相同的文件中;MpggURI——用于参考文件中的特定MPEG-G数据对象的URI。如果未指定,则链接指向整个文件。总体上,URI遵循以下格式:
“dataset_group/{dataset_group_id}/dataset/{dataset_id}/ann_table/{ann_table_tag}”其中,大括号内的文本,包括大括号本身,应当替换为被参考的数据集组、数据集和注释表的ID(数字字段)或名称(字符串字段)。如果同一标记用于一个对象的ID和另一个对象的名称,则参考具有匹配ID的那个。通过省略与当前注释表相同的开头部分,允许压缩URI。例如,如果URI参考同一数据集中的另一个注释表,则它能够简化为“ann_table/{ann_table_tag}”。如果所参考的对象是数据集,那么能够省略“/ann_table/{ann_table_tag}”的部分。如果所链接的对象是注释表,则能够进一步指定如何将当前注释表映射到所链接的表格。如果当前注释表的行/列直接映射到另一个表格的行或列,则MapByIndex元素应当包含有“方法”属性,所述“方法”属性只能假设四个值之一:“行到行”、“行到列”、“列到行”和“列到列”。
根据实施例,如果通过匹配某些属性值将当前注释表映射到另一个表格,则应当包括MapByValue元素,以指定通过默认由“AND”运算符联合的一个或多个映射条件。每个条件能够包括一个或多个:relation_op——关系运算符,其能够是“=”、“<”、“<=”、“>”、“>=”或“!=”,位于左侧的FromField和右侧的ToField之间;FromField——用于参考当前注释表的描述符或属性的URI。其可能的格式包括“描述符/{desc_tag}”和“属性/{attr_tag}”,其中,大括号内的文本,包括大括号本身,应当由在映射中使用的描述符/属性的id(数字字段)或名称(字符串字段)所替代。如果相同标签用于一个对象的ID和另一对象的名称,则参考具有匹配ID的那个;和/或ToField——用于参考所链接的注释表的描述符或属性的URI。它的可能的格式与FromField的格式相同。
一个非限制性范例是将包含对单个样本的变体调用(variant calls)的注释表链接到其源测序-读取数据集。假设两个实体都在MPEG-G文件的相同数据集组中,其中,测序读取在ID为1的数据集中,变体调用在ID为2的数据集中。然后,能够在变体调用注释表的元数据中定义链接,其中,可选的链接ID为“SeqReadLinkage”,MpggURI设置为“dataset/1”。离着所定义的这种链接,能够通过基因组位置查找与任何感兴趣的变体相关联的测序读数,以根据用户的需要为变体调用提供支持证据。
另一个范例是使用数据链接进行联合查询。假设基因组研究由相同MPEG-G数据集中的以下注释表组成:(i)名称为“GeneExpr”的基因表达表,其中,行由“gene_symbol”属性唯一标识,列由“sample_ID”属性唯一标识;(ii)名称为“GeneInfo”的基因信息表,包含附加注释,如染色体、起始和终止位置、以及用于每个基因的已知疾病关联性,其中,行由“gene_entrez_ID”属性唯一标识;(iii)提供“gene_symbol”和“gene_entrez_ID”之间的映射的表格“GeneIdMap”;以及(iv)名称为“SampleInfo”的样本信息表,包含额外的人口统计学和临床数据,如每个样本的性别、年龄、种族和诊断,其中,行由“sample_ID”属性唯一标识。然后,能够定义以下数据链接:(i)在表格GeneExpr的元数据的ATMD_linkages()字段中:ID“EntrezIdLinkage”与MpggURI=“ann_table/GeneIdMap”的链接,以及MapByValue元素与relation_op=“=”、FromField=“attribute/gene_symbol”和ToField=“attribute/gene_symbol”的链接;以及ID“SampleInfoLinkage”与MpggURI=“ann_table/SampleInfo”的链接,以及MapByValue元素与relation_op=“=”、FromField=“attribute/sample_ID”和ToField=“attribute/sample_ID”的链接。然后,(ii)在表格GeneIdMap的元数据的ATMD_Linkages()字段中,ID“GeneInfoLinkage”与MpggURI=“ann_table/GeneInfo”的链接,以及MapByValue元素与relation_op=“=”、FromField=“attribute/gene_entrez_ID”和ToField=“attribute/gene_entrez_ID”的链接。
利用上述定义的数据链接,能够对三个表格进行联合查询,例如,选择:(1)仅在位于6号染色体(人类参考基因组GRCh37)上的28,477,797–33,448,354位置处的人类MHC区域中,并填充有免疫相关基因的基因,以及(2)高加索(Caucasian)种族的样本。查询的句法能够是类似于“SELECT*,GeneIdMap.GenerInfo.*,SampleInfo.(Age,Diagnosisi)FROMGeneExpr WHERE GeneIdMap.GeneInfo.(Chr=‘6’AND Start_Pos>=28477797AND End_Pos<=33448354),SampleInfo.Ethnicity=‘Caucasian’”。
这种查询的处理包括两个部分:通过基因组范围搜索基因和通过种族搜索样本。对于基因搜索,查询引擎应当首先从GeneInfo表格中查找指定基因组范围内基因的Entrez_ID,然后,通过GeneIdMap表格将它们映射到相应的基因符号,然后在GeneExpr表格中找到与基因符号相关联的行。对于样本搜索,查询引擎应当首先查找高加索种族样本的ID,然后,在GeneExpr表格中找到与样本ID相关联的列。查询结果应当包括从GeneExpr表格的匹配行和列中提取的表达数据、来自GeneInfo表格的匹配基因的信息、以及来自SampleInfo表格中的匹配样本的年龄和诊断。
除了联合查询之外,数据链接还能够便于数据探索和导航。参考上面的链接范例,呈现基因表达数据的应用程序能够允许用户通过点击或悬停在基因符号或样本ID上来快速访问任何基因或样本的附加信息。
参考图2,在一个实施例中,是用于存储基因组数据的系统200的示意图。系统200可以是本文所描述的或以其他方式设想的任何系统,并且可以包括本文所描述的或者以其他方式设想的任何组件。
根据实施例,系统200包括经由一条或多条系统总线212互连的处理器220、存储器230、用户接口240、通信接口250和存储空间260中的一个或多个。在一些实施例中,硬件可以包括基因组数据数据库270。应当理解,图2在某些方面构成一种抽象概念,系统200的组件的实际组织可以与所示的不同并且更复杂。
根据实施例,系统200包括处理器220,所述处理器220能够执行存储在存储器230或存储空间260中的指令,或者以其他方式处理数据,例如,执行方法的一个或多个步骤。处理器220可以由一个或多个模块形成。处理器220可以采用任何合适的形式,包括但不限于微处理器、微控制器、多个微控制器、电路、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、单个处理器或多个处理器。
存储器230能够采用任何合适的形式,包括非易失性存储器和/或RAM。存储器230可以包括各种存储器,例如L1、L2或L3高速缓存或系统存储器。同样地,存储器230可以包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪存、只读存储器(ROM)或其他类似的存储器设备。存储器能够在其中存储操作系统等。RAM由处理器使用,用于数据的临时存储。根据实施例,操作系统可以包含代码,当由处理器执行时,所述代码控制系统200的一个或多个组件的操作。显而易见的是,在处理器以硬件实施本文所述的一个或多个功能的实施例中,可以省略在其他实施例中被描述为对应于这样的功能的软件。
用户接口240可以包括一个或多个设备,用于实现与用户的通信。用户接口能够是允许传送和/或接收信息的任何设备或系统,并且可以包括用于接收用户命令的显示器、鼠标和/或键盘。在一些实施例中,用户接口240可以包括可经由通信接口250呈现给远程终端的命令行接口或图形用户接口。用户接口可以与系统的一个或多个系统的其他组件位于一起的位置,或者可以位于远离系统并经由有线和/或无线通信网络进行通信的位置。
通信接口250可以包括用于实现与其他硬件设备的通信的一个或多个设备。例如,通信接口250可以包括被配置为根据以太网协议进行通信的网络接口卡(NIC)。此外,通信接口250可以实施用于根据TCP/IP协议进行通信的TCP/IP堆栈。用于通信接口250的各种替代或附加硬件或配置将是显而易见的。
存储空间260可以包括一个或多个机器可读存储介质,例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备、或类似的存储介质。在各种实施例中,存储空间260可以存储用于由处理器220执行的指令或处理器220可以在其上进行操作的数据。例如,存储空间260可以存储用于控制系统200的各种操作的操作系统261。
显而易见的是,被描述为存储在存储空间260中的各种信息可以附加地或替代地存储在存储器230中。在这方面,存储器230也可以被认为构成存储空间设备,存储空间260可以被认为是存储器。各种其他设置将是显而易见的。此外,存储器230和存储空间260都可以被认为是非暂时性的机器可读介质。如本文所使用的,术语非暂时性将理解为排除暂时性信号,但包括所有形式的存储空间,包括易失性和非易失性存储器。
尽管系统200被示出为包括每个所描述的组件中的一个,但是在各种实施例中,各种组件可以是重复的。例如,处理器220可以包括多个微处理器,所述多个微处理器被配置为独立地执行本文所描述的方法,或者被配置为执行本文所描述的方法的步骤或子程序,使得多个处理器协作以实现本文所描述的功能。此外,在云计算系统中实施系统200的一个或多个组件的情况下,各种硬件组件可以属于独立的物理系统。例如,处理器220可以包括第一服务器中的第一处理器和第二服务器中的第二处理器。许多其他变体和配置也是可能的。
根据实施例,系统200的存储空间260可以存储一个或多个算法和/或指令,以执行本文所描述的或以其他方式设想的方法的一个或多个功能或步骤。例如,处理器220可以包括信息元数据生成指令262、压缩/解压缩指令263和/或存储指令264中的一个或多个。
根据实施例,信息元数据生成指令262指示系统生成或修正用于基因组数据集的文件结构内的信息元数据结构。信息元数据结构配置为实现多种功能,包括对选择性加密和数字签名的支持、数据可追溯性或不可拒绝的访问跟踪、数据再现性的验证以及数据对象之间的链接的建立等功能中的一个或多个。根据实施例,注释表包括以下中的一个或多个:(i)关于注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)详细说明源数据集和用于产生基因组数据集的一个或多个处理步骤的分析信息,其中,分析信息配置为便于数据再现性的验证;(iii)对于基因组数据集的访问历史,其被配置为便于数据可追溯性;和/或(iv)定义注释表与一个或多个数据对象之间的关系的链接信息,其中,链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询。
根据实施例,压缩/解压缩指令263指示系统压缩基因组数据以及相关联的信息元数据结构。压缩算法能够是用于数据压缩的任何算法、方法或过程。压缩指令还可以包括用于对所存储的数据进行解压缩的解压缩指令。压缩/解压缩指令可以包括一个压缩和/或解压缩算法,或者可以包括多个压缩和/或解压缩算法。
根据实施例,存储指令264指示系统将经压缩的基因组数据和经压缩的信息元数据存储在容器数据结构中。系统可以包括被配置为存储基因组数据集和信息元数据的本地或远程数据存储空间或与之进行通信。
基因组数据集的处理、信息元数据结构的生成、以及基因组数据和信息元数据结构的压缩/解压缩包括数百万或数十亿次计算,这是人类大脑即使配备有钢笔和铅笔也无法完成的事情。事实上,仅基因组数据集就包括数百万条信息。例如,下一代DNA测序数据包括以百万甚至十亿的一百倍来计的读数。
此外,本文所描述的方法显著提高了基因组存储系统的速度和功能。例如,通过实施本文所描述的方法,基因组存储系统包括信息元数据结构,所述信息元数据结构包括:(i)关于文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)详细说明源数据集和用于产生基因组数据集的一个或多个处理步骤的分析信息,其中,分析信息被配置为便于数据再现性的验证;(iii)对基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(iv)定义注释表与一个或多个数据对象之间的关系的链接信息,其中,链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询。现有技术的系统不能提供这种功能,因此是较差的系统。因此,本文所描述的方法显著提高了基因组存储系统的速度和功能。
本文中所定义和使用的所有定义应当理解为控制字典定义、通过引用合并的文档中的定义和/或所定义术语的普通含义。
除非明确指示为相反,在本文中在说明书和权利要求书中使用的不定冠词“一”和“一个”应当理解为“至少一个”。
在本文中在说明书和权利要求书中使用的短语“和/或”应当理解为如此结合的元素中的“一个或两个”,即在某些情况下结合地存在,在其他情况下分离地存在的元素。用“和/或”列出的多个元素应当以相同的方式进行解释,“一个或多个”这样结合的元素。除了由“和/或”条款具体标识的元素之外,可以可选地存在其他元素,无论这些元素与具体标识的那些元素相关还是无关。
如在本文中说明书和权利要求书中所使用的,“或”应当理解为与上文定义的“和/或”具有相同的含义。例如,当分隔列表中的项目时,“或”或“和/或”应当解释为具有包容性,即包括至少一个,但也包括一个以上的元素的数量或列表,以及可选的包括其他未列出的项目。只有明确指示为相反的术语,如“仅一个”或“恰好一个”,或者当在权利要求中使用“”“由…组成”时,才会指包含元素数量或元素列表中的恰好一个元素。总体上,本文中所使用的术语“或”仅应解释为当在前面加上排他性术语(如“任一”、“其中一个”、“仅一个”或“恰好一个”)时表示排他性选择(即“一个或另一个,而不是两个”)。
如本文中说明书和权利要求书中所使用的,短语“至少一个”,在对一个或多个元素的列表的参考中,应当理解为意思是,从元素列表中的任何一个或多个元素中选择的至少一个元素,但不一定包括在元素列表内具体列出的每个元素中的至少一个,并且不排除在元素列表中的元素的任何组合。这种定义还允许元素可以可选地存在,而不是短语“至少一个”所指的元素列表内具体标识的元素,无论是与具体标识的那些元素相关还是无关。
还应当理解,除非明确指示为相反的情况,否则包括一个以上步骤或动作的在本文中所要求保护的任何方法中,方法的步骤或动作的顺序不一定限于所叙述的方法的步骤或动作的顺序。
在权利要求以及上述说明书中,所有的过渡性短语,如“包含”、“包括”、“携带”、“具有”、“含有”、“涉及”、“持有”、“由…组成”等,应当理解为开放式的,即,意思是包括但不限于。只有过渡性短语“由……组成”和“本质上由……组成”应当分别为封闭的或半封闭的过渡性短语。
虽然本文已经描述和说明了若干创造性的实施例,但本领域普通技术人员将很容易想到用于执行本文所描述的功能和/或获得结果和/或一个或多个优点的各种其他手段和/或结构,并且这些变体和/或修改中的每一个都被认为在本文所描述的发明实施例的范围内。更一般地,本领域技术人员将容易理解,本文所描述的所有参数、尺寸、材料和配置都是范例性的,并且实际的参数、尺寸、材料和/或配置将取决于使用本发明教导的特定应用。本领域技术人员将认识到,或者仅仅使用常规实验能够确定,与本文所描述的特定发明实施例的许多等效物。因此,应当理解,前述实施例仅通过范例的方式呈现,并且在所附权利要求及其等效物的范围内,除了具体描述和要求保护的实施例之外,可以实践创造性的实施例。本公开的创造性实施例指向本文所描述的每个单独的特征、系统、制品、材料、套件和/或方法。此外,如果这样的特征、系统、制品、材料、套件和/或方法不是相互矛盾的,则两个或多个这样的特征、系统、制品、材料、套件和/或方法的任何组合都包括在本公开的发明范围内。

Claims (15)

1.一种用于将基因组数据存储在包括文件结构的数据结构内的方法(100),所述方法包括:
接收(120)包括不同数据类型的多个字段或属性的基因组数据集;
生成(130)针对所述基因组数据集的信息元数据结构,所述信息元数据结构包括以下中的一个或多个:(i)关于所述文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(ii)详细说明源数据集和用于产生所述基因组数据集的一个或多个处理步骤的分析信息,其中,所述分析信息被配置为便于数据再现性的验证;(iii)针对所述基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(iv)定义所述注释表与一个或多个数据对象之间的关系的链接信息,其中,所述链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询;
使用一个或多个压缩算法压缩(140)所述基因组数据和所述信息元数据,以生成经压缩的基因组数据集和经压缩的信息元数据;并且
将所述经压缩的基因组数据集和所述经压缩的信息元数据存储(150)在容器数据结构中;
其中,所述注释表中的一些或全部被加密。
2.根据权利要求1所述的方法,还包括以下步骤:
接收(160)针对所述注释表的新数据;并且
更新(170)所述注释表,包括更新所述信息元数据和所述基因组数据中的一个或两个。
3.根据权利要求1所述的方法,其中,(i)至(iv)中的一个或多个包括选择性的加密和数字签名。
4.根据权利要求1所述的方法,其中,针对所述基因组数据集的所述访问历史被配置为跟踪由一个或多个用户对所述基因组数据的访问和/或更改,并且其中,所跟踪的访问或更改是预定义的。
5.根据权利要求4所述的方法,其中,所述访问历史还包括访问所述基因组数据和/或对所述基因数据进行更改的用户的身份,并且其中,所述访问历史可选地包括附带的所述用户的数字签名。
6.根据权利要求1所述的方法,其中,所述一个或多个用户配置文件包括用于呈现和/或进一步处理的一个或多个参数,所述进一步处理例如对所述基因组数据的过滤、排序、和/或高亮显示。
7.根据权利要求1所述的方法,其中,所述一个或多个用户配置文件能够由用户创建,为了保密而加密,为了真实性而签名,和/或与另一个指定的用户共享。
8.根据权利要求1所述的方法,其中,所述分析信息包括用于通过评估所述基因组数据集与正在验证的现有对应基因组数据集的一致性来验证数据再现性的指令。
9.根据权利要求1所述的方法,其中,所述分析信息还包括一个或多个验证结果,所述验证结果具有执行所述验证的用户的可选的数字签名。
10.根据权利要求1所述的方法,其中,所述链接信息包括用于在一个或多个注释表之间映射数据的一个或多个规范。
11.根据权利要求1所述的方法,还包括使用(i)所述分析信息和(ii)所述访问历史的真实性和/或完整性中的一个或多个来验证数据再现性。
12.一种用于将基因组数据存储在包括文件结构的数据结构内的系统(200),所述系统包括:
基因组数据集,其包括不同数据类型的多个字段或属性;
容器数据结构(260),其被配置为存储经压缩的基因组数据和经压缩的信息元数据;
数据压缩算法(263);以及
处理器(220),其被配置为:(i)生成针对所述基因组数据集的信息元数据结构,所述信息元数据结构包括以下中的一个或多个:(1)关于所述文件结构内的注释表的信息,包括一个或多个用户配置文件和相关联的配置文件许可;(2)详细说明源数据集和用于产生所述基因组数据集的一个或多个处理步骤的分析信息,其中,所述分析信息被配置为便于数据再现性的验证;(3)针对所述基因组数据集的访问历史,其被配置为便于数据可追溯性;以及(4)定义所述注释表与一个或多个数据对象之间的关系的链接信息,其中,所述链接信息被配置为增强数据导航和/或支持跨链接数据的数据查询;(ii)使用所述数据压缩算法压缩所述基因组数据和所述信息元数据,以生成经压缩的基因组数据集和经压缩的信息元数据;以及(iii)将所述经压缩的基因组数据集和所述经压缩的信息元数据存储在容器数据结构中;
其中,所述注释表中的一些或全部被加密。
13.根据权利要求12所述的系统,其中,所述处理器还被配置为:接收针对所述注释表的新数据;并且,利用所述新数据更新所述注释表,包括更新所述信息元数据和所述基因组数据中的一个或两个。
14.根据权利要求12所述的系统,其中,所述分析信息包括用于通过评估所述基因组数据集与正在验证的现有对应基因组数据集的一致性来验证数据再现性的指令。
15.根据权利要求12所述的系统,其中,所述链接信息包括用于在一个或多个注释表之间映射数据的一个或多个规范。
CN202180068511.5A 2020-10-06 2021-10-04 用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和系统 Pending CN116438603A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063088055P 2020-10-06 2020-10-06
US63/088,055 2020-10-06
PCT/EP2021/077298 WO2022073931A1 (en) 2020-10-06 2021-10-04 Methods and systems for storing genomic data in a file structure comprising an information metadata structure

Publications (1)

Publication Number Publication Date
CN116438603A true CN116438603A (zh) 2023-07-14

Family

ID=78080323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180068511.5A Pending CN116438603A (zh) 2020-10-06 2021-10-04 用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和系统

Country Status (9)

Country Link
US (1) US20230377692A1 (zh)
EP (1) EP4226382A1 (zh)
JP (1) JP2023543926A (zh)
KR (1) KR20230079217A (zh)
CN (1) CN116438603A (zh)
AU (1) AU2021357587A1 (zh)
BR (1) BR112023006194A2 (zh)
IL (1) IL301905A (zh)
WO (1) WO2022073931A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240017230A1 (en) 2022-07-18 2024-01-18 Doosan Enerbility Co., Ltd. Combined reformer

Also Published As

Publication number Publication date
KR20230079217A (ko) 2023-06-05
EP4226382A1 (en) 2023-08-16
BR112023006194A2 (pt) 2023-05-09
US20230377692A1 (en) 2023-11-23
WO2022073931A1 (en) 2022-04-14
IL301905A (en) 2023-06-01
JP2023543926A (ja) 2023-10-18
AU2021357587A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US11928596B2 (en) Platform management of integrated access of public and privately-accessible datasets utilizing federated query generation and query schema rewriting optimization
US7792793B2 (en) Data export/import from multiple data source to a destination data repository using corresponding data exporters and an importer
US8429740B2 (en) Search result presentation
US20140025645A1 (en) Resolving Database Integration Conflicts Using Data Provenance
US8364651B2 (en) Apparatus, system, and method for identifying redundancy and consolidation opportunities in databases and application systems
US20180144061A1 (en) Edge store designs for graph databases
CN110955661A (zh) 数据融合方法、装置、可读存储介质及电子设备
US11916576B2 (en) System and method for effective compression, representation and decompression of diverse tabulated data
CN116438603A (zh) 用于将基因组数据存储在包括信息元数据结构的文件结构中的方法和系统
CN108763341B (zh) 电子装置、自动化建表方法及存储介质
US7761461B2 (en) Method and system for relationship building from XML
CN110704635B (zh) 一种知识图谱中三元组数据的转换方法及装置
US10942917B2 (en) System and method to maintain referential integrity while masking/migrating data in flat files
Kvet et al. Data block and tuple identification using master index
Liu et al. Jointly integrating VCF-based variants and OWL-based biomedical ontologies in MongoDB
US11573943B2 (en) System and method for data reconciliation
CN107861956B (zh) 一种卡口过车数据记录的查询方法及装置
CN116881262B (zh) 一种智能化的多格式数字身份映射方法及系统
US7257591B2 (en) Method of referencing data via edge definition
US11495337B1 (en) Computing system for full textual search of a patient record
US20240178860A1 (en) System and method for effective compression representation and decompression of diverse tabulated data
Ferreira Database Preservation Toolkit: A relational database conversion and normalization tool
Ray et al. The PACRAT system: an extensible WWW-based system for correlated sequence retrieval, storage and analysis
Freeman et al. Creating a User Store
JP2023533453A (ja) データ抽出のためのマルチステージデータスニッファ

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination