WO2023080571A1 - 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법 - Google Patents

타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법 Download PDF

Info

Publication number
WO2023080571A1
WO2023080571A1 PCT/KR2022/016787 KR2022016787W WO2023080571A1 WO 2023080571 A1 WO2023080571 A1 WO 2023080571A1 KR 2022016787 W KR2022016787 W KR 2022016787W WO 2023080571 A1 WO2023080571 A1 WO 2023080571A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
layer
sequence identifiers
range
hierarchy
Prior art date
Application number
PCT/KR2022/016787
Other languages
English (en)
French (fr)
Inventor
윤석환
Original Assignee
주식회사 씨젠
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 주식회사 씨젠 filed Critical 주식회사 씨젠
Publication of WO2023080571A1 publication Critical patent/WO2023080571A1/ko

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
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • 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
    • G16B30/10Sequence alignment; Homology search
    • 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
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding

Definitions

  • the present disclosure relates to a method of selecting a sequence identifier for detecting a target analyte, and more particularly, to a method of selecting a sequence identifier specific to a target analyte to detect a target analyte.
  • NGS Next Generation Sequencing
  • sequence search software for a single gene or multiple genes is used to compare whether or not a sequence similar to the sequence exists in the entire range of the biota. method has been commonly used.
  • sequence search technology As the amount of genetic information newly stored in the database rapidly increases, when using this type of sequence search technology, not only does it unnecessarily consume a lot of computing resources, but it also takes a relatively long time for sequence search.
  • existing nucleotide sequences and genetic data structures are evaluated as impossible to search for candidate genes such as diagnostic markers for billions of genetic data included in millions of genome data.
  • Korean Patent Publication No. 2017-0046315 proposes a technology for aligning and comparing the nucleotide sequences of a parent and a parent to known reference sequences in order to search for single nucleotide sequence variations in each parent and parent obtained through next-generation sequencing.
  • the present disclosure has been devised in response to the above-mentioned background art, and aims to search for nucleotide sequences having high sensitivity and high specificity distinguished from other biota within a designated biota in an efficient manner.
  • a method for selecting a sequence identifier for detecting a target analyte performed by a computing device is disclosed. The method,
  • the selecting of the second sequence identifiers may include selecting the first sequence identifiers using the number of genomes to which the first sequence identifiers belong among the first genomes included in the first layer. obtaining a frequency of appearance within the range of the first hierarchy for s; and obtaining an appearance frequency within the range of the second hierarchy for the first sequence identifiers by using the number of genomes to which the first sequence identifiers belong among second genomes included in the second hierarchy. and the step of selecting the third sequence identifiers includes the first sequence identifiers for the second sequence identifiers using the number of genomes to which the second sequence identifiers belong among the first genomes included in the first layer.
  • the obtaining of the frequency of appearance within the range of the second hierarchy for the first sequence identifiers may include the first sequence identifier among second genomes included in the second hierarchy.
  • the method may include obtaining an appearance frequency of the first sequence identifiers within a range in which the genomes are excluded.
  • the step of selecting a third sequence identifier may include obtaining an appearance frequency within a range of the third hierarchy for the second sequence identifiers, in the third hierarchy. Acquiring an appearance frequency of the second sequence identifiers within a range in which the first genomes are excluded from included third genomes or a range in which the second genomes are excluded from among the third genomes.
  • selecting second sequence identifiers may include the first sequence identifiers within a range of a difference set of the first layer to the second layer. Calculating an appearance frequency may be included.
  • the step of selecting a third sequence identifier may include a range of a difference set of the first hierarchy with respect to the third hierarchy or a difference set of the second hierarchy with respect to the third hierarchy. and calculating the frequency of occurrence of the second sequence identifiers within the range.
  • the selecting of the second sequence identifiers may include determining whether an occurrence frequency of each of the first sequence identifiers within the range of the first hierarchy is equal to or greater than a first threshold value and the second sequence identifiers are selected.
  • the method may include selecting sequence identifiers whose frequency of occurrence within the range of the second hierarchy for each of the first sequence identifiers is equal to or less than a second threshold value as the second sequence identifiers.
  • the first threshold value is a minimum reference value for the frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers within the first hierarchy
  • the second threshold value is the second threshold value.
  • the selecting of the second sequence identifiers may include the occurrence frequency of each of the first identifiers within the range of the first hierarchy being equal to or greater than a first threshold value and the first sequence identifiers being selected.
  • the first threshold value or It may include changing at least one of the second threshold values.
  • the method may further include removing a sequence identifier of a specific organism having a predetermined exclusivity from among the selected second sequence identifiers.
  • the predetermined sequence identifier may include a sequence identifier included in a common flora or a housekeeping gene.
  • the step of selecting the third sequence identifier may include the occurrence frequency within the range of the third hierarchy for each of the second sequence identifiers being equal to or less than a third threshold value and the third sequence identifier being selected. and selecting a sequence identifier having an occurrence frequency of each of the two sequence identifiers within the range of the first hierarchy equal to or greater than a fourth threshold value as the third sequence identifier.
  • the third threshold is a maximum reference value for the frequency of occurrence within the range of the third layer for each of the second sequence identifiers
  • the fourth threshold is the maximum reference value for each of the second sequence identifiers. This is the minimum reference value for the frequency of occurrence within the range of the first layer.
  • the step of removing the sequence identifier of a specific organism whose exclusivity is predetermined among the selected third sequence identifiers may be further included.
  • the predetermined sequence identifier may include a sequence identifier included in a common flora or a housekeeping gene.
  • the step of selecting the third sequence identifier may further consider the frequency of occurrence within the range of the second hierarchy for each of the second sequence identifiers, and select the second sequence identifier. It may include selecting the third sequence identifier for detecting the target analyte from among them.
  • the step of selecting the third sequence identifier may include a frequency of occurrence within the range of the third layer for each of the second sequence identifiers, each of the second sequence identifiers.
  • a score for each of the second sequence identifiers based on a frequency of occurrence within the range of the first hierarchy for and a frequency of occurrence within the range of the second hierarchy for each of the second sequence identifiers and selecting the third sequence identifier from among the second sequence identifiers by calculating.
  • a higher score may be calculated as the magnitude of the frequency is smaller, and a higher score may be calculated as the magnitude of the occurrence frequency within the range of the second hierarchy for each of the second sequence identifiers is smaller.
  • Fin is the number of genomes within the range of the first layer for the sequence identifier for which the score value is calculated among the second sequence identifiers
  • Gin is the number of genomes included in the first layer
  • Gtotal is the number of genomes included in the third layer
  • Fexp is the number of genomes within the range of the second layer for the sequence identifier to be calculated for the score value among the second sequence identifiers
  • Fext is the number of genomes in the second layer.
  • the number within the range of the third layer for the sequence identifier for which the score value is to be calculated, and Gexp is a genome included within the range of the difference set of the first layer with respect to the second layer is the number of dielectrics, and Gext is the number of dielectrics included in a range of the difference set of the first layer with respect to the third layer or a range of the difference set of the second layer with respect to the third layer.
  • the hierarchical structure may be a biological system structure in which an upper layer encompasses a lower layer.
  • the second layer may be an immediately higher hierarchical position of the first layer in which the number of included dielectrics exceeds a critical number.
  • the third layer may be a top layer on the hierarchical structure.
  • the third sequence identifier may be a candidate sequence identifier to be considered as a sequence identifier specific to the target analyte.
  • the frequency of occurrence within the range of the first hierarchy for the first sequence identifiers is determined by which source of the genomes within the range of the first hierarchy of the plurality of first sequence identifiers. It can be obtained from a first data structure indicating whether it belongs to a genome (source genome).
  • the frequency of occurrence within the range of the second hierarchy for the first sequence identifiers is determined by which source of the genomes within the range of the plurality of first hierarchy. It can be obtained from a second data structure indicating whether it belongs to a genome.
  • a computer program stored on a computer readable medium When the computer program is executed by one or more processors, it may include instructions for causing the one or more processors to perform the following steps.
  • the method may include: acquiring a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure; for the first sequence identifiers, based at least in part on a frequency of occurrence within the scope of the first hierarchy and a frequency of occurrence within the scope of a second hierarchy higher than the first hierarchy, the first sequence selecting second sequence identifiers from among the identifiers; and based, for the second sequence identifiers, at least in part on a frequency of occurrence within the scope of the first layer and a frequency of occurrence within the scope of a third layer higher than the second layer, Selecting a third sequence identifier for detecting the target analyte from among sequence identifiers may
  • a computing device for selecting a sequence identifier may include a memory and a processor.
  • the processor obtains a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure; for the first sequence identifiers, based at least in part on a frequency of occurrence within the scope of the first hierarchy and a frequency of occurrence within the scope of a second hierarchy higher than the first hierarchy, the first sequence select second sequence identifiers from among the identifiers; and for the second sequence identifiers, based at least in part on a frequency of occurrence within the scope of the first layer and a frequency of occurrence within the scope of a third layer higher than the second layer, Among sequence identifiers, a third sequence identifier for detecting the target analyte may be selected.
  • a method for selecting a sequence identifier for detecting a target analyte performed by a computing device includes obtaining a plurality of first sequence identifiers included in a first hierarchy in which a target analyte is located on a classification system of organisms having a hierarchical structure; Within the range of the first hierarchy for the first sequence identifiers, using a first data structure indicating which of the genomes within the range of the first hierarchy belong to the plurality of first sequence identifiers.
  • the second data structure for the first sequence identifiers using a second data structure indicating which source genome among genomes within a range of a second hierarchy higher than the first hierarchy belongs to the plurality of first sequence identifiers. obtaining a frequency of occurrence within the range of the hierarchy; and, for the first sequence identifiers, select the target analyte from among the first sequence identifiers, based at least in part on the frequency of occurrence within the range of the first hierarchy and the frequency of occurrence within the range of the second hierarchy. Selecting second sequence identifiers for detection.
  • the plurality of first sequence identifiers correspond to a key, and sequence identifiers corresponding to the key within the range of the first hierarchy belong.
  • a dielectric may correspond to a value.
  • the plurality of first sequence identifiers correspond to a key, and sequence identifiers corresponding to the key within the scope of the second hierarchy belong.
  • a dielectric may correspond to a value.
  • the first data structure and the second data structure are data structures in which inverted-indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes.
  • the data structure to which the reverse indexing is applied is a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes and a data structure in which a plurality of genomes are mapped to each of a plurality of sequence identifiers. may be inverted to
  • the first data structure is generated from a plurality of tokens for the plurality of first sequence identifiers listed as belonging to each genome within the scope of the first hierarchy, wherein one The sequence identifier of may correspond to one token.
  • the second data structure is generated from a plurality of tokens for the plurality of first sequence identifiers listed as belonging to each genome within the scope of the second hierarchy, wherein one The sequence identifier of may correspond to one token.
  • the token is a token based on a method of using a space or comma existing between the plurality of first sequence identifiers listed above as a stopword can get angry
  • the second data structure may include data within a range of a difference set of the first layer to the second layer.
  • At least one of the plurality of first sequence identifiers may be at least a portion of a genic region and/or at least a portion of an intergenic region.
  • the selecting of the second sequence identifiers may include determining whether an occurrence frequency of each of the first sequence identifiers within the range of the first hierarchy is equal to or greater than a first threshold value and the second sequence identifiers are selected.
  • the selecting of the second sequence identifiers may include determining whether an occurrence frequency of each of the first sequence identifiers within the range of the first hierarchy is equal to or greater than a first threshold value and the second sequence identifiers are selected.
  • the first threshold A value or step of changing at least one of the second threshold value may include.
  • the method may further include removing a sequence identifier of a specific organism having a predetermined exclusivity among the selected second sequence identifiers.
  • the sequence identifier of the predetermined specific organism may include a sequence identifier included in a common flora or a housekeeping gene.
  • the method determines, for the second sequence identifiers, a frequency of occurrence within the range of the first layer and a range of the third layer, which is a higher layer than the second layer.
  • the method may further include selecting a third sequence identifier for detecting the target analyte from among the second sequence identifiers based at least in part on the frequency of occurrence.
  • a method of generating a data structure for detecting a target analyte performed by a computing device includes data in which a plurality of sequence identifiers are mapped to each of a plurality of genomes included in a first hierarchy in which a target analyte is located on a classification system of organisms having a hierarchical structure.
  • a computing device for selecting a sequence identifier for detecting a target analyte.
  • the computer device may include a memory; And a processor; and the processor: obtains a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure; Within the range of the first hierarchy for the first sequence identifiers, using a first data structure indicating which of the genomes within the range of the first hierarchy belong to the plurality of first sequence identifiers.
  • Second sequence identifiers for detecting the target analyte may be selected from among the first sequence identifiers based at least in part on the frequency of occurrence of .
  • the effect of being able to efficiently search for a nucleotide sequence having high sensitivity and high specificity distinguished from other biomes within a designated biogroup can be achieved.
  • FIG. 1 schematically illustrates a block configuration diagram of a computing device according to an embodiment of the present disclosure.
  • FIG. 2 schematically illustrates a block configuration diagram of a system according to an embodiment of the present disclosure.
  • FIG. 3 exemplarily illustrates a conceptual diagram of a process of selecting a sequence identifier according to an embodiment of the present disclosure.
  • FIG. 4 illustratively illustrates hierarchies used to select sequence identifiers in a taxonomy of organisms having a hierarchical structure according to an embodiment of the present disclosure.
  • FIG. 5 illustrates an example data structure used to compute the frequency of occurrence of sequence identifiers taking into account the first layer and the second layer, according to one embodiment of the present disclosure.
  • FIG. 6 illustrates an example data structure used to compute the frequency of occurrence of sequence identifiers taking into account first and third hierarchies according to one embodiment of the present disclosure.
  • FIG. 7 is a flow chart exemplarily illustrating a method for selecting candidate sequence identifiers specific for a target analyte, according to one embodiment of the present disclosure.
  • FIG. 8 is a flow chart exemplarily illustrating a method for selecting a target sequence identifier specific for a target analyte according to an embodiment of the present disclosure.
  • FIG. 9 is a flowchart exemplarily illustrating a method for selecting a candidate sequence identifier specific for a target analyte according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart exemplarily illustrating a method of generating an index data structure for searching sequence identifiers according to an embodiment of the present disclosure.
  • FIG. 11 is a flowchart exemplarily illustrating a method of filtering sequence identifiers using an index data structure according to an embodiment of the present disclosure.
  • FIG. 12 illustrates an exemplary index data structure according to one embodiment of the present disclosure.
  • FIG. 13 illustratively illustrates a conceptual diagram of performing a full-text search according to an embodiment of the present disclosure.
  • 16 is a schematic diagram of a computing environment according to one embodiment of the present disclosure.
  • a component may be, but is not limited to, a procedure, processor, object, thread of execution, program, and/or computer running on a processor.
  • an application running on a computing device and a computing device may be components.
  • One or more components may reside within a processor and/or thread of execution.
  • a component can be localized within a single computer.
  • a component may be distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon.
  • Components may be connected, for example, via signals with one or more packets of data (e.g., data and/or signals from one component interacting with another component in a local system, distributed system) to other systems and over a network such as the Internet. data being transmitted) may communicate via local and/or remote processes.
  • packets of data e.g., data and/or signals from one component interacting with another component in a local system, distributed system
  • a network such as the Internet. data being transmitted
  • the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless otherwise specified or clear from the context, “X employs A or B” is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses either A or B" may apply to either of these cases. Also, the term “and/or” as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.
  • FIG. 1 schematically illustrates a block configuration diagram of a computing device 100 according to one embodiment of the present disclosure.
  • a computing device 100 may include a processor 110 , a memory 130 , and a network unit 150 .
  • the configuration of the computing device 100 shown in FIG. 1 is only a simplified example.
  • the computing device 100 may include other components for performing a computing environment of the computing device 100, and only some of the disclosed components may constitute the computing device 100.
  • the computing device 100 in the present disclosure may refer to a node constituting a system for implementing embodiments of the present disclosure.
  • the computing device 100 may refer to any type of user terminal or any type of server.
  • Components of the aforementioned computing device 100 are exemplary and some may be excluded or additional components may be included.
  • an output unit (not shown) and an input unit (not shown) may be included within its scope.
  • the computing device 100 in the present disclosure may perform technical features according to embodiments of the present disclosure to be described later.
  • Computing device 100 may perform processes for organizing an index structure.
  • Computing device 100 may perform processes for selecting a sequence identifier.
  • the computing device 100 may obtain a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure.
  • Computing device 100 for each of the first sequence identifiers, based at least in part on the frequency of occurrence within the scope of the first layer and the frequency of occurrence within the scope of the second layer, which is a higher layer than the first layer, Second sequence identifiers may be selected from among the first sequence identifiers.
  • a third sequence identifier related to the target analyte may be selected.
  • a “target analyte” may include any form of organism to be analyzed, acquired, or detected.
  • an organism may refer to an organism belonging to one genus, species, subspecies, subtype, genotype, sirotype, strain, isolate or cultivar.
  • Organisms are prokaryotic cells (e.g.
  • Mycoplasma pneumoniae Chlamydophila pneumoniae, Legionella pneumophila, Haemophilus influenzae, Streptococcus pneumoniae, Bordetella pertussis, Bordetella parapertussis, Neisseria meningitidis, Listeria monocytogenes, Streptococcus agalactiae, Campylobacter, Clostridium difficile, Clostridium perfringens, Salmonella, Escher ichia coli, Shigella, Vibrio, Yersinia enterocolitica, Aeromonas, Chlamydia trachomatis, Neisseria gonorrhoeae, Trichomonas vaginalis, Mycoplasma hominis, Mycoplasma genitalium, Ureaplasma urealyticum, Ureaplasma parvum, Mycobacterium tuberculosis, Treponema pallidum, Candida, Mobiluncus, Megasphaera, Lac
  • eukaryotic cells for example, Giardia lamblia, Entamoeba histolytica, Cryptosporidium, Blastocystis hominis, Dientamoeba fragilis, Cyclospora cayetanensis, stercoralis, trichiura, hymenolepis, Necator americanus, Enterobius vermicularis, Taenia spp., Ancylostoma duodenale, Ascaris lumbricoides, Enterocytozoon spp./Encephalitozoon spp.
  • Viruses include, for example, influenza A virus (Flu A) that causes respiratory diseases, influenza B virus (Flu B), respiratory syncytial virus A (RSV A), respiratory syncytial virus B (Respiratory syncytial virus B) virus B: RSV B), Covid-19 virus, parainfluenza virus 1 (PIV 1), parainfluenza virus 2 (PIV 2), parainfluenza virus 3 (PIV 3), parainfluenza virus 4 (PIV 4) ), metapneumovirus (MPV), human enterovirus (HEV), human bocavirus (HBoV), human rhinovirus (HRV), coronavirus and adenovirus, and norovirus that causes gastrointestinal diseases, rotavirus, adenovirus, astrovirus and sapovirus.
  • PAV 1 parainfluenza virus 1
  • PV 2 parainfluenza virus 2
  • PV 3 parainfluenza virus 3
  • PV 4 parainfluenza virus 4
  • the virus is HPV (human papillomavirus), MERS-CoV (Middle East respiratory syndrome-related coronavirus), Dengue virus, HSV (Herpes simplex virus), HHV (Human herpes virus), EMV (Epstein -Barr virus), Varicella zoster virus (VZV), Cytomegalovirus (CMV), HIV, Parvovirus B19, Parechovirus, Mumps, Dengue virus, Chikungunya virus, Zika virus, West Nile virus, hepatitis virus and poliovirus.
  • the target analyte may be GBS serotype, bacterial colony, or v600e.
  • the target analyte in the present disclosure may include various analytes such as bacteria as well as the virus described above, and may be a specific region of a gene cleaved using CRISPR technology.
  • the range for the target analyte is not limited.
  • the "classification system of organisms” in the present disclosure is a classification system for classifying the range to which organisms belong.
  • a classification system expressed as Species, Genus, Family, Order, Class, Phylum, Kingdom, and Domain is present. may be included within the scope of the "classification system of organisms" in the disclosure.
  • a classification system of organisms according to an embodiment of the present disclosure may have a hierarchical structure.
  • the hierarchical structure may refer to a hierarchical structure in which an upper layer encompasses a lower layer, which is a biological systemic structure.
  • the second layer which is an upper layer, may include all components included in the first layer, which is a lower layer.
  • an upper layer relative to a lower layer including components A, B, and C includes at least components A, B, and C, but may further include additional components.
  • sequence identifier refers to an identifier distinctly indicating a certain nucleic acid sequence (eg , DNA sequence and RNA sequence) from any other sequences.
  • the sequence identifier includes an annotated sequence name (eg , gene name).
  • annotated sequence names may include sequence names annotated in a public-accessible sequence database (eg , GenBank, EMBL, DDBJ and GSD).
  • the sequence identifier may include an arbitrarily assigned sequence identifier.
  • sequence identifiers may include sequence identifiers (IDs) which are assigned to all sequence fragments produced by fragmentation of a full genome sequence.
  • the full genome sequence of Chlamydia trachomatis may be fragmented by a sequence fragmentation algorithm to cleave a genome sequence, if necessary cleave and merge, and all sequence fragments thus produced may be assigned with sequence identifiers.
  • sequence fragments include 100 fragments, they may be assigned with SEQID1 to SEQID100.
  • a sequence fragment may be fragmented to the length of a gene. If a gene contains 27,000 sequences, one sequence fragment may be a fragment containing 27,000 sequences.
  • the sequence fragment may be a fragment consisting of one sequence to one hundred million in length.
  • the length of the sequence fragment may be a length that can include a minimum primer pair, the length of the sequence fragment is not limited thereto, and may be implemented with an appropriate length as needed.
  • genome may be used to collectively refer to genetic information possessed by a specific individual (eg, organism). Such a genome may refer to a total base sequence including both genes and non-gene parts. For example, entire genomes belonging to a particular individual may be identified as having a genome ID, and each of these genomes may include one or more sequence identifiers.
  • the computing device 100 may receive index target data including a genome ID and a plurality of sequence identifiers included in a genome corresponding to the genome ID.
  • Computing device 100 may generate a plurality of tokens by tokenizing the plurality of sequence identifiers in the received indexable data.
  • the computing device 100 may generate an index data structure based on the generated plurality of tokens.
  • the processor 110 may include one or more cores, and includes a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of the computing device 100. : tensor processing unit), or a processor for data analysis and/or processing.
  • the processor 110 reads a computer program stored in the memory 130 to perform data processing for selecting a sequence identifier according to an embodiment of the present disclosure and data processing for organizing an index data structure related to the sequence identifier. can
  • the processor 110 may perform an operation for learning a neural network.
  • the processor 110 is used for neural network learning, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating neural network weights using backpropagation. calculations can be performed.
  • At least one of the CPU, GPGPU, and TPU of the processor 110 may process learning of the network function.
  • the CPU and GPGPU can process learning of network functions and data classification using network functions.
  • the learning of a network function and data classification using a network function may be processed by using processors of a plurality of computing devices together.
  • a computer program executed in a computing device may be a CPU, GPGPU or TPU executable program.
  • the memory 130 may store any type of information generated or determined by the processor 120 and any type of information received by the network unit.
  • the memory 130 may refer to any type of storage medium.
  • the memory 130 may be a flash memory type, a hard disk type ), multimedia card micro type, card type memory (eg SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only memory, ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk.
  • the computing device 100 may operate in relation to a web storage that performs a storage function of the memory 130 on the Internet.
  • the description of the above memory is only an example, and the memory 130 used in the present disclosure is not limited to the above example.
  • the network unit 150 in the present disclosure may be configured regardless of its communication mode, such as wired and wireless, and may be configured in various communication networks such as a personal area network (PAN) and a wide area network (WAN). can be configured.
  • the network unit 150 may operate based on the known World Wide Web (WWW), and a wireless transmission technology used for short-range communication such as Infrared Data Association (IrDA) or Bluetooth. can also be used.
  • WWW World Wide Web
  • IrDA Infrared Data Association
  • Bluetooth Bluetooth
  • FIG. 2 schematically illustrates a block configuration diagram of a system according to an embodiment of the present disclosure.
  • a system for implementing embodiments of the present disclosure may include a user terminal 210 and a server 220 .
  • the user terminal 210 and the server 220 may refer to node(s) in a system having a mechanism for communicating through a network.
  • the components for the system shown in FIG. 2 are only examples, and a system composed of a plurality of terminals or a plurality of servers may also be included within the scope of the present disclosure.
  • the user terminal 210 and server 220 in the present disclosure are included within the scope of the computing device 100 described in FIG. 1 .
  • Components shown in FIG. 1 may be included in the user terminal 210 and the server 220, respectively.
  • the user terminal 210 may include any type of terminal capable of interacting with the server 220 .
  • the user terminal 210 includes, for example, a mobile phone, a smart phone, a laptop computer, a personal digital assistant (PDA), a slate PC, a tablet PC, and an ultrabook ( ultrabook).
  • PDA personal digital assistant
  • slate PC slate PC
  • tablet PC tablet PC
  • ultrabook ultrabook
  • Server 220 may perform a process of selecting a sequence identifier and/or a process of creating an index structure according to an embodiment of the present disclosure.
  • Server 220 may include any type of computing system or computing device, such as, for example, microprocessors, mainframe computers, digital processors, portable devices and device controllers, and the like.
  • the server 220 may refer to an entity that stores and manages nucleotide sequence information or genetic information.
  • the server 220 may include a storage unit (not shown) for storing base sequence information, gene information, and/or index information, and the storage unit may be included in the server 220 or exist under the management of the server 220.
  • the storage unit may exist outside the server 220 and be implemented in a form capable of communicating with the server. In this case, the storage unit may be managed and controlled by another external server different from the server 220 .
  • the user terminal 210 for example, a target analyte and / or classification identifier (e.g., Taxonomy ID (TAX ID)) corresponding to the classification name of organisms such as strain type, species, genus, etc. ) to create a query.
  • a target analyte and / or classification identifier e.g., Taxonomy ID (TAX ID)
  • TAX ID Taxonomy ID
  • server 220 may search for and select sequence identifiers that are specific and sensitive to the target analyte and/or classifier.
  • the server 220 may select a sequence identifier that is specific and sensitive to the input TAX ID.
  • the user terminal 210 may generate a query including one or more sequence identifiers to be searched for.
  • the server 220 may select a specific sequence identifier by calculating the number or frequency of genomes to which the sequence identifier belongs.
  • the sequence identifier selected by the server 220 may include a sequence identifier that is specific and sensitive to a target analyte and/or a classification identifier among one or more sequence identifiers included in the query.
  • FIG. 2 shows an embodiment in which a query is transmitted from the user terminal 210 to the server 220, an embodiment in which a sequence identifier is searched for and selected by the user terminal 210 may also be included within the scope of the present disclosure. Points will also be apparent to those skilled in the art.
  • FIG. 3 exemplarily illustrates a conceptual diagram of a process of selecting a sequence identifier according to an embodiment of the present disclosure.
  • server 220 components within server 220 for performing functions of searching for sequence identifiers and selecting sequence identifiers in server 220 , which is an example of computing device 100 , are described.
  • the storage unit 340 may store and manage any information that may be created and obtained according to embodiments of the present disclosure.
  • the storage unit may include a genome DB including annotation information to allow search or analysis of nucleotide sequences.
  • Annotation in the present disclosure may refer to a process of assigning identifiers to base sequences included in each genome.
  • the annotation may include a process of allocating gene IDs to base sequences included in the genome.
  • the storage unit 340 may store an index data structure in which inverted-indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to one genome ID. In this case, since a full text search for each of the sequence identifiers is possible, calculation of the number of genomes to which the sequence identifiers belong may be facilitated.
  • the storage unit 340 may include a database management system (DBMS) and persistent storage.
  • DBMS database management system
  • the DBMS allows the server 220 or the terminal 210 to perform any type of operation of the storage unit, such as searching, inserting, modifying, and/or deleting necessary data, creating an index, and accessing the index.
  • Server 220 may create an index structure according to an embodiment of the present disclosure by accessing and controlling storage 340 and selecting a sequence identifier based on the created index structure. It can support efficient search for
  • the server 220 may receive an input for the target analyte 310 from the terminal 210 .
  • the server 220 may receive an input for the TAX ID 310 from the terminal 210 .
  • the TAX ID may contain Vibrio cholerae.
  • TAX ID is used as an example of input data for convenience of description, but any type of input related to target analytes or sequence identifiers to be searched may be included in the input data 310.
  • the input data 310 may be any type of information associated with a target analyte, such as specific sequence identification information, identification information for a specific organism, identification information for a specific species, and/or specific gene ID information. can include
  • the TAX ID 310 may be an identifier, a scientific name, a nomenclature, or a specifier for a taxonomy.
  • Sequence identifier search module 350 may generate list 320 comprising one or more sequence identifiers corresponding to input data, such as a TAX ID. For example, the sequence identifier search module 350 may obtain sequence identifiers included in reference number 323 in response to the input information of the target analyte. The sequence identifier search module 350 searches for data stored in the storage unit 340 and retrieves sequence identifiers corresponding to the input TAX ID 310 from the storage unit 340 .
  • base sequences corresponding to a gene region as well as between genes Given the base sequences corresponding to the region, sequence identifiers can be grouped and identified.
  • the sequence identifier may be at least a portion of a genic region, and/or at least a portion of an intergenic region.
  • An inter-genomic region can be any region within the genome that is not a genetic region.
  • the region between genes may be misc, repeat, assembly_gap, centromere, gap, and telomere, excluding gene, among genome information stored in GenBank of the National Center for Biotechnology Information (NCBI).
  • NCBI National Center for Biotechnology Information
  • inter-gene region refers to a region that can be collected using a feature key among genome information.
  • misc_features may correspond to gene regions. It should be noted that these contents do not limit the scope of rights of the inter-gene region term.
  • the novel base sequence identification system includes three sequence identifiers (sequence identifier 1, sequence identifier 2, and sequence identifier 3) so that base sequences do not overlap with each other. (323) can be formed. Therefore, since more unique IDs can be assigned to sequence identifiers according to an embodiment of the present disclosure, more accurate results can be derived in gene analysis and base sequence search.
  • the storage unit 340 may store sequence identifiers in the form of sequence identifiers to which a novel annotation method shown at reference number 323 is applied. These sequence identifiers may be stored while having association with the TAX ID and genome information corresponding to the TAX ID. Accordingly, the sequence identifier search module 350 may output sequence identifiers included in the target analyte 310 in response to an input of the target analyte 310 including the TAX ID.
  • FIG. 3 a novel method of annotating sequence identifiers is exemplarily described, but this corresponds to one exemplary embodiment, and according to the design, inter-gene regions are not considered and base sequences are grouped based on gene ID. Modes may also be included within the scope of this disclosure.
  • the sequence identifier selection module 360 uses the sequence identifiers 320 output by the sequence identifier search module 350 as input to sequence identifiers associated with the target analyte 310 ( 330) can be selected.
  • the sequence identifier selection module 360 uses a classification system of organisms related to the target analyte 310, and a sequence specific to the target analyte 310 among the sequence identifiers 320 included in the target analyte 310.
  • An identifier 330 may be selected.
  • the sequence identifier selection module 360 utilizes the first layer where the target analyte 310 is located, the second layer which is an upper layer of the first layer, and the third layer which is an upper layer of the second layer, 310) can be selected.
  • the sequence identifier selection module 360 can quickly select a gene or sequence pattern (sequence identifier) that is highly sensitive to the biogroup to which the target analyte 310 belongs and distinguished from other biogroups.
  • a sequence identifier search module 350 for obtaining sequence identifiers included in the target analyte 310 and a sequence identifier selection module for selecting a sequence identifier specific to the target analyte 310 among the obtained sequence identifiers ( 360) is shown separately, but a structure and process in which one integrated module receives an input of the target analyte 310 and outputs a sequence identifier 330 specific to the target analyte 310 may also be possible, depending on the design.
  • the storage unit 340 is illustrated as one entity in FIG. 3, it is divided into a first storage unit that interacts with the sequence identifier search module 350 and a second storage unit that interacts with the sequence identifier selection module 360. Combinations of storage units in the form of storage units may also be included within the scope of storage unit 340 of FIG. 3 .
  • FIG. 4 illustratively illustrates hierarchies used to select sequence identifiers in a taxonomy of organisms having a hierarchical structure according to an embodiment of the present disclosure.
  • FIG. 4 a method for selecting a sequence identifier according to an embodiment of the present disclosure will be described taking Vibrio cholera species as an example of a target analyte.
  • class refers to a classification on a taxonomy of organisms.
  • the N-th layer is used to indicate a layer according to classification in the taxonomy of organisms, and N is a natural number.
  • the larger the value of N the higher the layer.
  • the classification system of organisms may be defined as species, genus, family, order, class, phylum, kingdom, and/or reverse.
  • a first layer 410, a second layer 420, and a third layer corresponding to any one of species, genus, family, order, class, phylum, kingdom, and / or reverse of the classification system of organisms ( 430) may exist.
  • the first layer 410, the second layer 420, and the third layer 430 mean positions of layers, respectively.
  • the second layer 420 refers to a layer positioned higher than the first layer 410
  • the third layer 430 refers to a layer positioned higher than the second layer 420 .
  • the Nth layer may include lower layers of the Nth layer in the biological classification system. That is, in the biological classification system, the upper layer has a hierarchical structure that encompasses the lower layer.
  • the second layer 420 includes the first layer as an upper layer of the first layer
  • the third layer includes the first layer 410 as an upper layer of the first layer 410 and the second layer 420. ) and the second layer 420.
  • the first layer 410 may be a layer corresponding to a species
  • the second layer 420 may be a layer corresponding to a genus
  • the third layer 420 may be a layer corresponding to a genus.
  • the layer 430 may be a layer corresponding to a domain or a kingdom.
  • the first layer 410 may be defined by the layer where the target analyte is located
  • the second layer 420 is the uppermost layer located closest to the first layer 410 among the upper layers of the first layer 410. It can be defined as a hierarchy
  • the third hierarchy 430 can be defined as the highest hierarchy in the classification system of organisms. This layer may be defined differently for each embodiment.
  • a hierarchy is defined by the name of the target analyte (taxonomy ID).
  • the target analyte is Vibrio cholerae
  • the computing device 100 designates a hierarchy to which Vibrio cholera belongs as “Vibrio cholerae spp.” can decide The computing device 100 may determine a layer corresponding to Vibrio species 1 as the first layer 410 . For example, when the first layer is "species", species other than Vibrio cholera species do not correspond to the first layer.
  • the first layer may mean a taxonomy of organisms excluding other "species" among all organisms, such as Neisseria gonorrhoeae and Escherichia coli, which are completely different from Vibrio cholerae. . That is, the first layer 410 may refer to a specific layer within a classification system of organisms in which a target analyte is located.
  • a layer may be defined by a name (taxonomy ID) of a target analyte.
  • taxonomy ID a name of a target analyte.
  • computing device 100 may determine a hierarchy as "species of all organisms.” .
  • the first layer is "species", among all biological classification systems, such as Neisseria gonorrhoeae and Escherichia coli, which are completely different from Vibrio cholerae, as well as Vibrio cholera species, "species""It may mean all species corresponding to
  • the second layer and the third layer which will be described later, may mean all layers at an equal position in the classification system of organisms. That is, the first layer 410 may refer to a general layer within a classification system of organisms in which a target analyte is located.
  • the first layer 410 will be described as meaning a specific layer within a classification system of organisms in which a target analyte is located.
  • the first layer may correspond to the Vibrio cholera species (or include the lower layer if a lower layer exists). At this time, it is assumed that Vibrio cholerae corresponds to one of a plurality of Vibrio species belonging to the Vibrio genus.
  • the second layer may correspond to the genus Vibrio, which is a higher layer than the first layer.
  • the second layer may include a lower layer (eg, the first layer) belonging to the genus Vibrio.
  • the second layer may include all species included in the genus Vibrio (eg, Vibrio adaptatus species, Vibrio cholerae species , Vibrio vulnificus species, etc.).
  • the third layer may correspond to the bacterial kingdom, which is a higher layer than the second layer.
  • the third tier may include sub-tiers belonging to the kingdom Bacteria (eg, all phyla, all classes, all orders, all families, all genera, and all species within the kingdom Bacteria).
  • the first layer, the second layer, and the third layer may be terms encompassing lower layers of the corresponding layer.
  • the first hierarchy when the first hierarchy is a species, the first hierarchy may be a term encompassing subspecies belonging to the species of the first hierarchy, and if the second hierarchy is a genus, the second hierarchy is It may be a term encompassing species belonging to the second hierarchy.
  • the third layer when the third layer is a kingdom, the third layer may be a term encompassing phylums or divisions belonging to the third layer.
  • the first layer, the second layer, and the third layer may be terms encompassing lower layers included in the corresponding layer and, in addition, other layers having the same height as the corresponding layer. That is, the first layer may be a term encompassing all lower layers included in the first layer and other layers located at the same height in the biological classification system.
  • the N layer can be described as a concept that includes a layer in a horizontal relationship with the N layer, and in the above-described embodiment, the N layer is described as a concept that excludes a layer in a horizontal relationship with the N layer. It can be.
  • the first hierarchy when the first hierarchy is a species, the first hierarchy includes subspecies included in the species of the first hierarchy and, in addition, the genus to which the first hierarchy belongs in the biological classification system. It can be an umbrella term for other species.
  • the second class when the second class is a genus, the second class includes the species included in the genus of the second class and, in addition, other genera included in the family to which the second class belongs in the biological classification system. ) may be a term covering them.
  • the third layer When the third layer is a kingdom, the third layer includes phylums or divisions included in the family of the third layer and, in addition, other domains included in the third layer in the biological classification system. It can be a term encompassing kingdoms.
  • the first layer is a term encompassing lower layers included in the layer
  • the second layer and the third layer have the same height as the lower layer included in the layer and the corresponding layer. It can be a term covering different layers.
  • This embodiment may be described as an embodiment in which the above-described embodiment and the contents described in other embodiments are combined.
  • the first layer and the second layer are terms encompassing lower layers included in the corresponding layer
  • the third layer is a lower layer included in the corresponding layer and has the same height as the corresponding layer. It can be a term covering different layers.
  • This embodiment may be described as an embodiment in which the above-described embodiment and the contents described in other embodiments are combined.
  • the second layer in the first embodiment of the present disclosure is an upper layer of the first layer, and the third layer may be the uppermost layer according to embodiments.
  • the second layer may be a layer corresponding to an immediately higher hierarchical position of the first layer in the hierarchical structure, and the third layer may be a next higher layer or the highest layer in the hierarchical structure.
  • the second layer in the second embodiment of the present disclosure is an upper layer of the first layer, and the second layer may be the uppermost layer according to embodiments.
  • the second layer may be a layer corresponding to an immediately higher hierarchical position of the first layer in the hierarchical structure, a second higher layer, or a top layer.
  • the computing device 100 may obtain sequence identifiers included in genomes belonging to the first layer 410 .
  • the computing device 100 may obtain sequence identifiers included in genomes of Vibrio cholerae corresponding to the first layer 410 .
  • Data on a sequence identifier identifying base sequences possessed by each genome within the genomes included in the first layer 410 may be obtained.
  • Each genome may include sequence identifiers that identify one or more base sequences.
  • genome 1 may include an A sequence identifier having a pattern of AAGGCTTT, a B sequence identifier having a pattern of GCTTAAACC, and a C sequence identifier having a pattern of CCTCCTATTTTTCCAA.
  • Genome 2 may include an A sequence identifier and a D sequence identifier with the pattern CAAATGGCTGCCCA.
  • each sequence identifier may correspond to one or more genomes.
  • a sequence identifiers can be included in genome 1, genome 2 and genome 3
  • B sequence identifiers can be included in genome 1, genome 3, genome 4 and genome 5.
  • the computing device 100 may calculate the number of genomes of the first layer 410 to which each of the sequence identifiers included in the genomes of the first layer 410 belongs. For example, identifier A belongs to a total of 100 of the 100 genomes in the first layer 410, identifier B belongs to a total of 97 of the 100 genomes in the first layer 410, and C The identifier may belong to a total of 65 of 100 dielectrics in the first layer 410 . In this way, the computing device 100 filters the sequence identifiers included in the genomes included in the first layer 410 according to the result of the calculation, thereby generating sequence identifiers filtered in the genomes included in the first layer 410. can select them. For example, the sequence identifiers filtered within the genomes included in the first layer 410 may refer to a list of sequence identifiers that are highly likely to exist in the genomes included in the first layer 410 .
  • “extent of layer” may be used to indicate the extent of dielectrics located in the layer.
  • the “range of a layer” may mean a list (list) of all genomes belonging to a corresponding layer or a lower layer included in the layer. As described above, since a layer is defined by the name of the target analyte, the range of the layer is also defined by the name of the target analyte.
  • the first layer is a Vibrio cholerae species.
  • the range of the first layer may mean a list (list) of genomes (or organisms) belonging to the Vibrio cholera species.
  • the dielectrics at this time may be a plurality of full-length dielectrics. Variety of genomes may exist in Vibrio cholera species due to polymorphisms or genetic mutations of genes. That is, there are countless individuals in the species of Vibrio cholera, and each individual may be formed with the same genome, or some of the same species may be formed with different genomes.
  • the range of the second layer may mean a list of all genomes included in the genus Vibrio. Specifically, the range of the second layer may mean all genomes included in all Vibrio species (eg, Vibrio cholerae species, Vibrio adaptatus species, Vibrio vulnificus species, etc.) belonging to the genus Vibrio.
  • Vibrio species eg, Vibrio cholerae species, Vibrio adaptatus species, Vibrio vulnificus species, etc.
  • the range of the third layer may mean all genomes included in the bacterial kingdom. Specifically, the scope of the third layer may mean genomes included in all species, all genera, all families, all orders, all classes, and all phyla belonging to the bacterial kingdom.
  • the computing device 100 may calculate the number or frequency of each of the sequence identifiers present in the genomes included in the first layer 410 within the range of the first layer 410 .
  • the computing device 100 obtains the frequency of occurrence of the first sequence identifiers within the range of the first layer by using the number of genomes to which the first sequence identifiers belong among the first genomes included in the first layer. can do.
  • the computing device 100 calculates how many genomes each of the first sequence identifiers belongs to among the genomes included in the first layer, and determines the number of genomes of the first layer 410 for the first sequence identifiers. The frequency of appearance within the range can be obtained.
  • Computing device 100 calculates, for each of the sequence identifiers, within the scope of the second layer 420 to which each of the sequence identifiers belongs, in a manner corresponding to the arithmetic method used with respect to the first layer 410.
  • the number of dielectrics can be calculated.
  • the computing device 100 determines the frequency of appearance within the range of the second hierarchy for the first sequence identifiers by using the number of genomes to which the first sequence identifiers belong among second genomes included in the second hierarchy. can be obtained Specifically, the computing device 100 calculates how many genomes each of the first sequence identifiers included in the first layer 420 belongs to among genomes included in the second layer 420, and the first sequence identifiers included in the first layer 420 belong to the first layer 420. The frequency of occurrence within the scope of the second layer 420 for sequence identifiers may be obtained.
  • the computing device 100 obtains occurrence frequencies of the first sequence identifiers within a range in which first genomes included in the first layer are excluded from among second genomes included in the second layer. can That is, the computing device 100 may obtain the frequency of occurrence of the first sequence identifiers within a range excluding the first genomes from among the second genomes. For example, the computing device 100 is within a range of the second layer 420 excluding the range of the first layer 410 to which the first target analyte 310 belongs (a region shaded by 420 in FIG. 4 ). In, it is possible to obtain the frequency of occurrence of the first sequence identifiers.
  • the computing device 100 determines, within the range of the difference between the range of the first layer 410 to which the first target analyte 310 belongs to the range of the second layer 420, the first sequence identifier. It is possible to obtain the frequency of appearance for .
  • the range to which the first genomes included in the first layer 410 are excluded is the range of genomes included in the genomes included in Vibrio excluding the genomes included in Vibrio cholera species. It can mean a list (list).
  • the range in which the first genomes included in the first layer 410 are excluded may mean the difference set of genomes belonging to the Vibrio cholerae species with respect to genomes belonging to the genus Vibrio.
  • the first layer 410 is within the range of the second layer 420.
  • ) may mean a list (list) of a total of 1000 genomes obtained by subtracting 100 from 1100.
  • sequence identifiers within the range of the first layer 410 a number of them are present in genomes included in the first layer 410 and included in the second layer 420. Sequence identifiers that are low in genomes can be selected primarily.
  • the computing device 100 may perform a filtering operation considering both the first layer 410 and the second layer 420 with respect to sequence identifiers included within the range of the first layer 410 .
  • sequence identifiers are filtered considering both the range of the first layer 410 and the range of the second layer 420, it is highly likely to be included in the genomes of Vibrio cholerae, but within the Vibrio genus Vibrio cholerae Sequence identifiers that are unlikely to be included in the genomes of other species except for can be selected.
  • the identifiers selected in this way are named primary filtered identifiers.
  • the computing device 100 may apply a filtering operation (ie, a second filtering operation) considering the range of the third layer 430 to the primary filtered identifiers.
  • the third layer 430 may correspond to a domain belonging to the highest rank or a kingdom belonging to the second rank in the classification system to which the Vibrio cholerae species belongs.
  • the computing device 100 may select identifiers having a large number in the range of the first layer 410 and a small number of identifiers in the range of the third layer 430 among the primary filtered identifiers as secondary filtered identifiers.
  • the number of sequence identifiers included in the first layer 410 may be primarily reduced through primary filtering in consideration of the range of the first layer 410 and the range of the second layer 420 . Furthermore, by applying a second filtering operation that additionally considers the range of the third layer 430 to sequence identifiers whose number is reduced through the first filtering operation, a target among sequence identifiers included in the first layer 410 is applied. One or more sequence identifiers that are likely to be specific to the analyte can finally be selected.
  • An operation related to the first filtering and an operation related to the second filtering may require a level of calculation that can be performed even with the performance of a personal computer.
  • the frequency of occurrence in the biota to which the target analyte belongs and the higher biota is calculated, and sequence identifiers that are not suitable for selection as the target analyte are preemptively selected through the first filtering result. Therefore, the number of sequence identifiers to be searched within the scope of the entire biota can be reduced.
  • the frequency of appearance of all top-level biomes of the biogroup to which the target analyte belongs can be calculated in the second filtering operation step based on the first-filtered sequence identifiers, it is possible to search across the entire range of biota without first filtering.
  • a search result specific to the target analyte can be derived with a small amount of calculation compared to the method performed.
  • sequence identifiers i.e., sequence identifiers specific to the target biota
  • sequence identifiers specific to the target biota that are present in large numbers in the target biota and rarely (or not at all) in biota other than the target biota
  • the total number of genomes possessed by a biological group (ie, Vibrio cholera species) to which the target analyte belongs is 100, and the total number of sequence identifiers included in the 100 genomes is 1,000.
  • the total number of genomes possessed by the upper biota (ie, the genus Vibrio) to which the target analyte belongs is 500, and the total number of sequence identifiers included in the 500 genomes is 5,000.
  • the total number of genomes possessed by the highest biota (i.e., bacterial flora or bacterial kingdom) of the biota to which the target analyte belongs is 10,000, and the total number of sequence identifiers included in the 10,000 genomes is 100,000. do.
  • the first method is a method of selecting a sequence identifier specific to a target biota within the scope of the entire biota.
  • the first method is a method of selecting sequence identifiers possessed by a large number of genomes in the target biota and a small number of genomes in the entire biota.
  • each of the total 1,000 sequence identifiers is selected from any genome among 100 genomes within the range of Vibrio cholera species.
  • the calculation of whether it is included in the s and its frequency is first required. In this calculation, calculation of frequencies belonging to 100 genomes for each of 1,000 sequence identifiers (computation amount of 1,000 X 100) will be performed. Through this, a relatively large number of sequence identifiers can be selected in the target biota.
  • the second method may select a sequence identifier specific to a target biome by sequentially applying a first filtering operation and a second filtering operation.
  • it is first required to calculate whether each of a total of 1,000 sequence identifiers is included in which genome among 100 genomes within the range of Vibrio species 1 and its frequency.
  • a primary filtering technique is used to select sequence identifiers possessed by a large number of genomes in the target biogroup and possessed by a small number of genomes in the upper biota of the target biota.
  • the first filtering technique it is required to calculate whether each of a total of 1,000 sequence identifiers is included in which genome among 500 genomes within the range of the Vibrio genus and the frequency thereof. As an additional embodiment, calculation may be performed on 400 genomes excluding 100 genomes within the range of Vibrio species 1 among 500 genomes within the range of the genus Vibrio.
  • sequence identifiers that have a large number of genomes in the target biogroup and a small number of genomes in the upper biogroup of the target biogroup can be selected.
  • 980 sequence identifiers, which account for 98% of 1,000 sequence identifiers, are excluded through the first filtering operation.
  • calculation may be performed on 9,900 genomes excluding 100 genomes within the range of Vibrio species 1 among 10,000 genomes within the reverse, system, or total range.
  • calculation may be performed on 9,500 genomes excluding 500 genomes within the range of the genus Vibrio among 10,000 genomes within the reverse, system, or total range.
  • the computational Complexity can be greatly reduced. Since one embodiment of the present disclosure can select a sequence identifier specific to a target analyte in an efficient manner, gene analysis in the field of in vitro diagnostics (IVD) (particularly, molecular diagnosis), primer design and / Or the possibility of utilization may increase in comparison between base sequences.
  • IVD in vitro diagnostics
  • primer design and / Or the possibility of utilization may increase in comparison between base sequences.
  • the expression specific in the present disclosure means that it is likely to respond only to a specific biogroup.
  • Figure 5 shows an exemplary data structure used to compute the frequency of occurrence of sequence identifiers taking into account the first and second hierarchies.
  • the storage unit of the computing device may store mapping relationships between genomes and sequence identifiers in an exemplary table structure such as reference numerals 510 and 520 .
  • Sequence ID in this disclosure may be used interchangeably with sequence identifier.
  • a table 510 representing a mapping relationship between genomes and sequence identifiers (ie, first sequence identifiers) within the scope of the first layer is exemplified.
  • the table 510 may include a column 511 representing a list of genomes and a column 512 representing a sequence identifier corresponding to the genome.
  • a list of genomes existing within the range of the first layer may be included in a column corresponding to reference number 511 .
  • a sequence identifier ie, a first sequence identifier included in each of the genomes within the first hierarchical range may be included in a column corresponding to reference number 512 .
  • genome 1 of table 510 may include sequence identifier A, sequence identifier B, sequence identifier C, sequence identifier D, and sequence identifier E.
  • a table 520 representing a mapping relationship between genomes and sequence identifiers (ie, sequence identifiers) within the scope of the second layer is exemplified.
  • the table 520 may include a column 521 representing a list of genomes within the scope of the second layer and a column 522 representing a sequence identifier corresponding to the genome.
  • a list of genomes present within the range of the second layer may be included in a column corresponding to reference number 521 .
  • a sequence identifier included in each of the genomes within the range of the second layer may be included in a column corresponding to reference number 522.
  • genome 101 of table 520 may include sequence identifier D, sequence identifier Y, and sequence identifier U.
  • FIG. 5 it is illustrated that a separate table-type data structure exists for each layer on the classification system of organisms, but this is only an example for convenience of explanation of the present disclosure, and depending on the implementation method or design method, A data structure that manages the entire classification system as one table, a data structure that has multiple tables for one layer, or a graph-type data structure that consists of nodes and edges. Any form of data structure capable of linking between included genomes and sequence identifiers may be possible.
  • dielectrics within the range of the first layer are excluded to represent dielectrics included in the range of the second layer as an example.
  • the list of dielectrics included in column 521 includes all dielectrics included in the second layer (i.e., dielectrics within the range of the first layer). dielectrics not excluded).
  • a table including dielectrics in which dielectrics in the range of the first layer are not excluded from the range of the second layer may be constructed in advance.
  • the computing device may obtain the table 520 by excluding genomes included in the first layer. For example, if the first layer is defined, the computing device may obtain the table 520 excluding the ranges of the first layer from the pre-built table of ranges of the second layer.
  • the computing device may obtain a list of genomes included in the first layer to which the target analyte belongs and a first sequence identifier corresponding to each genome.
  • the computing device may calculate a frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers.
  • the table 530 in FIG. 5 is a data structure for calculating the number of genomes to which each of the first sequence identifiers included in the range of the first layer belongs.
  • the table 530 includes a first column 531 including each sequence identifier belonging to the first hierarchy, a second column 532 showing a list of genomes to which each sequence identifier belongs, and the number of genomes to which each sequence identifier belongs. It may include a third column 533 indicating .
  • the table 530 may refer to an index table to which an inverted-index is applied to the table 510 .
  • the table 530 may mean a pivot table for the table 510 .
  • the table 530 may be a basic table indicating the sequence identifier, genomes within the range of the first layer, and the number of genomes to which the sequence identifier belongs.
  • the computing device may use the table 530 to identify the number of genomes in the first layer to which each sequence identifier included in the first layer belongs.
  • a method of calculating an appearance frequency according to the example of FIG. 5 is exemplarily illustrated. In the example of FIG.
  • sequence identifier annotated as A may be a sequence identifier included in a total of 100 genomes among the genomes belonging to the first layer
  • sequence identifier annotated as B ie, sequence identifier A
  • Sequence identifier B may be a sequence identifier included in a total of 97 genomes among genomes belonging to the first hierarchy
  • a sequence identifier annotated with D ie, sequence identifier D
  • D sequence identifier included in a total of genomes belonging to the first hierarchy.
  • sequence identifier E may be a sequence identifier included in 96 genomes
  • sequence identifier F may be a sequence identifier included in a total of 80 genomes among the genomes belonging to the first hierarchy
  • sequence identifier Z may be a sequence identifier included in a total of 70 genomes among the genomes belonging to the first hierarchy.
  • the computing device may obtain the frequency of occurrence by calculating a ratio of the number of occurrences of a sequence identifier corresponding to a specific sequence identifier to 100, which is the total number of genomes included in the first layer.
  • the sequence identifier annotated as A has a frequency of occurrence of 1.00 out of 100/100
  • the sequence identifier annotated as B has a frequency of occurrence of 0.97 out of 97/100
  • the sequence identifier annotated as D has a frequency of occurrence of 0.97.
  • a sequence identifier annotated with E has a frequency of 0.9 at 90/100
  • a sequence identifier annotated with F has a frequency of 0.8 at 80/100
  • a sequence identifier annotated with Z would have a frequency of occurrence of 0.7 with 70/100.
  • a frequency of occurrence for each of the sequence identifiers within the range of the first layer may be calculated, and the calculated frequency of occurrence may be compared with a first threshold value to obtain a value less than the first threshold value.
  • Sequence identifiers having a frequency of occurrence may be considered to be excluded from the sequence identifier(s) to be finally selected.
  • the first threshold is set to 0.9, E, F, and Z among the sequence identifiers in the example of FIG. 5 may be filtered and/or excluded according to comparison with the first threshold.
  • the first threshold value may mean a minimum reference value of the occurrence frequency of sequence identifiers in the first layer.
  • Sequence identifiers that satisfy the first threshold in the first hierarchy can be considered as sequence identifiers belonging to multiple genomes, and sequence identifiers that do not satisfy the second threshold in the first hierarchy are relatively few. It can be considered as a sequence identifier belonging to the genomes of.
  • the table 540 in FIG. 5 is a data structure for calculating the number of genomes to which each of the sequence identifiers included in the range of the second layer belongs.
  • sequence identifiers included in the first layer and sequence identifiers included in the range of the second layer may be partially different, and in the example of FIG. 5, the sequence identifier K is included in the genomes in the range of the first layer.
  • sequence identifiers included in column 541 of table 540 are sequence identifiers included within the scope of the first layer, or sequence identifiers included within the first layer, depending on aspects of the implementation or application. Implementation in the form of indicating sequence identifiers included in the second layer may also be possible. Also, according to an additional embodiment of the present disclosure, dielectrics included in the column 542 of the table 540 may represent dielectrics included in the second layer including the first layer.
  • a table 540 has a first column 541 including each sequence identifier belonging to the range of the second hierarchy, a second column 541 showing a list of genomes within the range of the second hierarchy to which each sequence identifier belongs.
  • the table 540 may refer to an index table to which an inverse index is applied to the table 520 .
  • the table 540 may mean a pivot table for the table 520 .
  • the table 540 may be a basic table indicating sequence identifiers, genomes, and the number of genomes to which the sequence identifier belongs.
  • the sequence identifier included in the column 541 of the table 540 may mean a sequence identifier included within the scope of the second layer. According to an additional embodiment of the present disclosure, an implementation in which the sequence identifier included in the column 541 of the table 540 indicates the sequence identifier included in the first layer may also be possible.
  • the number of each of the sequence identifiers within the range of the second hierarchy is included in the genomes within the range of the second hierarchy, or Frequencies can be computed.
  • the calculated number (or frequency) may be expressed in the form of a column 543 of the table 540.
  • the computing device may use the table 540 to obtain the number of genomes to which each of the sequence identifiers included in the range of the first layer belongs among the genomes within the range of the second layer.
  • the sequence identifier annotated as A i.e., sequence identifier A
  • the sequence identifier annotated as B may be a sequence identifier included in a total of one of the genomes (eg, genome 108) among the genomes falling within the scope of the second layer
  • the sequence identifier annotated with D ie, the sequence identifier D
  • the sequence identifier annotated with E ie, the sequence identifier E
  • the sequence identifier E may be genomes falling within the scope of the
  • sequence identifier F may be a sequence identifier included in a total of 8 genomes among genomes
  • sequence identifier F may be a sequence identifier included in a total of 6 genomes among genomes within the scope of the second layer
  • sequence identifier K may be a sequence identifier included in the second layer may be a sequence identifier included in a total of 15 genomes among genomes within the range of
  • sequence identifier Z may be a sequence identifier included in a total of 25 genomes among genomes within the range of the second layer.
  • the shaded portions of tables 530 and 540 indicate that the data used for calculating the frequency of occurrence in table 540 is limited to the sequence identifiers included in table 530. used to express In a further embodiment, shaded items in tables 530 and 540 represent sequence identifiers that are subject to calculation of frequency of occurrence among sequence identifiers falling within the scope of the second hierarchy, and within the scope of the first hierarchy. It may correspond to sequence identifiers to which it belongs.
  • the range of the second layer may mean a range from which the range of the first layer is excluded from the range of the upper layer of the first layer.
  • the range of the second layer may refer to the remaining range excluding the range of the species corresponding to the first layer corresponding to the target analyte from the range of the genus in the classification system of organisms.
  • the second layer which is an upper layer of the first layer, may include the first layer and other lower layers existing in parallel with the first layer.
  • a total of 300 dielectrics may exist in the second layer, and the range of the second layer may correspond to the range of 200 dielectrics obtained by subtracting 100 dielectrics belonging to the first layer among the 300 dielectrics. .
  • the range of the second layer is illustrated as meaning the difference or complement of the first layer to the second layer, but according to a further embodiment of the present disclosure, the range of the second layer is higher than the upper layer of the first layer. It can also be the range of whole genomes that the layer has. In this example, the number of dielectrics belonging to the range of the second layer may be 300 in total, including dielectrics 1 to 300.
  • the second layer is illustrated as an adjacent upper layer of the first layer, but the first layer is a species layer and the second layer is a family or order according to an implementation or design method. ) may be considered as a layer.
  • the range of the second layer may mean the range of genomes in which the first layer (species layer) is excluded from the family or order layer.
  • the computing device may obtain the frequency of occurrence by calculating a ratio of the number of occurrences of sequence identifiers of a specific identifier to 200, which is the total number of genomes included in the second layer.
  • the occurrence frequency may indicate how many genomes included in the range of the second hierarchy each of the sequence identifiers included in the range of the second hierarchy.
  • sequence identifiers annotated with A will have a frequency of occurrence of 0 in 0/200
  • sequence identifiers annotated with B will have a frequency of occurrence of 0.005 in 1/200
  • sequence identifiers annotated with D will have a frequency of occurrence of 0.005 in 1/200
  • a sequence identifier annotated with 4/200 has a frequency of 0.02
  • a sequence identifier annotated with E has a frequency of 0.04 with 8/200
  • a sequence identifier annotated with F has a frequency of 0.03 with 6/200.
  • the sequence identifier annotated with K has a frequency of 0.075 with 15/200
  • the sequence identifier annotated with Z has a frequency of 0.125 with 25/200.
  • sequence identifiers having an occurrence frequency exceeding the second threshold may be considered to be excluded from the sequence identifier(s) to be finally selected.
  • the second threshold is set to 0.05
  • sequence identifier E, sequence identifier F, sequence identifier K, and sequence identifier Z among the sequence identifiers in the example of FIG. 5 are compared with the second threshold. may be excluded accordingly.
  • the second threshold value herein may mean a maximum reference value for the frequency of occurrence of sequence identifiers within the range of the second layer.
  • sequence identifiers in the range of the first hierarchy that belong to a large number of genomes within the range of the second hierarchy can be considered as sequence identifiers with a high frequency of occurrence, and relatively few genomes within the range of the second hierarchy
  • Sequence identifiers in the first hierarchical range that belong to may be considered as sequence identifiers with a low frequency of occurrence.
  • Calculating the occurrence frequency of the sequence identifier of the second hierarchical range in the second hierarchical range is to find a sequence identifier that does not exist in the second hierarchical range or exists only in small numbers in the second hierarchical range.
  • the frequency of occurrence within the scope of the first hierarchy for each sequence identifier within the scope of the first hierarchy and the frequency of occurrence within the scope of the second hierarchy for each of the sequence identifiers within the scope of the second hierarchy can be calculated.
  • the frequency of appearance within the range of the first layer may be compared with a first threshold value
  • the frequency of appearance within the range of the second layer may be compared with a second threshold value.
  • a sequence identifier that meets the criterion with the first threshold and also meets the criterion with the second threshold may be selected as the second sequence identifier in the computation step in FIG. 5 .
  • some first sequence identifiers belonging to the first layer are filtered through the filtering operation in FIG. 5
  • some first sequence identifiers that satisfy the criterion may be selected as second sequence identifiers.
  • the second sequence identifiers that have passed the filtering operation in FIG. 5 may be subjected to the filtering operation in FIG. 6 to be described later.
  • a table 530' of FIG. 5 represents a table in which the frequency of appearance associated with the table 540 is reflected in the table 530.
  • the frequency of occurrence associated with table 540 is computed and compared to the threshold, and as a result, sequence identifiers E through Z in table 530 can be considered sequence identifiers that do not meet the criteria.
  • the shaded entries in table 530' are used to illustrate the exclusion of sequence identifiers that do not meet the criteria.
  • the table 530' is used to represent selection of some data from the table 530 rather than a separately created table.
  • table 530' may exist as a separate object from table 530.
  • table 530' may exist as the same table as table 530, in which case table 530' includes modifications, insertions, and/or deletions to table 530. It may represent a form to which any form of DML (Data Manipulation Language) operation is applied.
  • DML Data Manipulation Language
  • table 530' may exist in the form of a database view or materialized view having table 530 as a base table. In this case, when changes to data included in the table 530 occur, the data in the table 530' may be refreshed to reflect the changes.
  • the table 530' of FIG. 5 includes a first column 531' representing sequence identifiers included in the range of the first layer, and a second column 532 representing genomes included in the range of the first layer to which the sequence identifiers belong. ') and a third column 533' indicating the number of genomes within the range of the first hierarchy to which each of the sequence identifiers included within the range of the first hierarchy belongs.
  • a first threshold value is applied to the data included in the table 530 and a second threshold value is applied to the data included in the table 540, the sequence indicated by the dotted line in FIG.
  • the identifier A, the sequence identifier B, and the sequence identifier D may be selected as the second sequence identifier to be described later in FIG. 6 .
  • the frequency of occurrence in genomes existing within the range of the first hierarchy and within the range of the second hierarchy, which is a higher hierarchy are determined.
  • the frequency of occurrence in existing genomes can be calculated.
  • the occurrence frequency in genomes existing within the range of the first hierarchy and the sequence identifiers falling within the range of the second hierarchy may be determined.
  • a frequency of occurrence in genomes present within the range of the second layer may be calculated.
  • second sequence identifiers having a high frequency of occurrence in the range of the first hierarchy and a low frequency of occurrence in the range of the upper hierarchy of the first hierarchy may be selected from among the first sequence identifiers. . Since the number of second sequence identifiers is very small compared to the number of first sequence identifiers, when calculating the frequency of occurrence in the range of the third layer, which is a higher layer than the second layer, calculation is performed based on the second sequence identifiers. It will be done. Accordingly, the computational complexity of calculating the frequency of occurrence in the range of the third layer is reduced.
  • Figure 6 shows an exemplary data structure used to compute the frequency of occurrence of sequence identifiers considering the first and third layers.
  • Second sequence identifiers selected from among the first sequence identifiers by the filtering operation in FIG. 5 may be subjected to the filtering operation in FIG. 6 .
  • sequence identifier A, sequence identifier B, and sequence identifier D in FIG. 5 can be used as the second sequence identifier to be considered in FIG. 6 .
  • the storage unit of the computing device may store mapping relationships between genomes and sequence identifiers in an exemplary table structure such as reference numerals 620 and 640 .
  • a table 620 representing a mapping relationship between genomes and sequence identifiers within the range of the third layer is exemplified.
  • the table 620 may include a column 621 representing a list of genomes belonging to the third hierarchy and a column 621 representing sequence identifiers included in the genome.
  • the range of the third layer in FIG. 6 may mean a range of dielectrics or dielectrics excluding dielectrics belonging to the range of the first layer from among all dielectrics belonging to the third layer, which is an upper layer of the second layer.
  • the range of the third layer represents the entire dielectrics belonging to the third layer or the entire dielectrics belonging to the third layer are within the range of the second layer. It may also be possible to implement a form in which dielectrics belonging to which dielectrics are excluded are represented.
  • FIG. 6 it is illustrated that a separate table-type data structure exists for each layer on the classification system of organisms, but this is only an example for convenience of explanation of the present disclosure, depending on the implementation method or design method.
  • a data structure that manages all the layers included in the classification system of organisms as one table a data structure that has multiple tables for one layer, or a graph-type data structure that consists of nodes and edges. Any type of data structure capable of linking genomes included in the hierarchy and sequence identifiers may be possible.
  • the computing device may obtain second sequence identifiers (eg, sequence identifier A, sequence identifier B, and sequence identifier D) selected according to the result of the filtering operation in FIG. 5 .
  • second sequence identifiers eg, sequence identifier A, sequence identifier B, and sequence identifier D
  • the computing device may calculate a frequency of occurrence within the range of the first hierarchy for each of the second sequence identifiers.
  • the occurrence frequency may mean an index indicating how many second sequence identifiers are included in genomes included in the first layer.
  • the frequency of occurrence within the range of the first hierarchy for each of the second sequence identifiers is the first for each of the first sequence identifiers from table 530 or table 530' in FIG. It can be obtained by using the result of calculating the frequency of appearance within the range of the hierarchy as it is. In this case, a separate calculation process for calculating the frequency of occurrence within the range of the first hierarchy for each of the second sequence identifiers may not be required.
  • the table 640 in FIG. 6 is a data structure for calculating the number of genomes within the range of the third layer to which each of the sequence identifiers included in the range of the third layer belongs.
  • the table 640 includes a first column 641 containing each of the sequence identifiers belonging to the range of the third layer, a second column 642 showing a list of genomes to which each sequence identifier belongs, and a list to which each sequence identifier belongs.
  • a third column 643 representing the number of dielectrics may be included.
  • the table 640 may refer to an index table to which an inverse index is applied to the table 620 .
  • the table 640 may mean a pivot table for the table 620 .
  • the table 640 may be a basic table indicating the number of sequence identifiers within the range of the third layer, genomes within the range of the third layer, and genomes to which each of the sequence identifiers belongs.
  • the shaded portion of the table 530' and the table 640 indicates that the data used for calculating the frequency of occurrence in the table 640 is included in the table 530 or the table 530'. Used to express limitation to sequence identifiers.
  • shaded items in table 530' and table 640 may represent secondary sequence identifiers.
  • the shaded portion in the table 530'' is used to indicate a sequence identifier that is not selected as a third sequence identifier among the second sequence identifiers.
  • sequence identifiers having sequence identifiers A, B, and D were selected as second sequence identifiers, and sequence identifiers having IDs such as E, F, and Z are filtered as a result of the filtering operation of FIG.
  • FIG. 6 illustratively illustrates that an additional filtering operation is performed for each of the sequence identifiers annotated with A, B, and D selected as the second sequence identifier.
  • additional consideration and filtering of sequence identifiers annotated with E, F, H, and Z included in table 640 may also be implemented.
  • the computing device utilizes table 620 and/or table 640 to determine a genome within the scope of the third layer to which each of the sequence identifiers included within the scope of the third layer belongs. number of them can be identified.
  • table 620 and/or table 640 to determine a genome within the scope of the third layer to which each of the sequence identifiers included within the scope of the third layer belongs. number of them can be identified.
  • dielectrics eg, dielectrics 101 to 1000 belonging to the range of the third layer from which dielectrics (eg, dielectrics 1 to 100) belonging to the range of the first layer are excluded. Included. Sequence identifiers that each genome contains are shown in column 622. In table 640, the number of genomes within the range of the third layer including sequence identifier A is 0, the number of genomes within the range of layer 3 including sequence identifier B is 7, and the number of genomes within the range of layer 3 including sequence identifier B is 7.
  • the number of genomes within the range of the third layer including sequence identifier E is 11, the number of genomes within the range of the third layer including sequence identifier E is 18, and within the range of the third layer including sequence identifier F
  • the number of genomes belonging is 19, the number of genomes belonging to the range of the third layer including the sequence identifier H is 25, and the number of genomes belonging to the range of the third layer including the sequence identifier Z is 48 .
  • the sequence identifier annotated as A may be a sequence identifier included in a total of 100 genomes among the genomes belonging to the first layer
  • the sequence identifier annotated as B may be a sequence identifier included in the first layer. It may be a sequence identifier included in a total of 97 genomes among genomes belonging to layer 1
  • the sequence identifier annotated with D may be a sequence identifier included in a total of 96 genomes among genomes belonging to the first layer.
  • a sequence identifier annotated as A would have a frequency of occurrence of 1.00 out of 100/100
  • a sequence identifier annotated as B would have a frequency of occurrence of 0.97 out of 97/100
  • annotated as D The sequence identifier obtained has a frequency of occurrence of 0.96 with 96/100.
  • the calculation process for the above frequency of appearance may be omitted, and the occurrence frequency for the second sequence identifiers is calculated from the frequency of occurrence calculated for the first sequence identifiers. frequency may be obtained
  • the frequency of occurrence of each of the second sequence identifiers within the range of the first hierarchy may be calculated or obtained, and the calculated or obtained frequency of occurrence may be compared with a fourth threshold value.
  • second sequence identifiers having an appearance frequency of less than the fourth threshold may be considered to be excluded or filtered from the sequence identifier(s) to be finally selected.
  • the fourth threshold is set to 0.97, D among the sequence identifiers in the example of FIG. 6 may be removed according to comparison with the fourth threshold.
  • the fourth threshold value may mean a minimum reference value for the frequency of occurrence of the second sequence identifiers in the first layer.
  • a second sequence identifier belonging to a large number of genomes in the first hierarchy can be considered a sequence identifier with a high frequency of occurrence
  • a second sequence identifier belonging to a relatively small number of genomes in the first hierarchy can be considered as a sequence identifier with a low frequency of occurrence.
  • the third layer in the present disclosure may mean, for example, the highest layer in the classification system of organisms.
  • the range of the third layer may mean dielectrics from which dielectrics included in the first layer are excluded from among dielectrics included in the uppermost layer.
  • the range of the third layer may mean dielectrics from which dielectrics included in the second layer are excluded from dielectrics included in the uppermost layer.
  • the range of the third layer excludes dielectrics in the range of the second layer among dielectrics included in the uppermost layer (ie, dielectrics included in the second layer except for dielectrics included in the first layer). It may also mean the genomes that have been An example for a top layer is a domain.
  • the third layer may mean a second higher layer in the classification system of organisms.
  • the range of the third layer may mean dielectrics from which dielectrics included in the first layer are excluded from among dielectrics included in the next higher layer.
  • the range of the third layer may mean dielectrics from which dielectrics included in the second layer are excluded from among dielectrics included in the next higher layer.
  • the range of the third layer excludes dielectrics of the range of the second layer among the dielectrics included in the second layer (ie, dielectrics included in the second layer to which the dielectrics included in the first layer are excluded). It may also mean the genomes that have been An example of a second higher class is a kingdom.
  • the third layer may refer to a layer higher than the second layer in the organism classification system.
  • the range of the third layer may mean dielectrics from which dielectrics belonging to the first layer are excluded from dielectrics belonging to the third layer.
  • the range of the third layer may mean dielectrics from which dielectrics belonging to the second layer are excluded from dielectrics belonging to the third layer.
  • the range of the third layer is the range of the second layer among the dielectrics belonging to the third layer (that is, the dielectrics included in the first layer are excluded from the dielectrics included in the second layer). It may also mean dielectrics from which dielectrics are excluded.
  • third tiers may include family, phylum, class, phylum, phylum, or inverse.
  • the frequency of occurrence for the second sequence identifiers within a range of the difference set of the first layer with respect to a third layer or a range of the difference set of the second layer with respect to the third layer is calculated. It can be.
  • sequence identifiers included in the column 641 of the table 640 may refer to sequence identifiers included within the scope of the third layer.
  • sequence identifiers A, B, and D correspond to second sequence identifiers obtained through primary filtering
  • the remaining sequence identifiers E, F, H, and Z correspond to the first sequence identifiers. It may correspond to sequence identifiers excluded among sequence identifiers included in the range of the hierarchy and/or sequence identifiers included only in the range of the third hierarchy.
  • the computing device may utilize the table 640 to identify the number of genomes within the range of the third layer to which each sequence identifier belongs.
  • the sequence identifier annotated as A may be a sequence identifier that is not included in any of the genomes within the scope of the third layer
  • the sequence identifier annotated as B may include all genomes within the scope of the third layer.
  • It may be a sequence identifier included in 7 genomes
  • the sequence identifier annotated with D may be a sequence identifier included in a total of 11 genomes among genomes belonging to the range of the third layer.
  • the range of the third layer may mean a range excluding the range of the first layer or the range of the second layer from the range of the upper layer of the second layer.
  • the range of the third layer may refer to the range remaining after the range of the species corresponding to the first layer is excluded from the range of a domain or the range of a kingdom in the classification system of organisms.
  • the third layer may mean the highest layer in the classification system of organisms.
  • the third layer which is an upper layer of the second layer, may include the second layer and other lower layers existing in parallel with the second layer.
  • a total of 1000 dielectrics may exist in the entire third layer, and the range of the third layer may correspond to the range of 900 dielectrics obtained by subtracting 100 dielectrics belonging to the first layer among the 1000 dielectrics. .
  • the computing device may obtain the frequency of occurrence by calculating a ratio of the number of occurrences of a sequence identifier of a specific ID to 900 genomes included in the range of the third layer. This frequency of occurrence may indicate how many of each of the second sequence identifiers are included in genomes of the third hierarchy.
  • a calculation method of an appearance frequency according to the example of FIG. 6 will be described as an example.
  • a sequence identifier annotated with A would have a frequency of occurrence of 0 at 0/900
  • a sequence identifier annotated with B would have a frequency of occurrence of 0.0078 at 7/900 (rounding up)
  • a sequence identifier annotated with D would have a frequency of occurrence of 0.0078.
  • the annotated sequence identifier would have a frequency of occurrence of 0.0122 (performing rounding) at 11/900.
  • a frequency of occurrence in a range of a third hierarchy for each of the second sequence identifiers or for each of sequence identifiers within a range of the third hierarchy may be calculated, and the calculated frequency of occurrence It may be considered that sequence identifiers having an appearance frequency exceeding the third threshold value are excluded from the sequence identifier(s) to be finally selected by comparing the third threshold value with the third threshold value. For example, if the third threshold is set to 0.01, D among the sequence identifiers in the example of FIG. 6 may be excluded according to comparison with the third threshold. According to the example of FIG. 6 , sequence identifiers A and B may be selected as final candidate sequence identifiers (eg, third sequence identifiers).
  • the third threshold value may mean a maximum reference value for the occurrence frequency of sequence identifiers within the range of the third layer. That is, sequence identifiers belonging to a large number of genomes within the range of the third hierarchy can be considered as sequence identifiers with a high frequency of occurrence, and sequences belonging to a relatively small number of genomes within the range of the third hierarchy.
  • the identifier may be considered a sequence identifier with a low frequency of occurrence. Calculating the occurrence frequency of the sequence identifier in the range of the third hierarchy is to find a sequence identifier that does not exist in the range of the third hierarchy or exists relatively less in the range of the third hierarchy.
  • a frequency of occurrence within the range of the first hierarchy and a frequency of occurrence within the range of the third hierarchy may be obtained or calculated. These frequencies of occurrence may be compared with a third threshold and a fourth threshold.
  • a second sequence identifier that meets the criterion with the third threshold and also meets the criterion with the fourth threshold is not excluded from the computational step in FIG. 6 and is finally a sequence specific to the target analyte. It can be selected as an identifier.
  • the third threshold and/or The fourth threshold may be changed.
  • the computing device may adjust the third threshold value and/or the fourth threshold value so that a desired number of sequence identifiers may be output through filtering.
  • Sequence identifier A and sequence identifier B indicated by dotted lines in FIG. 6 may be finally selected as sequence identifiers related to the target analyte, and sequence identifier D may be excluded through secondary filtering in FIG. 6 .
  • Table 530'' in FIG. 6 shows a table in which secondary filtering results are reflected in table 530 or table 530', column 531'' represents sequence identifiers, and column 532'' ) indicates genomes containing the sequence identifier, and column 533'' indicates the number of genomes containing the sequence identifier.
  • the table 530'' is used to represent a table 530' or a selection of some data from the table 530, rather than a separately generated table.
  • table 530 ′′ may exist as a separate object from table 530 or table 530 ′.
  • table 530′′ can exist as the same table as table 530 and/or table 530′, in which case table 530′ is table 530 or Any type of DML operation including modification, insertion, and/or deletion may be applied to the table 530'.
  • table 530 ′′ may exist in the form of a database view or materialized view having table 530 or table 530 ′ as a base table. In this case, when a change occurs in the table 530 or data included in the table 530', the data in the table 530'' may be refreshed to reflect the change.
  • a first table in which genomes correspond to keys and sequence identifiers correspond to values may be constructed in advance.
  • information on sequence identifiers for each genome such as the table 510, table 520, or table 620, is needed, information on genomes and sequence identifiers can be obtained by referring to the first table.
  • a second table in which sequence identifiers correspond to keys and genomes correspond to values may be constructed in advance.
  • information on the genome for each sequence identifier is needed, such as the table 530, table 540 or table 640, information on the genome for each sequence identifier can be obtained by referring to the second table.
  • the DB may be implemented in such a way that various information is pre-established and required information is obtained by performing on in-memory at that time.
  • sequence identifier specific to the target analyte has been described by exemplifying several sequence identifiers for convenience of explanation, but those skilled in the art can use any number of sequence identifiers specific to the target analyte. It will also be self-evident that it may be selected. Selecting a variable number of final sequence identifiers, eg, to improve target coverage, to improve sensitivity, and/or to enable better detection of a target analyte, is also disclosed herein. It may be included within the scope of the rights of the contents.
  • the frequency of occurrence in genomes existing within the range of the first hierarchy and the frequency of occurrence within the range of the third hierarchy, which is the upper hierarchy can be calculated.
  • final sequence identifiers having a high frequency of occurrence in the range of the first hierarchy and a low frequency of occurrence in the range of the highest hierarchy may be selected from among the second sequence identifiers.
  • the number of selected final sequence identifiers can be adjusted according to a threshold value.
  • Sequence identifiers finally selected in this way may be considered as sequence identifiers specific to the input target analyte.
  • FIG. 7 is a flow chart exemplarily illustrating a method for selecting candidate sequence identifiers specific for a target analyte, according to one embodiment of the present disclosure.
  • the method for selecting a sequence identifier described in FIG. 7 may be performed by a computing device.
  • the computing device may obtain a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure (710).
  • a computing device may receive input related to a target analyte.
  • the computing device may receive input such as the type of strain or the name of a taxonomy of organisms such as species, genus, or family.
  • the input data may be a taxonomy identifier (TAX ID) corresponding to the target analyte.
  • the input data may be a name for a target analyte, in which case the computing device determines a classification identifier corresponding to the name of the target analyte or any type corresponding to the name of the target analyte in the DB. can determine the ID of
  • the computing device may determine the hierarchy of the taxonomy of organisms to which the target analyte belongs, according to the input related to the target analyte.
  • the computing device may determine a specific hierarchy on the taxonomy of organisms to which Vibrio cholerae belongs as the first hierarchy.
  • a Vibrio cholerae species corresponding to the target analyte, Vibrio cholera may be determined as a first layer.
  • a genus of Vibrio including Vibrio cholerae, which is a target analyte may be selected as the first layer.
  • the first layer may be determined as one of lower layers in which at least two upper layers exist in a taxonomy of organisms.
  • the first layer used in FIG. 7 may include a specific layer on a taxonomy of organisms determined in correspondence with the target analyte. Also, the first layer used in FIG. 7 may be used to mean the lowest layer in the classification system of organisms to which the target analyte belongs.
  • the computing device may obtain first sequence identifiers included in the determined first layer.
  • the first sequence identifier may refer to sequence identifiers possessed by genomes included in the first layer.
  • the sequence identifier herein is an ID for identifying base sequences, and as described above, various methods for determining the identifier may be considered.
  • the computing device may obtain sequence identifiers possessed by all genomes included in the first layer.
  • the computing device may utilize an internal storage unit and/or an external storage unit to retrieve a list of all genomes belonging to the first layer and/or sequence identifiers of each of the entire lists. For example, a list of genomes and/or genomes by a computing device searching for a list of genomes and/or sequence identifiers of a biological group corresponding to input information in a genome storage unit including annotation information for a group of base sequences. A list of sequence identifiers may be obtained.
  • the computing device determines, for each of the first sequence identifiers, a frequency of occurrence within the range of the first layer and a frequency of occurrence within the range of the second layer, which is a higher layer than the first layer.
  • Second sequence identifiers may be selected from among the first sequence identifiers (720).
  • the computing device may determine an appearance frequency within the range of the first layer by calculating the number of each of the first sequence identifiers included in the genomes included in the first layer.
  • the frequency of appearance is a value for determining the frequency of occurrence of first sequence identifiers within the range of the first layer where the target analyte is located, and includes the first sequence identifiers within the range of the first layer. It can be made in a way to determine the number of dielectrics within the range of .
  • the occurrence frequency may be a ratio of the number of genomes having the first sequence identifiers to the total number of genomes within the range of the first layer.
  • the computing device may determine an appearance frequency within the range of the second layer by calculating the number of each of the first sequence identifiers included in the genomes included in the range of the second layer.
  • the frequency of appearance is a value for determining the frequency of occurrence of first sequence identifiers within the range of a second layer, which is a higher layer of the first layer where the target analyte is located, and includes the first sequence identifiers. It can be made in a way to determine the number of dielectrics within the range of .
  • the second layer may be one layer among higher layers relative to the first layer in a hierarchical structure in which an upper layer includes lower layers.
  • the second layer may be a layer corresponding to an immediately higher hierarchical position of the first layer in the hierarchical structure.
  • the second layer may be an immediately higher hierarchical position of the first layer in which the number of included genomes exceeds a critical number.
  • the second layer is a layer most adjacent to the first layer among higher layers of the first layer in which the number of dielectrics excluding the first dielectrics included in the first layer exceeds a dielectric threshold number.
  • the frequency of occurrence within the range of the second hierarchy may be a ratio of the number of genomes having the first sequence identifiers to the total number of genomes within the range of the second hierarchy.
  • the computing device determines, for each of the second sequence identifiers, a second sequence based, at least in part, on a frequency of occurrence within a range of a third layer, which is a higher layer than the second layer, and a frequency of occurrence within a range of the first layer.
  • a third sequence identifier associated with the target analyte may be selected (730).
  • the frequency of occurrence of the second sequence identifier within the range of the third hierarchy is determined by the second sequence identifier among genomes excluding the first genomes or the second genomes from the third genomes included in the third hierarchy.
  • the number of genomes to which each of the second sequence identifiers belongs, and the frequency of occurrence of the second sequence identifier within the range of the first hierarchy may mean the number of genomes to which each of the second sequence identifiers belongs among the first genomes. there is.
  • second sequence identifiers that are highly likely to be specific to the target analyte and not specific to other organisms can be selected with a relatively small amount of computation.
  • Step 730 describes a process of calculating the above-described occurrence frequencies for the second sequence identifiers selected through step 720.
  • the computing device calculates the number of genomes including each of the second sequence identifiers among genomes included in the range of the third layer, which is an upper layer of the second layer, to determine the second sequence identifiers in the range of the third layer. frequency of occurrence can be determined.
  • the third layer may mean an upper layer of the second layer. In another embodiment, the third layer may refer to a top layer or a second top layer in a taxonomy of organisms related to the target analyte.
  • the range of the third layer may mean a range of a difference set of the first layer to the third layer or a range of a difference set of the second layer to the third layer.
  • the computing device may obtain the frequency of occurrence of the second sequence identifier in the scope of the first hierarchy from the result of the frequency of occurrence of the first sequence identifier in the scope of the first hierarchy. Since the ranges of the genomes, which are the ranges of the first hierarchy, correspond to each other in all of the aforementioned frequencies of occurrence, in this embodiment, the first sequence identifiers including the second sequence identifiers are generated without performing an operation to obtain a separate frequency of occurrence. Appearance frequencies corresponding to the second sequence identifiers may be obtained from an appearance frequency calculation result for .
  • the computing device may calculate the frequency of occurrence for each of the second sequence identifiers in such a manner as to obtain the number of genomes including each of the second sequence identifiers among genomes within the range of the first layer. .
  • the computing device may calculate, for each of the second sequence identifiers, a frequency of occurrence indicating a frequency of occurrence of each of the second sequence identifiers within the scope of the second hierarchy. According to this embodiment, the computing device further considers a frequency of occurrence within the range of the second hierarchy for each of the second sequence identifiers based at least in part on the plurality of frequencies of occurrence to determine a second sequence identifier. Among them, a third sequence identifier related to the target analyte may be selected.
  • the target analyte has the highest frequency of occurrence in the range of the first tier that is most relevant to the target analyte and has a relatively low frequency of occurrence in the range of the second tier that is the second most relevant to the target analyte.
  • a second sequence identifier having the lowest occurrence frequency may be selected as a third sequence identifier in the range of the third layer that may have the lowest relevance to water.
  • the computing device may select at least one third sequence identifier from among the second sequence identifiers by calculating a score for each of the second sequence identifiers based on the plurality of occurrence frequencies. For example, a higher score is calculated as the magnitude of the frequency of appearance within the range of the first hierarchy for each of the second sequence identifiers increases, and within the range of the third hierarchy for each of the second sequence identifiers A higher score may be calculated as the size of the frequency of occurrence of is smaller, and a higher score may be calculated as the size of the frequency of occurrence within the range of the second hierarchy for each of the second sequence identifiers is smaller. After calculating the score for each of the second sequence identifiers, the second sequence identifier having a high score may be selected as the third sequence identifier.
  • Equation 1 an exemplary algorithm for determining the score is described in Equation 1 below.
  • Equation 1 Fin is the number of genomes within the range of the first layer for the sequence identifier for which the score value is to be calculated among second sequence identifiers (or first sequence identifiers), and Gin is the number of genomes within the range of the first layer.
  • the number of genomes included in layer 1 Gtotal is the number of genomes included in layer 3
  • Fexp is the number of genomes included in the second sequence identifier (or first sequence identifier) for the sequence identifier to be calculated for the score value.
  • the number of genomes within the range of the second layer Gexp is the number of genomes included in the range of the difference set of the first layer with respect to the second layer, and Fext is the second sequence identifier (or the first sequence identifier) is the number within the range of the third layer for the sequence identifier for which the score value is calculated, and Gext is the range of the difference set of the first layer with respect to the third layer or the third layer The number of dielectrics included in the range of the difference set of the second layer for .
  • Fin/Gin may mean the occurrence frequency of the second sequence identifier (or first sequence identifier) within the range of the first layer.
  • (Gtotal+Gin)/Gtotal may mean a value obtained by dividing the number of genomes included in the third layer by the sum of the total number of genomes included in the third layer and the number of genomes included in the first layer.
  • (Gtotal+Gin)/Gtotal may be a parameter representing a ratio of dielectrics included in the first layer to dielectrics included in the third layer.
  • the Fin/Gin value is converted to a higher value, and as a result, a relatively high score can be calculated.
  • the Fin/Gin value is converted to a lower value, resulting in a relatively low score.
  • Fexp/Gexp may mean the occurrence frequency of the second sequence identifier (or the first sequence identifier) within the scope of the second layer.
  • (Gtotal+Gexp)/Gtotal may mean a value obtained by dividing the number of genomes included in the third layer by the sum of the total number of genomes included in the third layer and the number of genomes included in the second layer.
  • (Gtotal+Gexp)/Gtotal may be a parameter representing a ratio of the genomes included in the second layer to the genomes included in the third layer.
  • Fexp/Gexp By multiplying Fexp/Gexp by (Gtotal+Gexp)/Gtotal, which represents a higher value as more genomes are included in the second layer, the Fexp/Gexp value is converted to a higher value, resulting in a relatively high Score.
  • Fext/Gext may refer to an appearance frequency of the second sequence identifier (or the first sequence identifier) within the range of the third layer.
  • the Score may increase as Fin/Gin, which means the frequency of occurrence of the second sequence identifier (or first sequence identifier) within the range of the first layer, increases.
  • Fexp/Gexp which means the frequency of appearance of the second sequence identifier (or first sequence identifier) within the scope of the second hierarchy, increases, the score may decrease.
  • Fext/Gext which means the frequency of appearance of the second sequence identifier (or first sequence identifier) within the range of the third layer, increases, the score may decrease.
  • the computing device may calculate a score value for each sequence identifier.
  • a sequence identifier having a large quantitative score in Equation 1 is highly likely to be selected as a final candidate sequence identifier (ie, a third sequence identifier).
  • a sequence identifier having a small quantitative score in Equation 1 is unlikely to be selected as a final candidate sequence identifier (ie, a third sequence identifier).
  • the computing device may sort final candidate sequence identifiers based on the size of the value of the score.
  • a technique according to an embodiment of the present disclosure selects a second sequence identifier by comparing first sequence identifiers associated with a target analyte within a range of a second hierarchy having a relatively small number of genomes, and selecting the second sequence identifier. Since the comparison is performed on the genomes of the entire biota based on the sequence identifiers, the sequence identifier(s) specific to the target analyte can be selected in a relatively short period of time while efficiently managing computing resources.
  • the computing device selects second sequence identifiers through first filtering on the first sequence identifiers and selects specific target analytes through second filtering on the second sequence identifiers. At least one third sequence identifier may be selected.
  • additional algorithms may be applied to sequence identifiers that are always present in the human body.
  • a sequence identifier specific to or included in a resident flora such as a bacterium or virus that must reside in the human body (hereinafter referred to as a 'predetermined sequence identifier'), or a factor in cell survival.
  • An additional algorithm may be applied to a housekeeping gene, which is an indispensable gene and is expressed under any circumstances.
  • beneficial bacteria such as lactic acid bacteria are always present in the body, and the lactic acid bacteria (or sequence identifier included in the lactic acid bacteria) may be a predetermined sequence identifier.
  • a predetermined sequence identifier included in the lactic acid bacteria may be excluded from the final candidate sequence identifier for detecting Vibrio cholerae.
  • the flora may be present in the skin, stomach, oral cavity and upper respiratory tract, teeth, respiratory tract, genitourinary tract, eye cornea and external auditory canal, Staphylococci, Micrococci, Diphtheroids, Neisseria, Bordetella, Corynebacterium, Streptococcus spp, Helicobacter pylori, Candida, Escherichia coli, Haemophilus and Staphylococcus, but are not limited thereto.
  • a predetermined sequence identifier included in a housekeeping gene may be excluded from the final candidate sequence identifier for detecting Vibrio cholerae.
  • the housekeeping gene may include GAPDH, B-actin, ⁇ -tubuline, and the human housekeeping gene may include NM_001101 Homo sapiens mala, beta (ACTB), mRNA6988, NM_000034 Homo sapiens dola, fructose-bisphosphate (ALDOA), mRNA3425, NM_002046 Homo sapiens glyceraldehyde-3-phosphate dehydrogenase (GAPD), mRNA828.
  • GAPDH GAPDH
  • B-actin beta
  • ⁇ -tubuline NM_001101 Homo sapiens mala, beta (ACTB), mRNA6988, NM_000034 Homo sapiens dola, fructose-bisphosphate (ALDOA), mRNA3425, NM_002046 Homo sapiens glyceraldehyde-3-phosphate dehydrogenase (GAPD), mRNA828.
  • the predetermined sequence identifier has been described based on lactic acid bacteria and housekeeping genes, but is not limited thereto.
  • predetermined sequence identifiers may be excluded from the selection process of sequence identifiers even in a situation where the frequency of occurrence satisfies the threshold value in the first filtering and/or the second filtering process.
  • the predetermined sequence identifier may be excluded after the calculation of the frequency of occurrence is completed in the process of obtaining the first sequence identifier, the process of selecting the second sequence identifier, or the process of selecting the third sequence identifier.
  • predetermined sequence identifiers may be excluded without performing calculation of frequency of occurrence.
  • the step of excluding the predetermined sequence identifier may be performed in the step of selecting the first sequence identifier, or may be performed in the step of selecting the second sequence identifier, and may be performed in the step of selecting the third sequence identifier. can be performed in stages.
  • the step of excluding the predetermined sequence identifier may be performed before or after the first filtering and/or the second filtering process, together with it, or independently of it. As such, the step of excluding predetermined sequence identifiers can be performed in a variety of orders.
  • the selected second sequence identifier has a frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers equal to or greater than a first threshold value and a range of the second hierarchy for each of the first sequence identifiers.
  • a predetermined sequence identifier may not be included.
  • the selected second sequence identifier is an occurrence within the range of the second hierarchy for each of the first sequence identifiers while the frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers is equal to or greater than a first threshold value.
  • sequence identifiers of a specific organism having a predetermined exclusivity may be removed.
  • the selected third sequence identifier is the first layer of the first layer for each of the second sequence identifiers while the frequency of occurrence within the range of the third layer for each of the second sequence identifiers is equal to or less than a third threshold value.
  • a predetermined sequence identifier may not be included.
  • the selected third sequence identifier is within the range of the first hierarchy for each of the second sequence identifiers while the frequency of occurrence within the range of the third hierarchy for each of the second sequence identifiers is less than or equal to the third threshold.
  • a sequence identifier of a specific organism having a predetermined exclusivity may be removed.
  • the first sequence identifier may not include a predetermined sequence identifier.
  • the range of the second layer may be a range excluding the first layer
  • the range of the third layer may be a range excluding the first layer (or the first layer and the second layer).
  • FIG. 8 is a flow chart exemplarily illustrating a method for selecting a target sequence identifier specific for a target analyte according to an embodiment of the present disclosure.
  • the method shown in FIG. 8 may be implemented by a computing device. Among the contents described in FIG. 8 , overlapping parts with those of FIG. 7 will be omitted in the description of FIG. 8 for simplicity of description.
  • the computing device may receive a name for the target analyte (810).
  • the aforementioned name is information for identifying a target analyte, and may include a TAX ID, a gene ID, a sequence identifier ID, a name indicating the species of the analyte, and/or a genome ID.
  • the computing device may select a layer corresponding to the name of the target analyte (820).
  • the computing device may select, as the first layer, a layer with a minimum range on the classification system of organisms to which the target analyte belongs.
  • the computing device may select a parent layer higher than the first layer as the second layer.
  • the computing device may select, as a third layer, a top layer on a taxonomy of organisms related to the target analyte.
  • the computing device may query the annotation storage unit to obtain a list of first sequence identifiers possessed by all genomes within the range of the first layer where the target analyte is located.
  • the computing device may determine an occurrence frequency of each of the first sequence identifiers in a corresponding layer (ie, a first layer) where the target analyte is located (830A).
  • the computing device may determine an appearance frequency of each of the first sequence identifiers in the range of the upper layer selected as the second layer (830B).
  • the first layer is a layer corresponding to the Vibrio cholerae species, and the frequency of occurrence of each of the first sequence identifiers within the range of the first layer is included in genomes belonging to the Vibrio cholera species.
  • the second layer is an upper layer adjacent to the layer to which Vibrio cholera belongs, and refers to a layer corresponding to the genus Vibrio, and the range of the second layer may mean the range of genomes excluding genomes belonging to Vibrio species in the genus Vibrio. .
  • the frequency of occurrence of each of the first sequence identifiers within the range of the second hierarchy is determined by calculating the number of genomes including each of the first sequence identifiers among genomes excluding genomes belonging to the Vibrio species in the genus Vibrio. can
  • the computing device After determining, for each of the first sequence identifiers, the frequency of occurrence in the range of the first hierarchy and the frequency of occurrence in the range of the second hierarchy, the computing device determines the frequency of occurrence for the target analyte among the first sequence identifiers.
  • a primary candidate identifier having a high and relatively low occurrence frequency for other organisms may be selected (840).
  • the first candidate sequence identifier may correspond to the second sequence identifier in FIG. 6 .
  • at least two threshold values may be utilized.
  • the first threshold value is a threshold value for determining a reference value for the frequency of occurrence of each of the first sequence identifiers within the range of the first hierarchy
  • the second threshold value is the first sequence identifier within the range of the second hierarchy. It is a threshold value for determining a reference value for each occurrence frequency.
  • the number of primary candidate identifiers selected from among the first sequence identifiers may be variable according to the first threshold value and the second threshold value.
  • the first threshold and the second threshold are the target number of primary candidate identifiers, the target number of secondary candidate identifiers, the state of computing resources, and/or the number of whole genomes included in the taxonomy of the organism to which the target analyte belongs.
  • Sequence identifiers included as much as possible and least included within the scope of the second layer may be primarily selected within the scope of the first layer and the second layer.
  • a primary candidate identifier eg, a second sequence identifier
  • the highest hierarchy The computational complexity in determining the frequency of appearance in the range of is reduced, and accordingly, management of computing resources can be made efficiently.
  • the computing device may determine, for each of the primary candidate sequence identifiers, the number of genomes including the primary candidate sequence identifier within the range of the corresponding layer (ie, the first layer). The computing device may determine an occurrence frequency for each of the primary candidate sequence identifiers in the scope of the first layer (850A). In addition, the computing device may determine the number of genomes including the primary candidate sequence identifier in the range of the highest layer (ie, the third layer) for each of the primary candidate sequence identifiers. The computing device may determine an occurrence frequency for each of the primary candidate sequence identifiers in the range of the top layer (850B).
  • the third layer is a layer corresponding to the top layer (bacterial station) or the second layer (eubacteria) of the species Vibrio cholerae, and the frequency of occurrence within the range of the third layer is the top layer.
  • it may be calculated based on determining the number of genomes to which each of the primary candidate sequence identifiers belongs in a range of genomes from which genomes of the first or second hierarchy are excluded from the next higher hierarchy.
  • the frequency of occurrence of each of the primary candidate sequence identifiers within the range of the third layer is determined by the genome including the primary candidate sequence identifier among the genomes included in the Bacterial region excluding the genomes included in Vibrio. It can be determined according to the number of them.
  • the computing device obtains, for each of the primary candidate sequence identifiers, a frequency of occurrence in the range of the first layer and calculates a frequency of occurrence in the range of the highest layer (ie, the third layer), At least one secondary candidate sequence identifier may be selected from among the candidate sequence identifiers (860).
  • the secondary candidate sequence identifier may refer to a sequence identifier that is highly likely to be specific to a target analyte.
  • the secondary candidate sequence identifier may correspond to the third sequence identifier in FIG. 7 .
  • the third threshold value is a threshold value for determining the reference value for the frequency of occurrence of the first candidate sequence identifiers within the range of the third layer
  • the fourth threshold value is the first candidate sequence identifier within the range of the first layer. It is a threshold value for determining the reference value for the frequency of occurrence of By applying these threshold values to the frequency of occurrence, sequence identifiers exceeding a certain frequency of occurrence or less than a certain frequency of occurrence may be removed in a filtering process.
  • the number of secondary candidate identifiers selected from among the primary candidate sequence identifiers may be variable according to the third threshold value and the fourth threshold value.
  • the third threshold and the fourth threshold may be adjusted based, at least in part, on the target number of secondary candidate identifiers, the state of computing resources, and/or the number of whole genomes included in the taxonomy of the organism to which the target analyte belongs. there is.
  • the sequence identifier selection method reduces computing resources required for selecting sequence identifiers specific to a specific target analyte because the first filtering operation and the second filtering operation are serially linked. Since it can be used efficiently, there may also be an advantage of simultaneously identifying several target sequence patterns (eg, sequence identifiers corresponding to a plurality of target analytes) having a certain level or higher sensitivity and specificity.
  • the computing device may align 870 the selected secondary candidate sequence identifiers.
  • the computing device may align the secondary candidate sequence identifiers based on an alignment scheme for any type of sequence identifiers.
  • the computing device may sort the secondary candidate sequence identifiers (eg, the third sequence identifiers) in order of highest score.
  • the computing device may sort the secondary candidate sequence identifiers in ascending or descending order.
  • the computing device may align base sequences for the selected secondary candidate sequence identifiers in a manner of comparing each.
  • the computing device may perform alignment on the secondary candidate sequence identifiers by inserting, deleting, or changing at least some of the base sequences of the secondary candidate sequence identifiers.
  • the computing device applies an operation such as reversal, transposition, translocation, etc. to at least some of the base sequences for the secondary candidate sequence identifiers to at least some of the secondary candidate sequence identifiers. Some parts can be rearranged.
  • the computing device may select a target gene specific to the target analyte (880). For example, the computing device may select one or more of the secondary candidate sequence identifiers as a target gene specific to the target analyte. As another example, the computing device may select one or more sequence identifiers among the aligned secondary candidate sequence identifiers as a target gene specific to a target analyte after performing an alignment process for the secondary candidate sequence identifiers. .
  • a target gene may be a sequence identifier that is specific to the target analyte and is highly unlikely to exist in an organism other than the target analyte.
  • FIG. 9 depicts an exemplary flow chart for selecting candidate sequence identifiers specific for a target analyte according to an embodiment of the present disclosure.
  • FIGS. 4, 5, 6, 7, and 8 For portions overlapping with those of FIGS. 4, 5, 6, 7, and 8 among the parts represented in FIG. 9, the descriptions described in FIGS. 4, 5, 6, 7, and 8 are referred to, and FIG. 9 In , descriptions of overlapping descriptions are omitted for convenience of description.
  • the computing device may receive input about the species Vibrio cholerae ( 910 ).
  • Vibrio cholera will be used as an example for the target analyte.
  • the computing device may receive a TAX ID indicating Vibrio cholera.
  • the computing device may acquire a first genome list for biota belonging to the genus Vibrio cholerae (920).
  • the computing device may obtain the entire list of genomes belonging to the species Vibrio cholerae as the first genome list.
  • the first genome list may mean information on all genomes possessed by the Vibrio cholera species.
  • the computing device may query a genome repository including annotation information for a list of genomes and sequence identifiers of a biota belonging to the species Vibrio cholerae.
  • the first dielectric list may include, for example, the table 510 and/or the table 530 shown in FIG. 5 .
  • the computing device may obtain a second genome list of the remaining ranges other than the Vibrio cholera species among biomes belonging to the genus Vibrio, which is the parent class of the Vibrio cholerae species (930).
  • the computing device may obtain, as the second genome list, an entire list of genomes belonging to the genus Vibrio, which is an upper class of Vibrio cholera species.
  • a genus of Vibrio may contain multiple species of Vibrio.
  • One of the plural Vibrio species corresponds to Vibrio cholera.
  • the second genome list may include remaining genomes excluding genomes included in the range of the Vibrio cholerae species among genomes included in the range of the genus Vibrio.
  • the second genome list may mean information on genomes possessed by species other than the Vibrio cholera species among all genomes possessed by the genus Vibrio cholerae.
  • the computing device retrieves a list of genomes and their sequence identifiers after subtracting the genomes of a biota belonging to the Vibrio cholerae species from the genomes of a biota belonging to the genus Vibrio in a genome repository containing annotation information. can do.
  • the computing device may obtain the second genome list by inquiring a parent TAX ID immediately above the corresponding TAX ID in the genome storage unit including the annotation information.
  • the second dielectric list may include, for example, the table 520 and/or the table 540 shown in FIG. 5 .
  • the computing device may compare the number of dielectrics included in the obtained second dielectric list with a predetermined reference value (940).
  • the computing device may determine whether the number of dielectrics included in the second dielectric list exceeds a predetermined reference value.
  • the predetermined reference value may mean the minimum number of genomes included in the range of the second layer for deriving a meaningful result value. For example, when the genomes included in the range of the second layer have a relatively small number, filtering in the first filtering step of calculating the frequency of appearance in the range of the first layer and the frequency of appearance in the range of the second layer is performed. Results may not be significant.
  • the computing device may select the second layer as an upper layer two steps higher than the first layer rather than an upper layer adjacent to the first layer. . Accordingly, by reducing the number of sequence identifiers used for calculation in the third layer range prior to the calculation step in the third layer range, efficiency of operation in the third layer range can be achieved.
  • a second genome list in the range other than the species may be obtained (950).
  • the computing device may obtain a second genome list including a sufficient number of genomes by widening the range of the hierarchy in the taxonomy of organisms to be selected as the second hierarchy.
  • the computing device may compare the number of genomes belonging to the expanded range of the second layer with the predetermined reference value once again. As a result of the comparison, when it is determined that the number of genomes is not greater than a predetermined reference value, the computing device may select a hierarchy one level higher from the family Vibrio to the order Vibrio as the second hierarchy.
  • repetition of steps 940 and 950 may occur according to a preset number of repetitions or repetition criteria.
  • the repetition of steps 940 and 950 may be preset to be repeated only up to a level corresponding to a phylum in the classification system of organisms.
  • the computing device obtains a sequence identifier included in the genome from each of the genomes belonging to the first genome list and the second genome list. can (960).
  • a sequence identifier corresponding to the first genome list and a sequence identifier corresponding to the second genome list may be obtained.
  • one or more sequence IDs (eg, sequence identifiers) may be stored in a mapped form.
  • the computing device may obtain sequence identifiers corresponding to each of the genomes included in the first genome list from a mapping relationship between genomes and sequence identifiers.
  • a computing device includes data capable of representing a connection relationship between a genome list and a sequence identifier. Methods of obtaining a sequence identifier from a structure can be performed.
  • the computing device determines, for each of the sequence identifiers included in the genomes of the first genome list, the ratio of the genomes including the corresponding sequence identifier among the genomes in the first genome list is equal to or greater than the first threshold value, and the second genome list
  • the number of selected sequence identifiers in which the ratio of genomes including the corresponding sequence identifier among genomes is equal to or less than a second threshold value may be calculated (970).
  • Step 970 may include a first order filtering operation on sequence identifiers (eg, first sequence identifiers).
  • the first threshold value is the minimum reference value for the frequency of occurrence of sequence identifiers corresponding to the first genome list within the biota to which the Vibrio cholerae species belongs
  • the second threshold value is the organism to which the Vibrio genus (or higher hierarchy) belongs. It may mean the maximum reference value for the occurrence frequency of sequence identifiers corresponding to the first genome list within the group.
  • the first threshold value and the second threshold value may be expressed as indicators indicating filtering strength for a primary filtering operation for selecting second sequence identifiers from among first sequence identifiers.
  • the initially set first threshold value may be 0.95, and the second threshold value may be 0.05.
  • the magnitude of the first threshold is greater than the magnitude of the second threshold. If the first threshold value is large, it indicates that the number of genomes included in the first genome list, including sequence identifiers, should be large.
  • a small second threshold indicates that the number of genomes included in the second genome list including the sequence identifier should be small.
  • step 970 the computing device calculates the number of first genomes in the first genome list that includes each of the sequence identifiers corresponding to the first genome list, and includes each of the sequence identifiers corresponding to the first genome list. It is possible to calculate the number of second dielectrics in the second dielectric list.
  • the computing device may calculate a ratio of the number of genomes including the specific sequence identifier to the number of first genomes by calculating the number of genomes including the specific sequence identifier among the first genomes in units of specific sequence identifiers. there is.
  • the range of the specific sequence identifier is the range of sequence identifiers included in the first genomes.
  • the computing device may determine the selected sequence identifiers based on a method of excluding specific sequence identifiers corresponding to less than the first threshold value by comparing the calculated ratio with the first threshold value.
  • the computing device may calculate the ratio of the number of genomes including the specific sequence identifier to the number of second genomes by calculating the number of genomes including the specific sequence identifier among the second genomes in units of specific sequence identifiers.
  • the range of the specific sequence identifier is the range of sequence identifiers included in the first genomes.
  • the computing device may determine selected sequence identifiers based on a method of excluding specific sequence identifiers exceeding the second threshold value by comparing the calculated ratio with the second threshold value.
  • the computing device may compare the number of selected sequence identifiers with the minimum threshold number (980). The computing device may compare the number of selected sequence identifiers with the maximum threshold number (990). If the number of selected sequence identifiers is less than the minimum threshold number, the computing device may increase the number of selected sequence identifiers by adjusting the first threshold value used in step 970 . If an excessively small number of selected sequence identifiers exist, the computational complexity in the subsequent secondary filtering step (i.e., step 995) may not be reduced, but candidate sequence identifiers specific to the Vibrio cholerae species may be selected. It can be difficult.
  • step 995 computational complexity in the subsequent secondary filtering step. Therefore, there is a need to secure the accuracy of the selected candidate sequence identifiers while reducing computational complexity by setting the minimum and maximum threshold numbers.
  • the computing device may adjust the first threshold value downward and/or increase the second threshold value if the number of curated sequence identifiers is less than the minimum threshold number. , it is possible to increase the number of sequence identifiers selected. As another example, if the number of selected sequence identifiers is greater than the maximum threshold number, the computing device may decrease the number of selected sequence identifiers by increasing the first threshold value and/or adjusting the second threshold value downward.
  • the minimum threshold number may mean a minimum reference value for the number of selected sequence identifiers
  • the maximum threshold number may mean a maximum reference value for the number of selected sequence identifiers.
  • the computing device adjusts the filtering strength of the filtering operation in step 970 through the minimum threshold number and the maximum threshold number (ie, by increasing and/or decreasing the size of the first threshold value and/or the second threshold value). ), the complexity of calculation in the subsequent step 995 can be reduced, and results in which the selection accuracy of candidate sequence identifiers can be ensured can be achieved.
  • a value of 0.01 to 0.05 may be used as the width of the adjusted threshold values (the first threshold value and the second threshold value). For example, when the number of selected sequence identifiers is less than the minimum threshold number, the first threshold value and/or the second threshold value may be adjusted with a width of 0.01 to 0.05. As another example, a value of 0.001 to 0.01 may be used as the width of the adjusted threshold values. For example, when the number of selected sequence identifiers is greater than the maximum threshold number, the first threshold value and/or the second threshold value may be adjusted with a width of 0.001 to 0.01.
  • the computing device determines, for each of the selected sequence identifiers, a genome in which the ratio of genomes including the corresponding sequence identifier among genomes in the first genome list is equal to or greater than the fourth threshold value and the genome including the corresponding sequence identifier among genomes in the entire biota range
  • a candidate sequence identifier having a ratio of less than or equal to a third threshold may be selected (995). If it is determined that the number of sequence identifiers selected is less than the maximum threshold number while the number of sequence identifiers selected exceeds the minimum threshold number, step 995 may be performed. Step 995 may include a secondary filtering operation on the selected sequence identifiers (eg, second sequence identifiers).
  • the computing device determines the minimum reference value for the frequency of occurrence of the selected sequence identifiers (eg, second sequence identifiers) in the biota belonging to the species Vibrio cholerae.
  • a third threshold value which is a maximum reference value for the frequency of occurrence of the selected sequence identifiers (eg, second sequence identifiers) in the range of the fourth threshold value and the entire biota may be utilized.
  • the third threshold value and the fourth threshold value may be expressed as indicators indicating filtering strength of the secondary filtering operation corresponding to step 995 .
  • additional filtering on the number of candidate sequence identifiers finally screened in step 995 may be applied.
  • the number of finally selected candidate sequence identifiers may be compared with one or more threshold values.
  • a selected candidate sequence identifier may be output, and when it is determined that the result of the comparison does not satisfy the predetermined criterion, a third threshold value and/or a fourth threshold value.
  • the number of candidate sequence identifiers finally selected may be changed.
  • the processes described above in FIG. 9 can be implemented with a level of computation that can be performed with the performance of a general personal computer. Therefore, in the method for selecting sequence identifiers according to an embodiment of the present disclosure, the number of sequence identifiers to be searched is reduced by primarily calculating the specificity within a higher taxon, and then the number of sequence identifiers with the reduced number is reduced.
  • the search process only for the entire biota range, it is possible to have the advantage of accurately measuring the specificity of the entire biota while reducing the processing time of the entire algorithm to about 10 minutes.
  • the processes described in FIG. 9 may have an additional advantage of further reducing the processing time of the entire algorithm by utilizing the index data structure illustrated in FIGS. 10 to 13 to be described later.
  • the method according to an embodiment of the present disclosure reduces the time required for each search by utilizing a full text-indexing-based database in the search process, and finally shows the sequence similarity within the entire range. Sensitivity and specificity can be calculated quickly without a large-scale computational process such as search.
  • FIG. 10 is a flowchart exemplarily illustrating a method of generating an index data structure for searching sequence identifiers according to an embodiment of the present disclosure.
  • a detailed description of the previously defined and exemplified expressions such as the first sequence identifier, the second sequence identifier, the first layer, the second layer, and/or the frequency of occurrence will be omitted.
  • An index is a data structure that speeds up operations on tables that store data. Such an index can be created using one or more columns. For example, an index can be an ordered or ordered list for quick search for keywords in a document or sentence.
  • the index structure may consist of a tree structure.
  • a tree structure is a type of graph and consists of nodes and pointers to the nodes. Multiple nodes cannot point to one node, but one node can point to multiple nodes.
  • the method of comparing data one by one is inefficient.
  • Traverse means a series of processes of searching an index. The traverse starts from the root node and proceeds with the process of finding the next pointer by comparing the value of the search target with the division value. The traverse is terminated when an index corresponding to the value of the search target is found through the traverse.
  • An index according to an embodiment of the present disclosure may include a B+ tree (Balanced Tree) index and a bitmap index.
  • a B+ tree index may refer to a hierarchical indexing scheme of a root block, a branch block, and a leaf block.
  • a leaf block has a ROWID to access a corresponding row of a data block
  • a branch block and root block have a key value (e.g., block address) to access each sublevel.
  • a bitmap index may refer to an index technique that stores column values using bits, which are the minimum units used in computers, and automatically generates ROWIDs using them.
  • the index structure may be implemented as a linked list such as a tree structure, or may be implemented as an array structure such as a table.
  • the index structure may be formed of a data structure such as a B tree, a B* tree, or a hash table, but the implementation form of the index structure is not limited thereto.
  • An index according to an embodiment of the present disclosure may include an inverted index.
  • An inverted index is an index data structure that stores mapping information from content such as words, numbers, or words to a specific point in a database file or to a specific document. This inverted index structure can be used to efficiently perform text searches, such as full text searches. For example, in the process of generating an inverse index, a vector corresponding to each sequence identifier corresponding to an index word may be generated, and one or more genome IDs may be mapped to each sequence identifier.
  • Inverted index or inverse indexing in this disclosure may be used interchangeably with full text index or full text indexing.
  • FIG. 10 a new data structure generation method for efficiently performing a search process of querying TAX ID, genome and/or sequence identifier in the annotation storage is exemplarily described.
  • the index data structure may be created by processor 110 of computing device 100 of FIG. 1 and stored in memory 130 .
  • the index data structure may be generated by another device external to the computing device 100, received by the network unit 150 of the computing device 100, and stored in the memory 130.
  • the index data structure may be created by server 220 of FIG. 2 and stored in server 220 .
  • the index data structure may be stored and managed in the storage unit 340 in FIG. 3 .
  • the computing device may obtain the genome and a plurality of sequence identifiers included in the genome (1010).
  • a genome and a plurality of sequence identifiers included in the genome may be obtained from index target data.
  • Index target data means data to be included in the index structure, and a genome ID of a genome and one or more sequence identifiers included in the genome may have a mapping relationship between each other.
  • a table structure (510, 520 in FIG. 5 or 620 in FIG. 6) of a column structure including a column including information on genome and one or more sequence identifiers corresponding to the genome is This is an example of the mapping relationship.
  • the genome ID may be an identifier of a whole genome obtained from an external database, and a plurality of sequence identifiers include a base sequence included in genomes, a base sequence for a base sequence pattern included in genomes, and a sequence included in genomes. It may include sequence identifiers annotated to base sequence patterns, data for IDs, and data for sequence identifiers.
  • the computing device may generate a plurality of tokens by tokenizing the received plurality of sequence identifiers ( 1020 ).
  • the computing device may tokenize a plurality of sequence identifiers included in index target data into a plurality of tokens.
  • an index data structure including a plurality of tokens may be created.
  • one sequence identifier may correspond to one token.
  • tokenization may be performed based on a method of using a space or comma existing between the plurality of sequence identifiers as a stopword. That is, within a column including a plurality of sequence identifiers, each of a plurality of sequence identifiers is separated by spaces or commas. Accordingly, a space and/or a comma may be used as a delimiter to tokenize each of a plurality of sequence identifiers into one token.
  • index target data may include a first column representing a genome and a second column representing a plurality of sequence identifiers corresponding to the genome.
  • the second column contains a plurality of sequence identifiers. That is, since a plurality of sequence identifiers (eg, a plurality of genes) may generally exist in a specific genome, the second column may generally include not only one piece of data but a plurality of pieces of data.
  • the data to be indexed may be information in which a plurality of genomes including different sequence identifiers are stored.
  • a method for searching for and selecting sequence identifiers according to an embodiment of the present disclosure is a data structure that is commercially available. By applying a novel indexing technique to , it is possible to provide search for genome IDs and sequence identifiers while efficiently using computing resources. That is, the existing commercially available genome and gene storage unit data structure consists of a first column representing a genome and a second column representing a plurality of sequence identifiers corresponding to the genome.
  • a method for selecting a sequence identifier reduces the amount of computation used for a full search by reducing the range of sequence identifiers subject to a full search, and utilizes a full text index data structure in the search process. Therefore, the amount of computing resources can be reduced by reducing the number of database I/O operations.
  • the computing device may create an index data structure for the generated plurality of tokens (1030).
  • the index data structure includes a first data structure and a plurality of first sequence identifiers indicating which source genome among the genomes within the scope of the first hierarchy the plurality of first sequence identifiers belong to.
  • the source genome refers to a genome in which a predetermined sequence identifier appears among genomes within a range of a predetermined hierarchy. These source genomes may refer to different genomes depending on the target hierarchy and the type of sequence identifier.
  • a source genome which is a genome to which a plurality of first sequence identifiers belong among genomes within the range of the first hierarchy
  • the second data structure source genomes, which are genomes to which the plurality of first sequence identifiers belong, among genomes within the range of the second hierarchy may be displayed.
  • the first data structure may include data included in a column 531 and data included in a column 532 of FIG. 5 .
  • the second data structure may include data included in columns 641 and 642 of FIG. 6 .
  • the second data structure may include data included in column 531 and data included in column 532 of FIG. 5 .
  • the index data structure may include a key and a value.
  • the first data structure at least some of the plurality of first sequence identifiers may correspond to keys, and genomes to which sequence identifiers corresponding to the keys belong within the range of the first hierarchy may correspond to values.
  • the second data structure at least some of the plurality of first sequence identifiers may correspond to keys, and genomes to which sequence identifiers corresponding to the keys belong within the range of the second hierarchy may correspond to values.
  • the index data structure may be a data structure in which index target data including a genome and a plurality of sequence identifiers included in a genome corresponding to the genome is indexed.
  • the index data structure may include a first column representing a tokenized sequence identifier and a second column representing one or more genomes to which the tokenized sequence identifier belongs.
  • the index data structure may have a data structure in which one or more genomes are mapped to a single tokenized sequence identifier.
  • the index data structure may be a data structure in which tokenized sequence identifiers point to one or more genomes.
  • an index data structure may be a data structure that stores data using keys and values, and data (that is, column values) and the location of data are identified using keys and values. can be stored
  • the index data structure may refer to a data structure to which inverted-indexing is applied.
  • the computing device may generate an index data structure by applying inverse indexing to a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes.
  • the data structure to which reverse-indexing is applied may mean that a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes is inverted into a data structure in which a plurality of genomes are mapped to each of a plurality of sequence identifiers. there is.
  • the first data structure may be created from a plurality of tokens for a plurality of first sequence identifiers listed as belonging to each genome within the scope of the first hierarchy.
  • one sequence identifier may correspond to one token.
  • the second data structure is generated from a plurality of tokens for a plurality of first sequence identifiers listed as belonging to each genome within the scope of the second hierarchy, where one sequence identifier may correspond to one token.
  • the tokens may be tokenized based on a method of using a space or comma existing between a plurality of first sequence identifiers as a delimiter.
  • the second data structure may include data within a range of a difference set of the first layer to the second layer.
  • the computing device performs reverse indexing on a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes included in a first layer in which a target analyte is located on a taxonomy of an organism having a hierarchical structure.
  • a first data structure to which this is applied is generated, and reverse indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes included in a second layer higher than the first layer where the target analyte is located. 2 data structures can be created.
  • the computing device may select second sequence identifiers associated with the target analyte from among the first sequence identifiers. For example, the computing device determines, for first sequence identifiers, a frequency of occurrence within the range of the first hierarchy obtained from the first data structure and a frequency of occurrence within the range of the second hierarchy obtained from the second data structure. Second sequence identifiers associated with the target analyte may be selected from among the first sequence identifiers based at least in part on the frequency of occurrence of .
  • a computing device may perform the method for selecting a sequence identifier specific to a target analyte described above in FIGS. 1 to 9 by utilizing an index data structure.
  • an index data structure When the index data structure according to an embodiment of the present disclosure is utilized, a process of calculating the number of genomes including sequence identifiers can be efficiently performed, and thus, efficient utilization of computing resources is possible.
  • the index data structure according to an embodiment of the present disclosure can improve the calculation speed of the process of calculating the above-mentioned plurality of occurrence frequencies and reduce the complexity of the calculation process.
  • FIG. 11 is a flowchart exemplarily illustrating a method of filtering sequence identifiers using an index data structure according to an embodiment of the present disclosure.
  • the computing device may obtain a plurality of first sequence identifiers included in a first layer in which a target analyte is located on a classification system of organisms having a hierarchical structure (1110).
  • a computing device may obtain a plurality of first sequence identifiers associated with a target analyte by querying a repository for a Tax ID corresponding to the target analyte.
  • the computing device determines the range of the first hierarchy for the first sequence identifiers using a first data structure indicating which of the genomes within the range of the first hierarchy belong to the plurality of first sequence identifiers.
  • An appearance frequency within may be acquired (1120).
  • An index data structure in which reverse indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to one genome ID may be used to obtain the frequency of occurrence within the range of the first layer.
  • the computing device may perform a full text search for each of the first sequence identifiers using the index data structure. For example, the computing device may obtain frequencies of appearance within the range of the first hierarchy for the first sequence identifiers by utilizing the first data structure to which inverse indexing is applied.
  • the first data structure is an index data structure indicating to which source genome among genomes within the range of the first layer the plurality of first sequence identifiers belong.
  • the first data structure is a data structure in which reverse indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes.
  • the first data structure may include data included in a column 531 and data included in a column 532 of FIG. 5 .
  • At least one of the first sequence identifiers is at least a portion of a genic region, at least a portion of an intergenic region, or a plurality of contiguous genic regions. It may have at least one area among the areas including at least a portion of each.
  • Genomic data may be linked to classification ID information on a biological group, and unique genome ID and classification ID information may be recorded in a storage unit that stores information on genomes.
  • An annotation process for assigning a unique ID to each genome and each base sequence included in the genome is performed, and as a result of the annotation process, the genome ID and sequence identifier ID may be stored in a storage unit.
  • Full text indexing is performed on the data structure in the form of a list of unique IDs of sequence identifiers in the genome unit. As such, the method according to an embodiment of the present disclosure can maximize the efficiency of the process of searching for a candidate gene by reprocessing the information stored in the storage unit.
  • the computing device may use the index data structure to calculate the number of genomes including each of the first sequence identifiers for each of the first sequence identifiers.
  • existing storage structures for genome sequences and genetic data it is close to impossible to search for candidate genes according to biological groups for billions of genetic data included in hundreds of thousands to millions of genome data.
  • an index data structure in which each sequence identifier ID is recognized as an individual token is utilized, a full search for all gene IDs (eg, sequence identifier IDs) belonging to a desired biota This can happen at a rapid pace. Therefore, the method according to an embodiment of the present disclosure can quickly search for genes that can be used as diagnostic markers by storing genome and genetic data in a full-text index-based data structure.
  • the computing device uses a second data structure representing which source genome among genomes within a range of a second hierarchy higher than the first hierarchy to which the plurality of first sequence identifiers belong, and determines the second hierarchy for the first sequence identifiers.
  • An appearance frequency within a range may be acquired (1130).
  • the second data structure is an index data structure indicating to which source genome among genomes within a range of a second layer higher than the first layer the plurality of first sequence identifiers belong.
  • the second data structure is a data structure in which reverse indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes.
  • the second data structure may include data included in columns 641 and 642 of FIG. 6 .
  • the second data structure may include data included in column 531 and data included in column 532 of FIG. 5 .
  • An index data structure in which reverse indexing is applied to a data structure in which a plurality of sequence identifiers are mapped to one genome ID may be used to obtain the frequency of occurrence within the range of the second layer.
  • the computing device may perform a full text search for each of the first sequence identifiers using the index data structure. For example, the computing device may obtain frequencies of occurrence within the range of the second hierarchy for the first sequence identifiers by utilizing the first data structure to which inverse indexing is applied.
  • the computing device selects the first sequence identifier when the frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers is equal to or greater than a first threshold value.
  • Sequence identifiers whose frequency of appearance within the range of the second hierarchy for each of the above is equal to or less than a second threshold value may be selected as the second sequence identifiers.
  • the first threshold value is the minimum reference value for the frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers
  • the second threshold value is the minimum reference value for the frequency of appearance in the range of the first hierarchy for each of the first sequence identifiers. It may mean the maximum reference value for the frequency of occurrence within the range.
  • the selected second sequence identifier(s) has a frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers greater than or equal to a first threshold value and the second sequence identifier(s) for each of the first sequence identifiers.
  • the sequence identifiers having a frequency of appearance within the range of the hierarchy of the second threshold or less the sequence identifier(s) of a specific organism having a predetermined exclusivity may be removed.
  • the predetermined sequence identifier of a specific organism may include a sequence identifier included in the flora.
  • the technique according to an embodiment of the present disclosure can select a sequence identifier in a more efficient manner as the sequence identifier included in the flora is removed.
  • a technique according to a further embodiment of the present disclosure may adaptively change the first threshold value and/or the second threshold value, such that a number of sequence identifiers suitable for user needs may be selected. For example, in selecting the second sequence identifiers, the computing device selects a first sequence identifier for each of the first sequence identifiers while the frequency of occurrence within the range of the first hierarchy for each of the first sequence identifiers is equal to or greater than a first threshold value.
  • the first threshold value At least one of the value and the second threshold may be changed.
  • full text search is one of the natural language searches to return documents or data that match text contained in a query, for example, when full-text search is performed in response to a query containing a specific sequence identifier ID, A result of how many times a specific sequence identifier appears in a list of genomes in a specific range may be returned.
  • the computing device determines which of the first sequence identifiers is associated with the target analyte based, at least in part, on the frequency of occurrence within the scope of the first hierarchy and the frequency of occurrence within the scope of the second hierarchy, for the first sequence identifiers.
  • Second sequence identifiers may be selected (1140). Since the occurrence frequencies can be calculated at high speed using an index data structure (eg, the first data structure and/or the second data structure) to which the inverse-indexing technique is applied, second sequence identifiers among the first sequence identifiers The speed of the selection process will also be improved.
  • the frequency of occurrence within the scope of the third hierarchy for each of the second sequence identifiers the frequency of occurrence within the scope of the first hierarchy for each of the second sequence identifiers and/or the frequency of occurrence within the scope of the first hierarchy for each of the second sequence identifiers and/or the second for each of the second sequence identifiers;
  • the index data structure described above is used in the process of calculating the frequency of appearance within the range of the hierarchy, the speed of the process of selecting at least one third sequence identifier from among the second sequence identifiers can also be improved.
  • FIG. 12 illustrates an exemplary index data structure according to one embodiment of the present disclosure.
  • An index target table may include a first column 1210 representing genome IDs and a second column 1220 representing sequence identifiers mapped to each genome ID.
  • An index data structure may be created based on data included in the first column 1210 and the second column 1220 .
  • reverse-indexing may be performed on an index target table.
  • Inverse indexing may be performed in such a way that a data structure in which a plurality of sequence identifiers are mapped to each of a plurality of genomes is reversed into a data structure in which a plurality of genomes are mapped to each of a plurality of sequence identifiers.
  • a tokenization process and an indexing process for data included in the second column 1220 may be performed.
  • the tokenization process may include a segmentation process for text data. During the tokenization process, text data may be divided into a plurality of tokens according to specific criteria.
  • the indexing process may include generating an index data structure including location information, mapping information, and/or connection information for each of a plurality of tokens divided through the tokenization process.
  • indexing process separate index objects including reference numbers 1230 and 1240 may be created, and after the index objects are created, as the created index objects are utilized in the process of searching for sequence identifiers, Search speed can be increased.
  • sequence identifiers corresponding to genome 1 are A, B, C, D, E. Sequence identifiers can be split into multiple tokens based on delimiters such as spaces or commas. Each of the sequence identifiers corresponding to Genome 1 may correspond to one token. After tokenizing each of the sequence identifiers based on a space or comma, a column 1230 represented by reference number 1230 may be created based on each of the tokens. The computing device inserts information (eg, genome ID, genome address, etc.) of genomes including tokens included in the generated column 1230 into the column 1240 represented by reference number 1240, thereby generating column 1230. ) and an index data structure including a column 1240 may be created. In this example, data in column 1230 may correspond to a key in the index data structure and data in column 1240 may correspond to a value in the index data structure.
  • information eg, genome ID, genome address, etc.
  • this index data structure may include a first data structure and second data.
  • the first data structure may indicate to which genomes within the scope of the first hierarchy the first sequence identifiers belong, and to which genomes within the scope of the second hierarchy the second data structure belongs. can indicate that
  • the first data structure and the second data structure may have a data structure of the form illustrated in FIG. 12 as an example, and stored data values may be different from each other due to a difference in a layer range.
  • the first data structure is an index data structure using data included in a column 531 in FIG. 5 as a key and using data included in a column 532 as a value.
  • the second data structure is an index data structure using data included in a column 641 in FIG. 6 as a key and data included in a column 642 as a value.
  • the frequency of occurrence within the range of the first hierarchy for the first sequence identifiers (eg, a value included in the column 533 in FIG. 5) can be efficiently obtained by using the first data structure.
  • the frequency of occurrence within the range of the second hierarchy for the first sequence identifiers (eg, a value included in the column 643 in FIG. 6 ) can be efficiently obtained by using the second data structure.
  • the index data structure for the first layer range for first sequence identifiers and the second layer range for first sequence identifiers has been described, by using each index data structure with reverse-indexing applied, the previously described It will also be clear to one skilled in the art that multiple frequencies of occurrence can be calculated.
  • an index data structure When an index data structure is generated, information or the number of genomes including a specific sequence identifier may be obtained in response to a query for a specific sequence identifier in the process of calculating the above-described plurality of occurrence frequencies.
  • unnecessary computing resources may be prevented from being used in a full-text search process.
  • the computing device retrieves a genome including and not including the corresponding gene for each gene within a few seconds. can do.
  • the method according to an embodiment of the present disclosure exemplifies an inverse indexing technique using a space and/or comma existing between sequence identifiers as a stopword, but N- A gram (N-gram) technique may also be included in an indexing technique according to an embodiment of the present disclosure.
  • An index data structure according to an embodiment of the present disclosure may include any type of index structure capable of utilizing a full-text search for calculating the frequency of occurrence for a sequence identifier ID.
  • FIG. 13 illustratively illustrates a conceptual diagram of performing a full-text search according to an embodiment of the present disclosure.
  • the full-text search index 1310 may include an index data structure to which a reverse-indexing technique is applied for full-text search. As shown in FIG. 13, the full-text search index 1310 searches an object 1320 that includes genomes 1370, 1380, 1390, and 1396 for sequence identifiers 1330, 1340, 1350, and 1360, respectively. Can include pointing links.
  • full text search index 1310 does not match sequence identifier A 1330.
  • full text search index 1310 may include link information for pointing to the first dielectric 1370, the second dielectric 1380, and the third dielectric 1390.
  • sequence identifier B 1340 is a sequence identifier included in the second genome 1380 and the third genome 1390 .
  • the full-text search index 1310 may store link information pointing to objects for the second genome 1380 and the third genome 1390 among the objects 1320 in the database together with the sequence identifier B 1340. .
  • the computing device can more quickly grasp information on genomes including one sequence identifier through an index data structure, the execution speed of an algorithm for selecting a sequence identifier will increase rapidly.
  • a database When a database stores a large amount of data such as genome information and genetic information, it may take a relatively long time to perform a query for retrieving data of interest to a user. If the database takes a lot of time to respond to queries, the performance of the database may be adversely affected as a large number of I/Os are performed.
  • a method according to an embodiment of the present disclosure by applying a full-text indexing technique or an inverse indexing technique to a genome ID and a sequence identifier ID, rapidly searches for a sequence identifier specific to a target analyte in a repository containing vast genome data. can do.
  • a method according to an embodiment of the present disclosure may improve performance of a database management system by reducing processing time for responding to a query.
  • a reverse indexing technique may be performed on the gene annotation DB using the gene name itself according to an embodiment of the present disclosure.
  • Reference number 1400 shows data acquired from the annotation DB as an example.
  • the aforementioned data may be expressed in a table format as shown in the example of FIG. 14, but may also be expressed as an object in any form other than a table.
  • the data indicated by reference number 1400 may include the number of genes (n_gene) corresponding to the name (tax_name) of the target object detected in the annotation DB.
  • values included in a column represented by gene_abb in reference number 1400 may represent gene names (or gene IDs).
  • the aforementioned gene names may represent known gene abbreviations named by NCBI.
  • the gene name may represent a gene ID in the form of an arbitrarily assigned code.
  • n_named_unique_gene may indicate the number of named unique genes.
  • the index data structure For example, a full text search index
  • the full-text indexing technique or the reverse indexing technique may be created.
  • a technical effect is obtained that a sequence identifier specific to a target analyte can be searched more quickly in a repository containing vast genome data. It can be.
  • Reference numeral 1500 in FIG. 15 shows an embodiment showing the results of selection of sequence identifiers.
  • Target TaxonName in FIG. 15 may represent Neisseria gonorrhoeae. That is, the first layer may correspond to the gonorrhea species to which gonorrhea belongs, and the genus of Neisseria represented by Parent TaxoName may correspond to the second layer.
  • the third layer corresponding to the top layer may correspond to bacteria.
  • the second tier or the third tier is at least one of Neisseriaceae, Neisseriales, Betaproteobactria, or Proteobacteria. may respond to
  • Ex List Size in reference number 1500 may indicate the number of genomes included in the range of the third layer (eg, germ station).
  • Reference numeral 1510 represents a list of sequence identifiers. For each sequence identifier, such as cas7c, cas8c, and mobC, the frequency of occurrence in the range of the first hierarchy (1520), the frequency of occurrence in the range of the second hierarchy (1530), the frequency of occurrence in the range of the third hierarchy ( 1540) and a score 1550 according to Equation 1 may be calculated.
  • sequence identifier such as cas7c, cas8c, and mobC
  • Reference numeral 1520 indicates the frequency of occurrence within the range of the first hierarchy for each of the sequence identifiers set forth in 1510.
  • a sequence identifier named cas7c is a sequence identifier included in 773 genomes out of a total of 782 genomes included in the range of the first hierarchy corresponding to the gonorrhea spp.
  • the calculated appearance frequency for cas7c can be exemplified as 98.85% (or 0.9885).
  • Reference numeral 1530 indicates the frequency of occurrence within the scope of the second hierarchy for each of the sequence identifiers set forth in 1510.
  • Reference numeral 1540 indicates the frequency of occurrence within the range of the third layer for each of the sequence identifiers set forth in 1510.
  • 15 shows the cas7c to nosZ sequence identifiers 1510.
  • These sequence identifiers 1510 correspond to some of the sequence identifiers included in the Neisseria gonorrhoeae target analyte.
  • the sequence identifier 1510 is a second sequence identifier 1510 that is primarily filtered based on the frequency of occurrence 1520 within the range of the first hierarchy and the frequency 1530 within the range of the second hierarchy. ) can be.
  • All sequence identifiers included in Neisseria gonorrhoeae are first sequence identifiers, and among them, based on the frequency of occurrence within the range of the first hierarchy (1520) and the frequency of occurrence within the range of the second hierarchy (1530), 1
  • the second sequence identifier 1510 may be selected through differential filtering.
  • an appearance frequency 1540 within the third hierarchical range for each of the second sequence identifiers 1510 may be calculated.
  • a score (1550) based on the frequency of appearance (1520) within the range of the first layer, the frequency of appearance (1530) within the range of the second layer, and the frequency of appearance (1540) within the range of the third layer calculated in this manner. can be computed.
  • the frequency of appearance within the range of the first layer may have a relatively high value, but the frequency of occurrence within the range of the second layer is expressed as 9.03% and within the range of the third layer
  • the appearance frequency may have a relatively high value of appearance frequency related to the second layer or the third layer, as expressed as 2.99%, compared to other sequence identifiers.
  • the first threshold associated with the frequency of occurrence within the range of the first hierarchy may be passed, but the second threshold associated with the frequency of occurrence within the range of the second hierarchy Value (or the third threshold value related to the frequency of appearance within the range of the third hierarchy) may not pass, so there will be a high possibility that it will not be selected as the final third sequence identifier.
  • a sequence identifier having a high frequency of occurrence within the range of the first layer and a low frequency of occurrence within the range of the second layer and low frequency of occurrence within the range of the third layer is a target detection (e.g., gonorrhea) ) can be selected as a sequence identifier that is highly likely to be specific to
  • Reference number 1550 denotes a score value to which Equation 1 above is applied to each of the sequence identifiers included in 1510. As shown, fitB and fitA, which are sequence identifiers having relatively high score values, may be finally determined as the third sequence identifier. In an additional embodiment, in addition to the scoring method based on Equation 1, a method of selecting a third sequence identifier based at least in part on the values indicated in box 1530 and/or box 1540 may also be possible.
  • 16 is a schematic diagram of a computing environment according to one embodiment of the present disclosure.
  • a component, module or unit in this disclosure includes routines, procedures, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • routines, procedures, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • methods presented in this disclosure can be used in single-processor or multiprocessor computing systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like ( It will be fully appreciated that each of these may be implemented with other computer system configurations, including those that may be operative in connection with one or more associated devices.
  • Embodiments described in this disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote memory storage devices.
  • a computing device typically includes a variety of computer readable media.
  • Computer readable media can be any medium that can be accessed by a computer, including volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. Includes removable media.
  • Computer readable media may include computer readable storage media and computer readable transmission media.
  • Computer readable storage media are volatile and nonvolatile media, transitory and non-transitory, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. includes media
  • Computer readable storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device. device, or any other medium that can be accessed by a computer and used to store desired information.
  • a computer readable transmission medium typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism. Including all information delivery media.
  • modulated data signal means a signal that has one or more of its characteristics set or changed so as to encode information within the signal.
  • computer readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also intended to be included within the scope of computer readable transmission media.
  • An exemplary environment 2000 implementing various aspects of the present invention is shown comprising a computer 2002, which includes a processing unit 2004, a system memory 2006 and a system bus 2008. do.
  • Computer 200 herein may be used interchangeably with a computing device.
  • System bus 2008 couples system components, including but not limited to system memory 2006, to processing unit 2004.
  • Processing unit 2004 may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be used as the processing unit 2004.
  • System bus 2008 may be any of several types of bus structures that may additionally be interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures.
  • System memory 2006 includes read only memory (ROM) 2010 and random access memory (RAM) 2012 .
  • the basic input/output system (BIOS) is stored in non-volatile memory 2010, such as ROM, EPROM, EEPROM, etc. BIOS is a basic set of information that helps transfer information between components within the computer 2002, such as during startup. contains routines.
  • RAM 2012 may also include high-speed RAM, such as static RAM, for caching data.
  • the computer 2002 may also read from an internal hard disk drive (HDD) 2014 (eg EIDE, SATA), a magnetic floppy disk drive (FDD) 2016 (eg a removable diskette 2018), or for writing to them), SSDs and optical disk drives 2020 (for example, for reading CD-ROM disks 2022 or reading from or writing to other high capacity optical media such as DVDs) include
  • HDD hard disk drive
  • FDD magnetic floppy disk drive
  • optical disk drives 2020 for example, for reading CD-ROM disks 2022 or reading from or writing to other high capacity optical media such as DVDs
  • the hard disk drive 2014, magnetic disk drive 2016, and optical disk drive 2020 are connected to the system bus 2008 by the hard disk drive interface 2024, magnetic disk drive interface 2026, and optical drive interface 2028, respectively.
  • the interface 2024 for external drive implementation includes, for example, at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.
  • USB Universal Serial Bus
  • drives and their associated computer readable media provide non-volatile storage of data, data structures, computer executable instructions, and the like.
  • drives and media correspond to storing any data in a suitable digital format.
  • computer-readable storage media refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art can use zip drives, magnetic cassettes, flash memory cards, cartridges, It will be appreciated that other types of computer-readable storage media, such as those of other types, may also be used in the exemplary operating environment and that any such media may contain computer-executable instructions for performing the methods of the present invention. .
  • a number of program modules may be stored on the drive and RAM 2012, including an operating system 2030, one or more application programs 2032, other program modules 2034, and program data 2036. All or portions of the operating system, applications, modules and/or data may also be cached in RAM 2012. It will be appreciated that the present invention may be implemented in a variety of commercially available operating systems or combinations of operating systems.
  • a user may enter commands and information into the computer 2002 through one or more wired/wireless input devices, such as a keyboard 2038 and a pointing device such as a mouse 2040.
  • Other input devices may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like.
  • an input device interface 2042 that is connected to the system bus 2008, a parallel port, IEEE 1394 serial port, game port, USB port, IR interface, may be connected by other interfaces such as the like.
  • a monitor 2044 or other type of display device is also connected to the system bus 2008 through an interface such as a video adapter 2046.
  • computers typically include other peripheral output devices (not shown) such as speakers, printers, and the like.
  • Computer 2002 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 2048 via wired and/or wireless communications.
  • Remote computer(s) 2048 may be workstations, server computers, routers, personal computers, handheld computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, and generally relate to computer 2002.
  • the logical connections shown include wired/wireless connections to a local area network (LAN) 2052 and/or a larger network, such as a wide area network (WAN) 2054 .
  • LAN and WAN networking environments are common in offices and corporations and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to worldwide computer networks, such as the Internet.
  • computer 2002 When used in a LAN networking environment, computer 2002 is connected to local network 2052 through wired and/or wireless communication network interfaces or adapters 2056. Adapter 2056 may facilitate wired or wireless communications to LAN 2052, which also includes a wireless access point installed therein to communicate with wireless adapter 2056.
  • computer 2002 When used in a WAN networking environment, computer 2002 may include a modem 2058, be connected to a communications server on WAN 2054, or other means of establishing communications over WAN 2054, such as over the Internet. have Modem 2058, which can be internal or external and wired or wireless, is connected to system bus 2008 through serial port interface 2042.
  • program modules described for computer 2002, or portions thereof may be stored in remote memory/storage device 2050. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between computers may be used.
  • Computer 1602 is any wireless device or entity that is deployed and operating in wireless communication, such as printers, scanners, desktop and/or portable computers, portable data assistants (PDAs), communication satellites, and associated with wireless detectable tags. It operates to communicate with arbitrary equipment or places and telephones. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication may be a predefined structure as in conventional networks or simply an ad hoc communication between at least two devices.
  • wireless communication such as printers, scanners, desktop and/or portable computers, portable data assistants (PDAs), communication satellites, and associated with wireless detectable tags. It operates to communicate with arbitrary equipment or places and telephones. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication may be a predefined structure as in conventional networks or simply an ad hoc communication between at least two devices.
  • It can be used in a device, system, etc. that selects a sequence identifier specific to a target analyte to detect the analyte.

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Biophysics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Analytical Chemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Bioethics (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Evolutionary Computation (AREA)
  • Public Health (AREA)
  • Software Systems (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법이 개시된다. 상기 방법은, 계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물을 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계, 상기 제 1 서열 식별자들 각각에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 단계, 및 상기 제 2 서열 식별자들 각각에 대하여, 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 3 서열 식별자를 선정하는 단계를 포함할 수 있다. 대표도는 도 6일 수 있다.

Description

타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법
본 개시는 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법에 관한 것으로, 보다 구체적으로 타겟 분석물을 검출하기 위해 타겟 분석물에 특이적인 서열 식별자를 선정하는 방법에 관한 것이다.
차세대 염기서열 분석(NGS:Next Generation Sequencing) 기술이 발전하고 많은 수의 염기서열들의 집합을 병렬적으로 처리할 수 있게 됨에 따라, 다양한 분야에 적용가능한 형태로 염기서열 분석 기술이 활용되고 있다.
치료의학 중심에서 예방의학 시대로 변모해 가면서, 분자유전 기술의 발전과 함께 특정 생물군에 특이적인 염기서열들을 탐색하는 기술이 체외진단(IVD) 분야(특히, 분자 진단 분야)에서 특히 각광을 받고 있다.
특정 생물군에 특이적인 후보 염기서열을 탐색하기 위해서는, 단일 유전자 또는 다수의 유전자들에 대하여 상용화된 서열 탐색 소프트웨어를 이용하여 생물군 전체의 범위에 대해서 해당 서열과 유사한 서열이 존재하는지 여부를 대조하는 방식이 일반적으로 사용되어 왔다. 데이터베이스에 새롭게 저장되는 유전자 정보의 양이 급격하게 증가함에 따라, 이러한 방식의 서열 탐색 기술을 사용하는 경우에는 컴퓨팅 리소스를 불필요하게 많이 소모할 뿐만 아니라 서열 탐색에 상대적으로 긴 시간이 소요될 수밖에 없다. 또한, 기존의 염기 서열 및 유전자 데이터 구조는 수백만 건의 유전체 데이터에 포함된 수십억 건의 유전자 데이터에 대한 진단 마커 등의 후보 유전자를 탐색하기에 불가능한 구조로 평가되고 있다.
이처럼 전체 생물군의 범위 내에서 특정 염기서열과 유사한 혹은 특이적인 염기서열을 탐색하는 방식으로는 복잡한 계산 방식을 필요로 하기 때문에, 특정 염기서열에 대응되는 후보 염기서열들을 발굴하는데 어려움이 따른다.
대한민국 공개 특허 제2017-0046315호는 차세대 시퀀싱을 통해 얻은 모본과 부본 각각의 단일 염기서열 변이를 탐색하기 위하여 모본과 부본의 염기서열을 알려진 참조서열에 정렬하여 비교하는 내용의 기술을 제시하고 있다.
본 개시내용은 전술한 배경기술에 대응하여 안출된 것으로, 지정된 생물군 내에서 민감도가 높으면서 다른 생물군과 구별되는 높은 특이도를 가지는 염기서열을 효율적인 방식으로 탐색하는 것을 목적으로 한다.
전술한 바와 같은 과제를 실현하기 위하여 본 개시내용의 일 실시예에 따라, 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 서열 식별자(sequence identifier)를 선정하는 방법이 개시된다. 상기 방법은,
계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계;
상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 단계; 및 상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 제 2 서열 식별자들을 선정하는 단계는, 상기 제 1 계층에 포함된 제 1 유전체들 중에서 상기 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및 상기 제 2 계층에 포함된 제 2 유전체들 중에서 상기 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계를 포함하고, 상기 제 3 서열 식별자들을 선정하는 단계는, 상기 제 1 계층에 포함된 제 1 유전체들 중에서 상기 제 2 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 2 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및 상기 제 3 계층에 포함된 제 3 유전체들 중에서 상기 제 2 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 2 서열 식별자들에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도를 획득하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계는, 상기 제 2 계층에 포함된 제 2 유전체들 중에서 상기 제 1 유전체들이 제외된 범위 내에서, 상기 제 1 서열 식별자들에 대한 출현 빈도를 획득하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 제 3 서열 식별자를 선정하는 단계는, 상기 제 2 서열 식별자들에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도를 획득하는 단계는, 상기 제 3 계층에 포함된 제 3 유전체들 중에서 상기 제 1 유전체들이 제외된 범위 또는 상기 제 3 유전체들 중에서 상기 제 2 유전체들이 제외된 범위 내에서, 상기 제 2 서열 식별자들에 대한 출현 빈도를 획득하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 제 2 서열 식별자들을 선정하는 단계는, 상기 제 2 계층에 대한 상기 제 1 계층의 차집합(difference set)의 범위 내에서의 상기 제 1 서열 식별자들에 대한 출현 빈도를 연산하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 제 3 서열 식별자를 선정하는 단계는, 상기 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3 계층에 대한 상기 제 2 계층의 차집합의 범위 내에서의 상기 제 2 서열 식별자들에 대한 출현 빈도를 연산하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 서열 식별자들을 선정하는 단계는, 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자들을 상기 제 2 서열 식별자들로 선정하는 단계를 포함할 수 있다. 상기 제 1 임계 값은 상기 제 1 계층 내에서의 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이며, 그리고 상기 제 2 임계 값은 상기 제 2 계층 내에서의 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값이다.
본 개시내용의 일 실시예에 따라, 상기 제 2 서열 식별자들을 선정하는 단계는, 상기 제 1 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 제 1 서열 식별자들의 개수가 사전설정된 개수 미만인 경우, 또는 사전설정된 개수를 초과하는 경우, 상기 제 1 임계 값 또는 상기 제 2 임계 값 중 적어도 하나를 변경하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 방법은 상기 선정된 제 2 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 사전 결정된 서열 식별자는, 상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 3 서열 식별자를 선정하는 단계는, 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도가 제3 임계 값 이하이면서 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 4 임계 값 이상인 서열 식별자를 상기 제 3 서열 식별자로 선정하는 단계를 포함할 수 있다. 상기 제 3 임계 값은 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값이며, 그리고 상기 제 4 임계 값은 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이다.
본 개시내용의 일 실시예에 따라, 상기 선정된 제 3 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 사전 결정된 서열 식별자는, 상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 3 서열 식별자를 선정하는 단계는, 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 추가적으로 고려하여 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 상기 제 3 서열 식별자를 선정하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 3 서열 식별자를 선정하는 단계는, 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도, 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 기초하여 상기 제 2 서열 식별자들 각각에 대한 스코어(score)를 산정함으로써, 상기 제 2 서열 식별자들 중 상기 제 3 서열 식별자를 선정하는 단계를 포함할 수 있다. 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도의 크기가 클 수록 높은 스코어가 산정되고, 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정되고, 그리고 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 스코어는, Score = ((Fin/Gin)
Figure PCTKR2022016787-appb-img-000001
((Gtotal+Gin)/Gtotal)) / (((Fexp/Gexp)/((Gtotal+Gexp)/Gtotal)) + (Fext/Gext))
에 의해 산정될 수 있다.
Fin은 상기 제 2 서열 식별자들 중에서 상기 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 1 계층의 범위 내에서의 유전체의 개수이며, Gin은 상기 제 1 계층에 포함되는 유전체들의 개수이며, Gtotal은 상기 제 3 계층에 포함되는 유전체들의 개수이며, Fexp는 상기 제 2 서열 식별자들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 2 계층의 범위 내에서의 유전체의 개수이며, Fext는 상기 제 2 서열 식별자들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 3 계층의 범위 내에서의 개수이며, Gexp는 상기 제 2 계층에 대한 상기 제 1 계층의 차집합의 범위 내에 포함되는 유전체들의 개수이며, 그리고 Gext는 상기 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3계층에 대한 상기 제 2 계층의 차집합의 범위 내에 포함되는 유전체들의 개수이다.
본 개시내용의 일 실시예에 따라, 상기 계층 구조는 상위 계층이 하위 계층을 포괄하는 생물학적 계통 구조일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 계층은, 포함된 유전체들의 개수가 임계 개수를 초과하는 상기 제 1 계층의 immediately higher hierarchical position일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 3 계층은, 상기 계층 구조 상에서의 최상위 계층일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 3 서열 식별자는, 상기 타겟 분석물에 특이적인 서열 식별자로 고려될 후보(candidate) 서열 식별자일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도는 상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 소스 유전체(source genome)에 속하는지 나타내는 제 1 데이터 구조로부터 획득될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도는 상기 복수의 제 1 서열 식별자들이 상기 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조로부터 획득될 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨터 판독가능 매체에 저장되는 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서에 의해 실행되는 경우, 상기 하나 이상의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함할 수 있다. 상기 방법은: 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계; 상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 단계; 및 상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 서열 식별자를 선정하기 위한 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는 메모리 및 프로세서를 포함할 수 있다. 상기 프로세서는: 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하고; 상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하고; 그리고 상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정할 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 서열 식별자(sequence identifier)를 선정하는 방법이 개신된다. 상기 방법은 계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계; 상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 유천체에 속하는지 나타내는 제 1 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 상기 복수의 제 1 서열 식별자들이 상기 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및 상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 데이터 구조에서, 상기 복수의 제 1 서열 식별자들이 키(key)에 해당되고, 상기 제 1 계층의 범위 내에서 상기 키에 해당되는 서열 식별자들이 속하는 유전체가 값(value)에 해당될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 데이터 구조에서, 상기 복수의 제 1 서열 식별자들이 키(key)에 해당되고, 상기 제 2 계층의 범위 내에서 상기 키에 해당되는 서열 식별자들이 속하는 유전체가 값(value)에 해당될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 데이터 구조 및 상기 제 2 데이터 구조는, 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱(inverted-indexing)이 적용된 데이터 구조일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 역 인덱싱이 적용된 데이터 구조는, 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조가 복수의 서열 식별자들 각각에 복수의 유전체들이 맵핑된 데이터 구조로 반전된 것일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 1 데이터 구조는, 상기 제 1 계층의 범위 내의 각 유전체에 속한 것으로 나열된 상기 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성되며, 여기서 하나의 서열 식별자는 하나의 토큰과 대응될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 데이터 구조는, 상기 제 2 계층의 범위 내의 각 유전체에 속한 것으로 나열된 상기 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성되며, 여기서 하나의 서열 식별자는 하나의 토큰과 대응될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 토큰은, 상기 나열된 상기 복수의 제 1 서열 식별자들 사이에 존재하는 스페이스(space) 또는 콤마(comma)를 구분자(stopword)로 사용하는 방식에 기초하여 토큰화될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 데이터 구조는, 상기 제 2 계층에 대한 상기 제 1 계층의 차집합(difference set)의 범위 내의 데이터를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 복수의 제1 서열 식별자들 중 적어도 하나는, 유전자 영역(genic region)의 적어도 일부 영역, 및/또는 유전자-사이 영역(intergenic region)의 적어도 일부 영역일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 서열 식별자들을 선정하는 단계는, 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자들을 상기 제 2 서열 식별자들로 선정하는 단계;를 포함하며, 그리고 상기 제 1 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이며, 그리고 상기 제 2 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값일 수 있다.
본 개시내용의 일 실시예에 따라, 상기 제 2 서열 식별자들을 선정하는 단계는, 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 제 1 서열 식별자들의 개수가 사전설정된 개수 미만인 경우, 또는 사전설정된 개수를 초과하는 경우, 상기 제 1 임계 값 또는 상기 제 2 임계 값 중 적어도 하나를 변경하는 단계;를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 선정된 제 2 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 사전 결정된 특정 생물의 서열 식별자는, 상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 상기 방법은 상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는 단계를 더 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 데이터 구조를 생성하는 방법이 개시된다. 상기 방법은, 계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자(sequence identifier)들이 맵핑된 데이터 구조에 역 인덱싱(inverted-indexing)이 적용된 제 1 데이터 구조를 생성하는 단계; 상기 타겟 분석물이 위치한 제 1 계층보다 상위인 제 2 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱이 적용된 제 2 데이터 구조를 생성하는 단계; 및 상기 제 1 서열 식별자들에 대하여, 상기 제 1 데이터 구조로부터 획득한 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 데이터 구조로부터 획득한 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정하는 단계를 포함할 수 있다.
본 개시내용의 일 실시예에 따라, 타겟 분석물을 검출하기 위한 서열 식별자를 선정하기 위한 컴퓨팅 장치가 개시된다. 상기 컴퓨텅 장치는, 메모리; 및 프로세서;를 포함하며, 그리고 상기 프로세서는: 계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하고, 상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 유천체에 속하는지 나타내는 제 1 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 제 1 출현 빈도를 획득하고, 상기 복수의 제 1 서열 식별자들이 상기 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 제 2 출현 빈도를 획득하며, 상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정할 수 있다.
본 개시내용의 일 실시예에 따르면, 지정된 생물군 내에서 민감도가 높으면서 다른 생물군과 구별되는 높은 특이도를 가지는 염기서열을 효율적인 방식으로 탐색할 수 있다는 효과가 달성될 수 있다.
도 1은 본 개시내용의 일 실시예에 따른 컴퓨팅 장치의 블록 구성도를 개략적으로 도시한다.
도 2는 본 개시내용의 일 실시예에 따른 시스템의 블록 구성도를 개략적으로 도시한다.
도 3은 본 개시내용의 일 실시예에 따라 서열 식별자를 선정하는 과정에 대한 개념도를 예시적으로 도시한다.
도 4는 본 개시내용의 일 실시예에 따라 계층 구조를 가지는 생물의 분류 체계에서 서열 식별자를 선정하는데 활용되는 계층들을 예시적으로 도시한다.
도 5는 본 개시내용의 일 실시예에 따라 제 1 계층과 제 2 계층을 고려하여 서열 식별자들의 출현 빈도를 연산하는데 사용되는 예시적인 데이터 구조를 도시한다.
도 6은 본 개시내용의 일 실시예에 따라 제 1 계층과 제 3 계층을 고려하여 서열 식별자들의 출현 빈도를 연산하는데 사용되는 예시적인 데이터 구조를 도시한다.
도 7은 본 개시내용의 일 실시예에 따라, 타겟 분석물에 특이적인 후보 서열 식별자를 선정하기 위한 방법을 예시적으로 도시하는 순서도이다.
도 8은 본 개시내용의 일 실시예에 따라 타겟 분석물에 특이적인 타겟 서열 식별자를 선정하기 위한 방법을 예시적으로 도시하는 순서도이다.
도 9는 본 개시내용의 일 실시예에 따라 타겟 분석물에 특이적인 후보 서열 식별자를 선정하기 위한 방법을 예시적으로 도시하는 순서도이다.
도 10은 본 개시내용의 일 실시예에 따라 서열 식별자를 탐색하기 위한 인덱스 데이터 구조를 생성하는 방법을 예시적으로 도시하는 순서도이다.
도 11은 본 개시내용의 일 실시예에 따라 인덱스 데이터 구조를 이용하여 서열 식별자들을 필터링하는 방법을 예시적으로 도시하는 순서도이다.
도 12는 본 개시내용의 일 실시예에 따른 예시적인 인덱스 데이터 구조를 도시한다.
도 13은 본 개시내용의 일 실시예에 따른 전체 텍스트 검색을 수행하는 개념도를 예시적으로 도시한다.
도 14는 본 개시내용의 일 실시예에 따른 역-인덱싱 기법을 예시적으로 도시한다.
도 15는 본 개시내용의 일 실시예에 따른 서열 식별자 선정 결과를 예시적으로 도시한다.
도 16은 본 개시내용의 일 실시예에 따른 컴퓨팅 환경의 개략도이다.
다양한 실시예들이 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시내용의 이해를 제공하기 위해서 제시된다. 본 개시내용의 실시를 위한 구체적인 내용을 설명하기에 앞서, 본 개시내용의 기술적 요지와 직접적 관련이 없는 구성에 대해서는 본 발명의 기술적 요지를 흩뜨리지 않는 범위 내에서 생략하였음에 유의하여야 할 것이다. 또한, 본 명세서 및 청구범위에 사용된 용어 또는 단어는 발명자가 자신의 발명을 최선의 방법으로 설명하기 위해 적절한 용어의 개념을 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템", "부" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭하며, 상호 교환 가능하게 사용될 수 있다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", "B 만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다.
당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 구성요소들, 블록들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시적 구성요소들, 블록들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.
제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예 들로 한정되는 것이 아니다. 본 발명은 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
도 1은 본 개시내용의 일 실시예에 따른 컴퓨팅 장치(100)의 블록 구성도를 개략적으로 도시한다.
본 개시의 일 실시예에 따른 컴퓨팅 장치(100)는 프로세서(110), 메모리(130), 및 네트워크부(150)를 포함할 수 있다.
도 1에 도시된 컴퓨팅 장치(100)의 구성은 간략화 하여 나타낸 예시일 뿐이다. 본 개시의 일 실시예에서 컴퓨팅 장치(100)는 컴퓨팅 장치(100)의 컴퓨팅 환경을 수행하기 위한 다른 구성들이 포함될 수 있고, 개시된 구성들 중 일부만이 컴퓨팅 장치(100)를 구성할 수도 있다.
본 개시내용에서의 컴퓨팅 장치(100)는 본 개시내용의 실시예들을 구현하기 위한 시스템을 구성하는 노드를 의미할 수 있다. 컴퓨팅 장치(100)는 임의의 형태의 사용자 단말 또는 임의의 형태의 서버를 의미할 수 있다. 전술한 컴퓨팅 장치(100)의 컴포넌트들은 예시적인 것으로 일부가 제외될 수 있거나 또는 추가 컴포넌트가 포함될 수도 있다. 일례로, 전술한 컴퓨팅 장치(100)가 단말을 포함하는 경우, 출력부(미도시) 및 입력부(미도시)가 그 범위 내에 포함될 수 있다.
본 개시내용에서의 컴퓨팅 장치(100)는 후술될 본 개시내용의 실시예들에 따른 기술적 특징들을 수행할 수 있다. 컴퓨팅 장치(100)는 인덱스 구조의 조직화를 위한 프로세스들을 수행할 수 있다. 컴퓨팅 장치(100)는 서열 식별자를 선정하기 위한 프로세스들을 수행할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득할 수 있다. 컴퓨팅 장치(100)는 제 1 서열 식별자들 각각에 대하여, 제 1 계층의 범위 내에서의 출현 빈도 및 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정할 수 있다. 컴퓨팅 장치(100)는 제 2 서열 식별자들 각각에 대하여, 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도 및 제 1 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 제 2 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 3 서열 식별자를 선정할 수 있다.
본 개시내용에서 사용되는 "타겟 분석물"(target analyte)은 분석, 획득 또는 검출하고자 하는 임의의 형태의 유기체를 포함할 수 있다. 예를 들어, 유기체는 하나의 속, 종, 아종, 서브타입, 지노타입, 시로타입, 스트레인, 분리종(isolate) 또는 재배종(cultivar)에 속한 유기체를 의미할 수 있다. 유기체는 원핵세포(예컨대, Mycoplasma pneumoniae, Chlamydophila pneumoniae, Legionella pneumophila, Haemophilus influenzae, Streptococcus pneumoniae, Bordetella pertussis, Bordetella parapertussis, Neisseria meningitidis, Listeria monocytogenes, Streptococcus agalactiae, Campylobacter, Clostridium difficile, Clostridium perfringens, Salmonella, Escherichia coli, Shigella, Vibrio, Yersinia enterocolitica, Aeromonas, Chlamydia trachomatis, Neisseria gonorrhoeae, Trichomonas vaginalis, Mycoplasma hominis, Mycoplasma genitalium, Ureaplasma urealyticum, Ureaplasma parvum, Mycobacterium tuberculosis, Treponema pallidum, Candida, Mobiluncus, Megasphaera, Lacto spp., Mycoplasma genitalium, Clostridium difficile, Helicobacter Pylori, ClariR, CPE, Group B Streptococcus, Enterobacter cloacae complex, Proteus mirabilis, Klebsiella aerogenes, Pseudomonas aeruginosa, Klebsiella oxytoca, Serratia marcescens, Klebsiella pneumoniae, Actinomycetaceae actinotignum, Enterococcus faecium Staphylococcus epidermidis, Enterococcus faecalis, Staphylococcus saprophyticus, Staphylococcus aureus, Acinetobacter baumannii, Morganella morganii, Aerococcus urinae, Pantoea aglomerans, Citrobacter Freundii, Providencia stuartii, Citrobacter koseri, Streptococcus anginosus, Trichophyton mentagrophytes complex, Microsporum spp., Trichophyton rubrum, Epidermophyton floccosum, Trichophyton tonsurans), 진핵세포(예컨대, 원생동물과 기생동물, 균류, 효모, 고등 식물, 하등 동물 및 포유동물과 인간을 포함하는 고등동물), 바이러스 또는 비로이드를 포함할 수 있다. 상기 진핵세포 중 기생충(parasite)은 예를 들어, Giardia lamblia, Entamoeba histolytica, Cryptosporidium, Blastocystis hominis, Dientamoeba fragilis, Cyclospora cayetanensis, stercoralis, trichiura, hymenolepis, Necator americanus, Enterobius vermicularis, Taenia spp., Ancylostoma duodenale, Ascaris lumbricoides, Enterocytozoon spp./Encephalitozoon spp. 를 포함할 수 있다. 바이러스는 예를 들어, 호흡기 질환을 유발하는 인플루엔자 A 바이러스(Flu A), 인플루엔자 B 바이러스(Flu B), 호흡 씬시티얼 바이러스 A(Respiratory syncytial virus A: RSV A), 호흡 씬시티얼 바이러스 B(Respiratory syncytial virus B: RSV B), 코비드(Covid)-19 바이러스, 파라인플루엔자 바이러스 1(PIV 1), 파라인플루엔자 바이러스 2(PIV 2), 파라인플루엔자 바이러스 3(PIV 3), 파라인플루엔자 바이러스 4(PIV 4), 메타뉴모바이러스(MPV), 인간 엔테로바이러스(HEV), 인간 보카바이러스(HBoV), 인간 라이노바이러스(HRV), 코로나바이러스 및 아데노바이러스, 그리고 위장관 질환을 유발하는 유발하는 노로바이러스, 로타바이러스, 아데노바이러스, 아스트로바이러스 및 사포바이러스를 포함할 수 있다. 다른 예시로, 상기 바이러스는 HPV(human papillomavirus), MERS-CoV(Middle East respiratory syndrome-related coronavirus), 댕기바이러스(Dengue virus), HSV(Herpes simplex virus), HHV(Human herpes virus), EMV(Epstein-Barr virus), VZV(Varicella zoster virus), CMV(Cytomegalovirus), HIV, Parvovirus B19, Parechovirus, Mumps, Dengue virus, Chikungunya virus, Zika virus, West Nile virus, 간염 바이러스 및 폴리오바이러스를 포함할 수 있다. 타겟 분석물은 GBS serotype, Bacterial colony, v600e일 수 있다. 본 개시내용에서의 타겟 분석물은 전술한 바이러스뿐만 아니라 박테리아 등의 다양한 분석 대상물들을 포함할 수 있고, 크리스퍼(CRISPR) 기술을 이용해서 절단되는 유전자의 특정 부위일 수도 있으며, 전술한 예시들로 타겟 분석물에 대한 범위는 제한되지 않는다.
본 개시내용에서의 "생물의 분류 체계"는 유기체가 속하는 범위를 구분하기 위한 분류 체계이다. 예를 들어, 종(Species), 속(Genus), 과(Family), 목(Order), 강(Class), 문(Phylum), 계(Kingdom) 및 역(Domain)으로 표현되는 분류 체계가 본 개시내용에서의 "생물의 분류 체계"의 범위 내에 포함될 수 있다. 일례로, 본 개시내용의 일 실시예에 따른 생물의 분류 체계는 계층 구조(hierarchical structure)를 가질 수 있다. 계층 구조는 상위 계층이 하위 계층을 포괄하는 형태의 생물학적 계통 구조인 계층 구조를 의미할 수 있다.
계층 구조에서 상위 계층인 제 2 계층은 하위 계층인 제 1 계층에 포함된 구성요소들을 모두 포괄할 수 있다. 예를 들어, A, B, 및 C의 구성요소들을 포함하는 하위 계층에 대한 상위 계층은, 적어도 A, B, 및 C의 구성요소들을 포함하되 추가적인 구성요소를 더 포함할 수도 있다.
The term used herein “서열 식별자(sequence identifier)” refers to an identifier distinctly indicating a certain nucleic acid sequence (e.g., DNA sequence and RNA sequence) from any other sequences. For example, the sequence identifier includes an annotated sequence name (e.g., gene name). Examples of annotated sequence names may include sequence names annotated in a public-accessible sequence database (e.g., GenBank, EMBL, DDBJ and GSD). For example, the sequence identifier may include an arbitrarily assigned sequence identifier. Examples of arbitrarily assigned sequence identifiers may include sequence identifiers (IDs) which are assigned to all sequence fragments produced by fragmentation of a full genome sequence. For examples, the full genome sequence of Chlamydia trachomatis may be fragmented by a sequence fragmentation algorithm to cleave a genome sequence, if necessary cleave and merge, and all sequence fragments thus produced may be assigned with sequence identifiers. For examples, where the sequence fragments include 100 fragments, they may be assigned with SEQID1 to SEQID100.
일 구현예로, 서열 단편은 유전자의 길이로 단편화될 수 있다. 만약 유전자가 27,000 개의 서열을 포함하는 경우, 하나의 서열 단편은 27,000 개의 서열을 포함하는 단편일 수 있다.
서열 단편은 1 개의 서열 내지 1 억 개 중 어느 하나의 길이로 이루어진 단편일 수 있다.
또한, 서열 단편의 길이는 최소 프라이머 쌍이 포함될 수 있는 길이일 수 있으며, 서열 단편의 길이는 이에 한정되지 않고, 필요에 따라 적절한 길이로 구현될 수 있다.
본 개시내용에서의 "유전체(genome)"는 특정한 개체(예컨대, 유기체)가 가지고 있는 유전 정보를 통칭하는 의미로 사용될 수 있다. 이러한 유전체는 유전자와 유전자가 아닌 부분을 모두 포함하는 총 염기서열을 의미할 수 있다. 예를 들어, 특정한 개체에 속한 전체 유전체들은 각각 유전체 ID를 가지는 것으로 식별될 수 있으며, 이러한 유전체들 각각은 하나 이상의 서열 식별자들을 포함할 수 있다.
다른 예시로, 컴퓨팅 장치(100)는 유전체 ID 및 상기 유전체 ID에 대응되는 유전체에 포함되는 복수의 서열 식별자들을 포함하는 인덱스 대상 데이터를 수신할 수 있다. 컴퓨팅 장치(100)는 상기 수신된 인덱스 대상 데이터에서의 상기 복수의 서열 식별자들을 토큰화함으로써 복수의 토큰들을 생성할 수 있다. 컴퓨팅 장치(100)는 생성된 복수의 토큰들에 기초하여, 인덱스 데이터 구조를 생성할 수 있다.
프로세서(110)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치(100)의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석 및/또는 처리를 위한 프로세서를 포함할 수 있다. 프로세서(110)는 메모리(130)에 저장된 컴퓨터 프로그램을 판독하여 본 개시내용의 일 실시예에 따른 서열 식별자를 선정하기 위한 데이터 처리 그리고 서열 식별자와 관련된 인덱스 데이터 구조의 조직화를 위한 데이터 처리를 수행할 수 있다.
본 개시의 추가적인 실시예에 따라 프로세서(110)는 신경망의 학습을 위한 연산을 수행할 수도 있다. 프로세서(110)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다. 프로세서(110)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
본 개시의 일 실시예에 따르면, 메모리(130)는 프로세서(120)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부가 수신한 임의의 형태의 정보를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(130)는 임의의 타입의 저장 매체를 의미할 수 있다 예를 들어, 메모리(130)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 컴퓨팅 장치(100)는 인터넷(internet) 상에서 상기 메모리(130)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시내용에서 사용되는 메모리(130)는 전술한 예시들로 제한되지 않는다.
본 개시내용에서의 네트워크부(150)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크부(150) 공지의 월드와이드웹(WWW: World Wide Web) 기반으로 동작할 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.
도 2는 본 개시내용의 일 실시예에 따른 시스템의 블록 구성도를 개략적으로 도시한다.
본 개시내용의 실시예들을 구현하기 위한 시스템은 사용자 단말(210) 및 서버(220)로 구성될 수 있다. 사용자 단말(210) 및 서버(220)는 네트워크를 통하여 통신하기 위한 매커니즘을 가지는 시스템에서의 노드(들)를 의미할 수 있다. 도 2에서 도시되는 시스템에 대한 컴포넌트들은 예시일 뿐, 복수의 단말들 또는 복수의 서버들로 구성된 시스템 또한 본 개시내용의 범위내에 포함될 수 있다.
본 개시내용에서의 사용자 단말(210) 및 서버(220)는 도 1에서 설명된 컴퓨팅 장치(100)의 범위 내에 포함된다. 도 1에서 도시되는 컴포넌트들이 사용자 단말(210) 및 서버(220)에 각각 포함될 수 있다.
이하에서는 사용자 단말(210)에서 타겟 분석물에 대한 쿼리를 서버(220)로 전송하고, 그리고 서버(220)는 타겟 분석물에 대응되는 서열 식별자를 사용자 단말(210)로 전송하는 프로세스에 대한 예시를 통해 본 개시내용의 실시예들이 설명될 것이다. 하지만, 다른 실시예에 따라 사용자 단말(210)에서 타겟 분석물에 대응하는 서열 식별자를 획득하는 설계 또한 본 개시내용의 범위 내에 포함될 수 있다.
사용자 단말(210)는 서버(220)와 상호작용 가능한 임의의 형태의 단말을 포함할 수 있다. 사용자 단말(210)은 예를 들어, 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), PDA(personal digital assistants), 슬레이트 PC(slate PC), 태블릿 PC(tablet PC) 및 울트라북(ultrabook)을 포함할 수 있다.
서버(220)는 본 개시내용의 일 실시예에 따라 서열 식별자를 선정하는 프로세스 및/또는 인덱스 구조를 생성하는 프로세스를 수행할 수 있다. 서버(220)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨팅 시스템 또는 컴퓨팅 장치를 포함할 수 있다.
서버(220)는 염기서열 정보 또는 유전자 정보를 저장 및 관리하는 엔티티를 의미할 수 있다. 서버(220)는 염기서열 정보, 유전자 정보 및/또는 인덱스 정보를 저장하기 위한 저장부(미도시)를 포함할 수 있으며, 저장부는 서버(220)내에 포함되거나 혹은 서버(220)의 관리 하에 존재할 수 있다. 다른 예시로, 저장부는 서버(220) 외부에 존재하여 서버와 통신가능한 형태로 구현될 수도 있다. 이 경우 서버(220)와는 상이한 다른 외부 서버에 의해 저장부가 관리 및 제어될 수 있다.
도 2에서 도시되는 바와 같이, 사용자 단말(210)은 예를 들어, 균주 타입, 종, 속 등의 생물의 분류 명칭에 해당하는 타겟 분석물 및/또는 분류 식별자(예컨대, Taxonomy ID (TAX ID))에 대한 쿼리를 생성할 수 있다. 이러한 쿼리에 응답하여 서버(220)는 타겟 분석물 및/또는 분류 식별자에 특이적이고 민감한 서열 식별자를 탐색 및 선정할 수 있다. 서버(220)는 입력 받은 TAX ID에 특이적이고 민감한 서열 식별자를 선정할 수 있다.
추가적인 실시예로, 사용자 단말(210)은 검색하고자 하는 하나 이상의 서열 식별자들을 포함하는 쿼리를 생성할 수 있다. 이러한 쿼리에 응답하여 서버(220)는 서열 식별자가 속해 있는 유전체의 개수 또는 빈도를 연산함으로써, 특정 서열 식별자를 선정할 수 있다. 서버(220)에 의해 선정된 서열 식별자는 쿼리에 포함된 하나 이상의 서열 식별자들 중 타겟 분석물 및/또는 분류 식별자에 특이적이고 민감한 서열 식별자를 포함할 수 있다.
도 2에서는 사용자 단말(210)에서 서버(220)로 쿼리를 전달하는 실시예를 도시하였으나, 사용자 단말(210)에 의해 서열 식별자를 탐색 및 선정하는 실시예 또한 본 개시내용의 범위 내에 포함될 수 있다는 점 또한 당업자에게 명백할 것이다.
도 3은 본 개시내용의 일 실시예에 따라 서열 식별자를 선정하는 과정에 대한 개념도를 예시적으로 도시한다.
도 3에서는 컴퓨팅 장치(100)의 일례인 서버(220)에서 서열 식별자를 탐색하고 그리고 서열 식별자를 선정하는 기능을 수행하기 위한 서버(220) 내의 컴포넌트들이 설명된다.
저장부(340)는 본 개시내용의 실시예들에 따라 생성 및 획득될 수 있는 임의의 정보를 저장 및 관리할 수 있다. 예를 들어, 저장부는 염기서열에 대한 탐색 또는 분석을 허용하기 위하여 어노테이션(annotation) 정보가 포함된 유전체 DB를 포함할 수 있다. 본 개시내용에서의 어노테이션은 각 유전체에 포함된 염기서열들에 식별자를 할당하는 과정을 의미할 수 있다. 일례로, 어노테이션은 유전체에 포함된 염기 서열들에 대한 유전자 ID를 할당하는 과정을 포함할 수 있다.
다른 예시로, 저장부(340)는 하나의 유전체 ID에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱(inverted-indexing)이 적용된 인덱스 데이터 구조를 저장할 수 있다. 이러한 경우, 서열 식별자들 각각에 대한 전체 텍스트 검색(full text search)가 가능하기 때문에, 서열 식별자들이 속해 있는 유전체들의 개수에 대한 연산이 용이해질 수 있다.
저장부(340)는 DBMS(DataBase Management System) 및 영구 저장 매체(persistent storage)를 포함할 수 있다. 여기서 DBMS는 서버(220) 또는 단말(210)에서 필요한 데이터를 검색, 삽입, 수정 및/또는 삭제하고 그리고 인덱스를 생성하고 인덱스에 액세스하는 것 등과 같은 저장부의 임의의 형태의 동작들을 수행하는 것을 허용하기 위한 프로그램으로서, 서버(220)의 프로세서에 의하여 구현될 수 있다. 서버(220)는 저장부(340)에 액세스하고 그리고 저장부(340)를 제어함으로써 본 개시내용의 실시예에 따른 인덱스 구조를 생성할 수 있으며, 생성된 인덱스 구조에 기반하여 서열 식별자를 선정하기 위한 효율적인 검색을 지원할 수 있다.
서버(220)는 단말(210)로부터 타겟 분석물(310)에 대한 입력을 수신할 수 있다. 일 실시예에서 서버(220)는 단말(210)로부터 TAX ID(310)에 대한 입력을 수신할 수 있다. 예를 들어, TAX ID는 비브리오 콜레라를 포함할 수 있다. 도 3에서는 설명의 편의를 위해 입력 데이터에 대한 예시로 TAX ID를 들고 있으나, 탐색하고자 하는 타겟 분석물 또는 서열 식별자들과 관련된 임의의 종류의 입력들이 상기 입력되는 데이터(310)에 포함될 수 있다. 예를 들어, 입력되는 데이터(310)은 특정한 서열 식별 정보, 특정한 유기체에 대한 식별 정보, 특정한 종에 대한 식별 정보, 및/또는 특정한 유전자 ID 정보 등과 같이 타겟 분석물과 연관되는 임의의 형태의 정보를 포함할 수 있다. TAX ID(310)는 Taxonomy에 대한 식별자, 학명(scientific name), 명명법(nomenclature), 지정어(specifier)일 수 있다.
서열 식별자 탐색 모듈(350)은 TAX ID와 같은 입력 데이터에 대응하는 하나 이상의 서열 식별자들을 포함하는 리스트(320)를 생성할 수 있다. 예를 들어, 서열 식별자 탐색 모듈(350)은 입력된 타겟 분석물의 정보에 응답하여 참조번호 323에 포함되는 서열 식별자들을 획득할 수 있다. 서열 식별자 탐색 모듈(350)은 저장부(340)에 저장된 데이터들을 탐색하여 입력되는 TAX ID(310)에 상응하는 서열 식별자들을 저장부(340)로부터 리트리브(retrieve) 할 수 있다.
진단마커 또는 타겟 분석물의 검출을 위해 선택되는 유전자 또는 서열 패턴을 탐색하기 위해서는, 공통 서열을 포함하고 있는 유전자 서열 및 비유전자 서열 모두에 대해서 구분된 표지가 필요하다. 기능 단위로 구분되어 있는 유전자 ID 이외에 염기 서열을 서열 패턴으로 구분하는 경우, 기존의 유전자 ID로는 구분할 수 없는 서열 패턴을 구분할 수 있기 때문에, 이러한 서열 패턴 자체에 대한 그룹화를 통해서 새로운 서열 부위에 대한 탐색이 가능할 수 있다.
유전자 ID를 기준으로 염기 서열들을 식별하는 기존 어노테이션 방식과는 상이하게, 본 개시내용의 일 실시예에 따라, 참조번호 321에서 예시되는 바와 같이, 유전자 영역에 대응하는 염기 서열들뿐만 아니라 유전자-사이 영역에 대응하는 염기 서열들을 고려하여, 서열 식별자들이 그룹화되고 그리고 식별될 수 있다.
서열 식별자는 유전자 영역(genic region)의 적어도 일부 영역, 및/또는 유전자-사이 영역(intergenic region)의 적어도 일부 영역일 수 있다. 유전자-사이 영역은 유전체 내에서 유전자 영역이 아닌 모든 영역일 수 있다. 일예로 유전자-사이 영역은 NCBI(national center for biotechnology information)의 GenBank에 저장된 유전체 정보 중에서, gene을 제외한 misc, repeat, assembly_gap, centromere, gap, telomere 일 수 있다. 유전자-사이 영역은 상술한 예시에 한정되지 않는다.
또한, 유전자-사이 영역은 유전체 정보 중에서 Feature Key를 이용하여 수집될 수 있는 영역을 의미한다. 다만, 여기서 몇몇 misc_feature의 경우 유전자 영역에 해당될 수 있다. 이러한 내용이 유전자-사이 영역 용어의 권리 범위를 한정하는 것은 아님을 유의해야 한다.
또한, 참조번호 322에서 예시되는 바와 같이, 기존의 유전자 ID를 기준으로 염기 서열들을 식별하는 어노테이션 방식에 따르면, 고유의 유전자 ID라고 하더라도 2개의 유전자 ID들 간의 중첩 혹은 공유되는 염기 서열들의 패턴이 존재할 수 있다. 본 개시내용의 일 실시예에 따른 어노테이션 기법에 따르면, 참조번호 322에서 예시되는 유전자 ID들에 비해서, 고유하고 명확히 구분이 가능한 형태의 신규한 염기 서열 식별자들(323)이 생성될 수 있다. 참조번호 323에서 예시되는 바와 같이, 본 개시내용의 일 실시예에 따른 신규한 염기 서열 식별 체계는 염기 서열들이 서로 중첩되지 않도록 3개의 서열 식별자들(서열 식별자 1, 서열 식별자 2 및 서열 식별자 3)(323)을 형성할 수 있다. 따라서, 본 개시내용의 일 실시예에 따른 서열 식별자들은 보다 고유한 ID가 할당될 수 있기 때문에, 유전자 분석 및 염기서열 탐색에 있어서 보다 정확한 결과가 도출될 수 있다.
본 개시내용의 일 실시예에 따른 저장부(340)는 참조번호 323에서 도시되는 신규한 어노테이션 방식이 적용된 서열 식별자들의 형태로 서열 식별자들을 저장할 수 있다. 이러한 서열 식별자들은 TAX ID 및 TAX ID에 대응되는 유전체 정보와 연관성을 가지면서 저장될 수 있다. 따라서, 서열 식별자 탐색 모듈(350)은 TAX ID를 포함하는 타겟 분석물(310)에 대한 입력에 응답하여, 타겟 분석물에 포함된 서열 식별자들을 출력할 수 있다.
도 3에서는 서열 식별자들을 어노테이션 하는 신규한 방식이 예시적으로 설명되었으나, 이는 하나의 예시적인 실시예에 해당하며, 설계에 따라서 유전자-사이 영역이 고려되지 않고 유전자 ID를 기준으로 염기 서열들을 그룹화하는 방식 또한 본 개시내용의 범위 내에 포함될 수 있다.
본 개시내용의 일 실시예에서, 서열 식별자 선정 모듈(360)은 서열 식별자 탐색 모듈(350)에 의해 출력된 서열 식별자들(320)을 입력으로 사용하여 타겟 분석물(310)과 관련된 서열 식별자(330)를 선정할 수 있다. 서열 식별자 선정 모듈(360)은 타겟 분석물(310)과 관련된 생물의 분류 체계를 사용하여, 타겟 분석물(310)에 포함된 서열 식별자들(320) 중 타겟 분석물(310)과 특이적인 서열 식별자(330)를 선정할 수 있다. 서열 식별자 선정 모듈(360)은 타겟 분석물(310)이 위치한 제 1 계층, 제 1 계층의 상위 계층인 제 2 계층, 그리고 제 2 계층의 상위 계층인 제 3 계층을 활용함으로써 상기 타겟 분석물(310)에 특이적인 서열 식별자들을 선정할 수 있다.
서열 식별자 선정 모듈(360)은 타겟 분석물(310)이 속하는 생물군에 대해서 민감도가 높으면서 다른 생물군과 구별되는 유전자 혹은 서열 패턴(서열 식별자)를 빠르게 선정할 수 있다.
도 3에서는 타겟 분석물(310)에 포함된 서열 식별자들을 획득하는 서열 식별자 탐색 모듈(350)과 획득한 서열 식별자들 중 타겟 분석물(310)에 특이적인 서열 식별자를 선정하는 서열 식별자 선정 모듈(360)이 구별되어 도시되었지만, 설계에 따라서 하나의 통합된 모듈이 타겟 분석물(310)의 입력을 수신하여 타겟 분석물(310)에 특이적인 서열 식별자(330)를 출력하는 구조 및 프로세스 또한 가능할 수 있다.
도 3에서는 저장부(340)를 하나의 엔티티로 예시하였으나, 서열 식별자 탐색 모듈(350)과 상호작용하는 제 1 저장부 및 서열 식별자 선정 모듈(360)과 상호작용하는 제 2 저장부와 같이 구분된 형태의 저장부들의 조합 또한 도 3의 저장부(340)의 범위 내에 포함될 수 있다.
도 4는 본 개시내용의 일 실시예에 따라 계층 구조를 가지는 생물의 분류 체계에서 서열 식별자를 선정하는데 활용되는 계층들을 예시적으로 도시한다.
도 4에서는 비브리오 콜레라 종(species)을 타겟 분석물에 대한 예시로 들어 본 개시내용의 일 실시예에 따른 서열 식별자의 선정 기법이 설명될 것이다.
본 개시내용의 일 실시예에서, "계층"은 생물의 분류체계 상에서의 분류를 나타낸다. 제 N 계층은 생물의 분류체계 상에서의 구분에 따른 계층을 나타내기 위해 사용되며, N은 자연수이다. 여기서 N의 값이 클수록 상위 계층에 해당한다.
구체적으로, 생물의 분류 체계는 종, 속, 과, 목, 강, 문, 계, 및/또는 역 등으로 정의될 수 있다. 일례로, 생물의 분류 체계의 종, 속, 과, 목, 강, 문, 계, 및/또는 역 중 어느 하나에 해당하는 제 1 계층(410), 제 2 계층(420) 및 제 3 계층(430)이 존재할 수 있다. 제 1 계층(410), 제 2 계층(420) 및 제 3 계층(430)은 각각 계층의 위치를 의미한다. 제 2 계층(420)은 제 1 계층(410)보다 상위에 위치한 계층을 의미하고, 제 3 계층(430)은 제 2 계층(420)보다 상위에 위치한 계층을 의미한다.
또한, 제 N 계층은 생물 분류 체계상 N 계층의 하위 계층들을 포함할 수 있다. 즉, 생물 분류 체계상 상위 계층은 하위 계층을 포괄하는 형태의 계층 구조를 가지고 있다. 일례로, 제 2 계층(420)은 제 1계층의 상위 계층으로서 제 1 계층을 포함하고, 제 3 계층은 제 1 계층(410) 및 제 2 계층(420)의 상위 계층으로서 제 1 계층(410) 및 제 2 계층(420)을 포함할 수 있다.
본 개시내용의 일 실시예에서, 제 1 계층(410)은 종(species)에 해당하는 계층일 수 있으며, 제 2 계층(420)은 속(genus)에 해당하는 계층일 수 있으며, 그리고 제 3 계층(430)은 역(domain) 또는 계(kingdom)에 해당하는 계층일 수 있다. 여기서 제 1 계층(410)은 타겟 분석물이 위치한 계층에 의해 정의될 수 있으며, 제 2 계층(420)은 제 1 계층(410)의 상위 계층 중에서 제 1 계층(410)에 제일 가까이에 위치한 상위 계층으로 정의될 수 있으며, 제 3 계층(430)은 생물의 분류 체계 중에서 최상위 계층으로 정의될 수 있다. 이러한 계층은 실시예마다 상이하게 정의될 수 있다.
본 개시내용의 일 실시예에서, 계층은 타겟 분석물의 명칭(taxonomy ID)에 의하여 정의된다. 일례로, 타겟 분석물이 비브리오 콜레라 종(Vibrio cholerae)인 경우 타겟 분석물(예컨대, 비브리오 콜레라)에 대한 입력에 응답하여, 컴퓨팅 장치(100)는 비브리오 콜레라가 속하는 계층을 "비브리오 콜레라 종"으로 결정할 수 있다. 컴퓨팅 장치(100)는 비브리오 종 1에 해당하는 계층을 제 1 계층(410)으로 결정할 수 있다. 일례로, 제 1 계층이 "종"인 경우 비브리오 콜레라 종 외의 종은 제 1 계층에 해당되지 않는다. 제 1 계층은 비브리오 콜레라와 종이 전혀 다른 나이세리아 고노레아 종(Neisseria gonorrhoeae) 및 에셰리키아 콜라이 종(Escherichia coli) 등등 모든 생물 분류 체계 중에서 다른 "종"들은 제외한 생물의 분류 체계를 의미할 수도 있다. 즉, 제 1 계층(410)은 타겟 분석물이 위치하는 생물의 분류 체계 내의 특정한 계층을 의미할 수 있다.
다른 실시예에서, 계층은 타겟 분석물의 명칭(taxonomy ID)에 의하여 어떤 계층인지 정의될 수도 있다. 일예로, 타겟 분석물이 비브리오 콜레라 종(Vibrio cholerae)인 경우 타겟 분석물(예컨대, 비브리오 콜레라)에 대한 입력에 응답하여, 컴퓨팅 장치(100)는 계층을 "모든 유기체의 종"으로 결정할 수 있다. 즉, 제 1 계층이 "종"인 경우 비브리오 콜레라 종 뿐 아니라, 비브리오 콜레라와 종이 전혀 다른 나이세리아 고노레아 종(Neisseria gonorrhoeae) 및 에셰리키아 콜라이 종(Escherichia coli) 등등 모든 생물 분류 체계 중에서 "종"에 해당되는 모든 종을 의미할 수도 있다. 또한, 후술할 제 2 계층과 제 3 계층도 마찬가지로 생물의 분류 체계 상 동등한 위치에 있는 모든 계층을 의미할 수도 있다. 즉, 제 1 계층(410)은 타겟 분석물이 위치하는 생물의 분류 체계 내의 일반적인 계층을 의미할 수 있다.
이하, 본 명세서에서는 설명의 편의상 일 실시예에서 정의한 바와 같이 제 1 계층(410)은 타겟 분석물이 위치하는 생물의 분류 체계 내의 특정한 계층을 의미하는 것으로 설명하도록 한다.
타겟 분석물이 비브리오 콜레라 종(Vibrio cholerae)인 경우, 제 1 계층은 비브리오 콜레라 종(또는 하위 계층이 존재하는 경우 하위 계층을 포함)에 해당될 수 있다. 이때, 비브리오 콜레라(Vibrio cholerae)는 비브리오 속(genus)에 속하는 복수의 비브리오 종(species)들 중 하나에 해당하는 것으로 가정한다.
이때, 제 2 계층은 제 1 계층보다 상위 계층인 비브리오 속에 해당될 수 있다. 제 2 계층은 비브리오 속에 속하는 하위 계층(예컨대, 제 1 계층)을 포함할 수 있다. 이때, 제 2 계층은 비브리오 속에 포함된 모든 종들(예를 들어, Vibrio adaptatus 종, Vibrio cholerae , Vibrio vulnificus 종 등)을 포함할 수 있다.
제 3 계층은 제 2 계층보다 상위 계층인 세균 계에 해당될 수 있다. 제 3 계층은 세균 계에 속하는 하위 계층(예컨대, 세균 계에 포함되는 모든 문, 모든 강, 모든 목, 모든 과, 모든 속 및 모든 종)을 포함할 수 있다.
상술한 실시예에서, 제 1 계층, 제 2 계층 및 제 3 계층은 해당 계층의 하위 계층들을 포괄하는 용어일 수 있다. 일례로, 제 1 계층이 종(species)인 경우 제1 계층은 제 1 계층의 종에 속하는 아종(subspecies)들을 포괄하는 용어일 수 있고, 제 2 계층이 속(genus)인 경우 제 2 계층은 제 2 계층에 속하는 종(species)들을 포괄하는 용어일 수 있다. 또한, 제 3 계층이 계(kingdom)인 경우 제 3 계층은 제 3 계층에 속하는 문(Phylum 또는 Division)들을 포괄하는 용어일 수 있다.
상술한 실시예와 다른 실시예에서, 제 1 계층, 제 2 계층 및 제 3 계층은 해당 계층에 포함된 하위 계층들과, 이에 더해 해당 계층과 동일한 높이의 다른 계층을 포괄하는 용어일 수 있다. 즉, 제 1 계층은 제 1 계층에 포함된 하위 계층들과, 이에 더해 생물 분류 체계상 동일한 높이에 위치한 다른 계층들을 모두 포괄하는 용어일 수 있다. 본 실시예는 N 계층은 N 계층과 수평적인 관계에 있는 계층을 함께 포함하는 개념으로 설명될 수 있고, 앞서 설명한 실시예는 N 계층은 N 계층과 수평적인 관계에 있는 계층을 제외하는 개념으로 설명될 수 있다.
일례로, 제 1 계층이 종(species)인 경우 제 1 계층은 제 1 계층의 종에 포함된 아종(subspecies)들과, 이에 더해 생물 분류 체계상 제 1 계층이 속하는 속(genus)에 포함된 다른 종(species)들을 포괄하는 용어일 수 있다.
제 2 계층이 속(genus)인 경우 제 2 계층은 제 2 계층의 속에 포함된 종(species)들과, 이에 더해 생물 분류 체계상 제 2 계층이 속하는 과(family)에 포함된 다른 속(genus)들을 포괄하는 용어일 수 있다.
제 3 계층이 계(kingdom)인 경우 제 3 계층은 제 3 계층의 과에 포함된 문(phylum 또는 division)들과, 이에 더해 생물 분류 체계상 제 3 계층이 속하는 역(domain)에 포함된 다른 계(kingdom)들을 포괄하는 용어일 수 있다.
상술한 실시예와 또 다른 실시예에서, 제 1 계층은 해당 계층에 포함된 하위 계층들을 포괄하는 용어이고, 제 2 계층 및 제 3 계층은 해당 계층에 포함된 하위 계층 및 해당 계층과 동일한 높이의 다른 계층을 포괄하는 용어일 수 있다. 본 실시예는 상술한 실시예와 다른 실시예에 설명된 내용을 조합한 실시예로 설명될 수 있다.
상술한 실시예와 또 다른 실시예에서, 제 1 계층 및 제 2 계층은 해당 계층에 포함된 하위 계층들을 포괄하는 용어이고, 제 3 계층은 해당 계층에 포함된 하위 계층 및 해당 계층과 동일한 높이의 다른 계층을 포괄하는 용어일 수 있다. 본 실시예는 상술한 실시예와 다른 실시예에 설명된 내용을 조합한 실시예로 설명될 수 있다.
본 개시내용의 제 1 실시예에서의 제 2 계층은 제 1 계층의 상위 계층이며, 제 3 계층은 실시예에 따라 최상위 계층일 수 있다. 예컨대, 제 1 실시예에서 제 2 계층은 계층 구조 상에서 제 1 계층의 immediately higher hierarchical position에 해당되는 계층이고, 제 3 계층은 계층 구조 상에서 차상위 계층 또는 최상위 계층일 수 있다.
본 개시내용의 제 2 실시예에서의 제 2 계층은 제 1 계층의 상위 계층이며, 제 2 계층은 실시예에 따라 최상위 계층일 수 있다. 예컨대, 제 2 실시예에서 제 2 계층은 계층 구조 상에서 제 1 계층의 immediately higher hierarchical position에 해당되는 계층, 차상위 계층 또는 최상위 계층일 수 있다.
이처럼 제 1 실시예와 제 2 실시예를 포함하는 다양한 실시예들이 본 명세서에 병합되어 있으며, 이러한 계층은 실시예마다 상이하게 적용될 수 있다.
이하 상술한 실시예에서 설명된 계층의 용어를 기준으로 설명하도록 하며, 다른 실시예에서 설명된 계층의 용어가 명세서 전반의 실시예에 적용될 수도 있음을 유의해야 한다.
컴퓨팅 장치(100)는 제 1 계층(410)에 속하는 유전체들에 포함된 서열 식별자들을 획득할 수 있다. 컴퓨팅 장치(100)는 제 1 계층(410)에 대응되는 비브리오 콜레라가 가지고 있는 유전체들에 포함된 서열 식별자들을 획득할 수 있다. 제 1 계층(410) 내에 포함된 유전체들 내에서 각 유전체가 가지고 있는 염기서열들을 식별하는 서열 식별자에 대한 데이터가 획득될 수 있다.
각 유전체들은 하나 이상의 염기서열들을 식별하는 서열 식별자들을 포함할 수 있다. 예를 들어, 유전체 1은 AAGGCTTT의 패턴을 가지는 A 서열 식별자, GCTTAAACC의 패턴을 가지는 B 서열 식별자 및 CCTCCTATTTTTCCAA의 패턴을 가지는 C 서열 식별자를 포함할 수 있다. 유전체 2는 A 서열 식별자 및 CAAATGGCTGCCCA의 패턴을 가지는 D 서열 식별자를 포함할 수 있다. 또한, 각 서열 식별자들은 하나 이상의 유전체들과 대응될 수 있다. 예를 들어, A 서열 식별자는 유전체 1, 유전체 2 및 유전체 3에 포함될 수 있고, B 서열 식별자는 유전체 1, 유전체 3, 유전체 4 및 유전체 5에 포함될 수 있다.
컴퓨팅 장치(100)는 제 1 계층(410)에 존재하는 유전체들에 포함되는 서열 식별자들 각각이 속해 있는 제 1 계층(410)의 유전체들의 개수를 연산할 수 있다. 예를 들어, A 식별자는 제 1 계층(410) 내의 100개의 유전체들 중 총 100개에 속해 있으며, B 식별자는 제 1 계층(410) 내의 100개의 유전체들 중 총 97개에 속해 있으며, 그리고 C 식별자는 제 1 계층(410) 내의 100개의 유전체들 중 총 65개에 속해 있을 수 있다. 이처럼, 컴퓨팅 장치(100)는 제 1 계층(410)에 포함된 유전체들 내에 포함되는 서열 식별자들을 상기 연산 결과에 따라 필터링함으로써, 제 1 계층(410)에 포함된 유전체들 내에서 필터링된 서열 식별자들을 선정할 수 있다. 예를 들어, 제 1 계층(410)에 포함된 유전체들 내에서 필터링된 서열 식별자들은 제 1 계층(410)에 포함된 유전체들 내에서 존재할 가능성이 높은 서열 식별자들의 리스트를 의미할 수 있다.
본 개시내용의 일 실시예에서, “계층의 범위”는 해당 계층에 위치하는 유전체들의 범위를 나타내기 위해 사용될 수 있다. 구체적으로, “계층의 범위”는 해당 계층 또는 해당 계층에 포함된 하위 계층에 속하는 모든 유전체들의 목록(리스트)을 의미할 수 있다. 앞서 설명한 대로, 계층은 타겟 분석물의 명칭에 의해 정의되므로, 계층의 범위 역시 타겟 분석물의 명칭에 의해 정의된다.
예를 들어, 타겟 분석물이 비브리오 콜레라 종인 경우 제 1 계층은 비브리오 콜레라 종이된다. 제 1 계층이 비브리오 콜레라 종인 경우, 제1 계층의 범위는 비브리오 콜레라 종에 속하는 유전체(또는 유기체)들의 목록(리스트)을 의미할 수 있다. 이때의 유전체들은 복수 개의 전장 유전체일 수 있다. 비브리오 콜레라 종에는 유전자의 다형성 또는 유전자 변이 등의 원인에 의해 다양한 유전체들이 존재할 수 있다. 즉, 비브리오 콜레라 종에는 무수히 많은 개체들이 존재하고, 각각의 개체들은 서로 동일한 유전체로 형성되거나, 같은 종이라도 일부가 상이한 유전체로 형성될 수 있다.
제2 계층이 비브리오 속인 경우, 제 2 계층의 범위는 비브리오 속에 포함된 모든 유전체들의 목록을 의미할 수 있다. 구체적으로, 제 2 계층의 범위는 비브리오 속에 속하는 모든 비브리오 종들(예를 들어, Vibrio cholerae 종, Vibrio adaptatus 종, Vibrio vulnificus 종 등) 각각에 포함된 모든 유전체들을 의미할 수 있다.
제 3 계층이 세균 계인 경우, 제 3 계층의 범위는 세균 계에 포함된 모든 유전체들을 의미할 수 있다. 구체적으로, 제 3 계층의 범위는 세균 계에 속하는 모든 종, 모든 속, 모든 과, 모든 목, 모든 강 및 모든 문 각각에 포함된 유전체들을 의미할 수 있다.
컴퓨팅 장치(100)는 제 1 계층(410)에 포함된 유전체들에 존재하는 서열 식별자들 각각이 제1 계층(410)의 범위에 존재하는 개수 또는 빈도를 연산할 수 있다. 컴퓨팅 장치(100)는 제 1 계층에 포함된 제 1 유전체들 중에서 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 제 1 서열 식별자들이 각각이 제 1 계층에 포함된 유전체들 중 몇 개의 유전체에 속하는지 연산하는 방식으로 상기 제 1 서열 식별자들에 대한 제 1 계층(410)의 범위 내에서의 출현 빈도를 획득할 수 있다.
컴퓨팅 장치(100)는 제 1 계층(410)과 관련해서 사용된 연산 방식과 대응되는 방식으로, 서열 식별자들 각각에 대하여 상기 서열 식별자들 각각이 속해 있는 제 2 계층(420)의 범위 내에서의 유전체들의 개수를 연산할 수 있다. 컴퓨팅 장치(100)는 제 2 계층에 포함된 제 2 유전체들 중에서 상기 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득할 수 있다. 구체적으로, 컴퓨팅 장치(100)는 제 1 계층(420)에 포함된 제 1 서열 식별자들이 각각이 제 2 계층(420)에 포함된 유전체들 중 몇 개의 유전체에 속하는지 연산하는 방식으로 상기 제 1 서열 식별자들에 대한 제 2 계층(420)의 범위 내에서의 출현 빈도를 획득할 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 제 2 계층에 포함된 제 2 유전체들 중에서 제 1 계층에 포함된 제 1 유전체들이 제외된 범위 내에서, 제 1 서열 식별자들에 대한 출현 빈도를 획득할 수 있다. 즉, 컴퓨팅 장치(100)는 제 2 유전체들 중에서 제 1 유전체들을 제외한 범위 내에서, 제 1 서열 식별자들에 대한 출현 빈도를 획득할 수 있다. 일례로, 컴퓨팅 장치(100)는 제 2 계층(420)의 범위에서 제 1 타겟 분석물(310)이 속하는 제 1 계층(410)의 범위를 제외한 범위(도 4의 420에 빗금친 영역) 내에서, 제 1 서열 식별자들에 대한 출현 빈도를 획득할 수 있다. 유사한 실시예로서, 컴퓨팅 장치(100)는 제 2 계층(420)의 범위에 대한 제 1 타겟 분석물(310)이 속하는 제 1 계층(410)의 범위의 차집합 범위 내에서, 제 1 서열 식별자들에 대한 출현 빈도를 획득할 수 있다.
제 2 계층(420)에 포함된 제 2 유전체들 중에서 제 1 계층(410)에 포함된 제 1 유전체들이 제외된 범위는 비브리오 속에 포함된 유전체들 중에서 비브리오 콜레라 종에 포함된 유전체들이 제외된 유전체들의 목록(리스트)을 의미할 수 있다. 제 2 계층(420)에 포함된 제 2 유전체들 중에서 제 1 계층(410)에 포함된 제 1 유전체들이 제외된 범위는 비브리오 속에 속하는 유전체들에 대한 비브리오 콜레라 종에 속하는 유전체들의 차집합을 의미할 수 있다.
일례로, 제 2 계층(420)에는 총 1100개의 유전체들이 존재하고 그리고 제 1 계층(410)에는 총 100개의 유전체들이 존재하는 경우, 제 2 계층(420)의 범위에서 범위에서 제 1 계층(410)의 범위를 제외한 범위는 1100에서 100을 차감한 총 1000개의 유전체들의 목록(리스트)을 의미할 수 있다.
본 개시내용의 일 실시예에 따라서, 제 1 계층(410)의 범위에 있는 서열 식별자들 중에서, 제 1 계층(410)에 포함된 유전체들에 다수 존재하고 그리고 제 2 계층(420)의 포함된 유전체들에 적게 존재하는 서열 식별자들이 1차적으로 선정될 수 있다.
이처럼, 컴퓨팅 장치(100)는 제 1 계층(410)의 범위 내에 포함되는 서열 식별자들에 대하여 제 1 계층(410)과 제 2 계층(420)을 함께 고려한 필터링 연산을 수행할 수 있다.
전술한 바와 같이, 제 1 계층(410)의 범위와 제 2 계층(420)의 범위를 함께 고려하여 서열 식별자들이 필터링 되는 경우, 비브리오 콜레라가 가지고 있는 유전체들에 포함될 가능성은 높지만 비브리오 속에서 비브리오 콜레라를 제외한 나머지 종들이 가지고 있는 유전체들에 포함될 가능성이 낮은 서열 식별자들이 선정될 수 있다. 도 4에서는 이러한 방식으로 선정된 식별자들을 1차 필터링된 식별자로 명명하기로 한다.
컴퓨팅 장치(100)는 1차 필터링된 식별자들에 대해서 제 3 계층(430)의 범위를 함께 고려한 필터링 연산(즉, 2차 필터링 연산)을 적용할 수 있다. 제 3 계층(430)은 비브리오 콜레라 종이 속한 분류 체계에서 최상위에 속하는 역(domain) 혹은 차상위에 속하는 계(kingdom)에 대응될 수 있다. 컴퓨팅 장치(100)는 1차 필터링된 식별자들 중에서 제 1 계층(410)의 범위에서는 다수 존재하고 제 3 계층(430)의 범위에서는 소수 존재하는 식별자들을 2차 필터링된 식별자로 선정할 수 있다.
제 1 계층(410)의 범위와 제 2 계층(420)의 범위를 고려한 1차 필터링을 통해서 제 1 계층(410)에 포함된 서열 식별자들의 개수가 1차적으로 줄어들 수 있다. 나아가, 1차 필터링 연산을 통해 개수가 줄어든 서열 식별자들을 대상으로 제 3 계층(430)의 범위를 추가로 고려한 2차 필터링 연산을 적용함으로써, 제 1 계층(410)에 포함된 서열 식별자들 중에서 타겟 분석물에 특이적일 가능성이 높은 하나 이상의 서열 식별자들이 최종적으로 선정될 수 있다.
1차 필터링과 관련된 연산 및 2차 필터링과 관련된 연산은 개인용 컴퓨터의 성능으로도 수행가능한 수준의 계산량이 요구될 수 있다. 1차 필터링 연산에서는 타겟 분석물이 속한 생물군과 그 상위 생물군 내에서의 출현 빈도가 계산되고, 1차 필터링된 결과를 통해 타겟 분석물로 선정되는 것이 적절하지 않은 서열 식별자를 선제적으로 선별하여 제외할 수 있기 때문에, 전체 생물군의 범위 내에서 탐색되어야 할 서열 식별자들의 개수가 줄어들 수 있다. 1차 필터링된 서열 식별자들을 기준으로 타겟 분석물이 속한 생물군의 최상위 생물군 전체에 대한 출현 빈도가 2차 필터링 연산 단계에서 계산될 수 있기 때문에, 1차 필터링 없이 생물군 전체 범위에서의 탐색을 수행하는 방식에 비해 적은 계산량으로 해당 타겟 분석물에 특이적인 탐색 결과가 도출될 수 있다.
타겟 생물군에는 다수 포함되어 있고 타겟 생물군이 아닌 다른 생물군에는 거의 포함되어 있지 않은(혹은 전혀 포함되어 있지 않은) 서열 식별자(즉, 타겟 생물군에 특이적인 서열 식별자)를 선정하는 것과 관련해서는 다양한 방식이 존재할 수 있다.
예를 들어, 타겟 분석물이 속한 생물군(즉, 비브리오 콜레라 종)이 가지고 있는 유전체들의 개수가 총 100개이고, 100개의 유전체들에 포함되어 있는 서열 식별자들의 전체 개수가 총 1,000개로 가정한다. 또한, 타겟 분석물이 속한 생물군의 상위 생물군(즉, 비브리오 속)이 가지고 있는 유전체들의 개수가 총 500개이고, 500개의 유전체들에 포함되어 있는 서열 식별자들의 개수가 총 5,000개로 가정한다. 또한, 타겟 분석물이 속한 생물군의 최상위 생물군(즉, 세균 역 또는 세균 계)이 가지고 있는 유전체들의 개수가 총 10,000개이고, 10,000개의 유전체들에 포함되어 있는 서열 식별자들의 개수가 총 100,000개로 가정한다.
첫번째 방식은 전체 생물군에 대한 범위 내에서 타겟 생물군에 특이적인 서열 식별자를 선정하는 방식이다. 첫번째 방식은 타겟 생물군에서는 다수의 유전체들이 가지고 있으면서 그리고 전체 생물군에서는 소수의 유전체들이 가지고 있는 서열 식별자들을 선정하는 방식이다. 이러한 첫번째 방식에서는 타겟 분석물이 속한 생물군의 100개의 유전체에 포함된 1,000개의 서열 식별자들을 전부 획득한 뒤에, 총 1,000개의 서열 식별자들 각각이 비브리오 콜레라 종의 범위 내에 있는 100개의 유전체들 중 어떤 유전체들에 포함되었는지 여부 및 그 빈도에 대한 연산이 먼저 요구된다. 이러한 연산에서는 1,000개의 서열 식별자들 각각에 대한 100개의 유전체에 속한 빈도의 연산(1,000 X 100의 연산량)이 수행될 것이다. 이를 통해 타겟 생물군에서는 상대적으로 많이 포함된 서열 식별자가 선정될 수 있다.
그리고나서, 총 1,000개의 서열 식별자들 각각이 생물 분류상 최상위 분류체계인 역 또는 계의 범위 내에 있는 10,000개의 유전체들 중 어떤 유전체들에 포함되었는지 여부 및 그 빈도에 대한 연산이 추가로 요구된다. 이러한 연산에서는 1,000개의 서열 식별자들과 10,000개의 유전체들 간의 비교가 이루어질 것이다. 첫번째 방식에서는 2번의 연산들이 사용되었지만, 2번째 연산에 대한 계산량이 상당하다는 점(즉, 1,000 X 10,000의 연산량)이 확인될 수 있다. 이를 통해 타겟 생물군 외의 군에서는 상대적으로 적게 포함된 서열 식별자가 선정될 수 있다.
두번째 방식은 본 개시내용의 일 실시예에 따른 방식으로서 1차 필터링 연산과 2차 필터링 연산을 순차적으로 적용하여 타겟 생물군에 특이적인 서열 식별자를 선정할 수 있다. 이러한 두번째 방식에서는 총 1,000개의 서열 식별자들 각각이 비브리오 종 1의 범위 내에 있는 100개의 유전체들 중 어떤 유전체들에 포함되었는지 여부 및 그 빈도에 대한 연산이 먼저 요구된다. 또한, 두번째 방식에서는 타겟 생물군에서는 다수의 유전체들이 가지고 있으면서 그리고 타겟 생물군의 상위 생물군에서는 소수의 유전체들이 가지고 있는 서열 식별자들을 선정하는 1차 필터링 기법이 사용된다. 1차 필터링 기법에서는 총 1,000개의 서열 식별자들 각각이 비브리오 속의 범위 내에 있는 500개의 유전체들 중 어떤 유전체들에 포함되었는지 여부 및 그 빈도에 대한 연산이 요구된다. 추가적인 실시예로서, 비브리오 속의 범위 내에 있는 500개의 유전체들 중 비브리오 종 1의 범위 내에 있는 100개의 유전체들이 제외된 400개의 유전체를 대상으로 연산이 수행될 수도 있다.
이러한 1차 필터링 연산을 통해서 총 1,000개의 서열 식별자들 중에서 타겟 생물군에서는 다수의 유전체들이 가지고 있으면서 그리고 타겟 생물군의 상위 생물군에서는 소수의 유전체들이 가지고 있는 서열 식별자들이 선정될 수 있다. 전술한 가정에서는 1,000개의 서열 식별자들 중 98%에 달하는 980개의 서열 식별자들이 1차 필터링 연산을 통해 제외되는 것으로 가정할 수 있다.
1차 필터링 연산을 통해 선정된 20개의 서열 식별자들 각각이 역, 계, 또는 전체의 범위 내에 있는 10,000개의 유전체들에 포함되었는지 여부에 대한 연산이 추가로 진행된다. 이러한 연산에서는 20개의 서열 식별자들과 10,000개의 유전체들 간의 비교가 이루어질 것이고, 이러한 비교를 통해 최종적으로 2차 필터링된 서열 식별자들이 선정될 수 있다. 두번째 방식에서는 3번의 연산들이 사용되었지만, 전체 계산량 중에서 상당한 비중의 계산량을 차지하는 마지막 연산에 대한 계산량이 첫번째 방식에 비해 급격하게 줄어들었다는 점(즉, 20 X 10,000의 연산량)이 확인될 수 있다. 이처럼, 1차 필터링을 통해 유전체들과 비교할 서열 식별자들의 개수가 줄어들기 때문에, 유전체의 개수가 상대적으로 많은 전체 생물군과 서열 식별자들을 비교하는 마지막 연산 단계에서의 연산량이 획기적으로 줄어들 수 있다.
추가적인 실시예로서, 역, 계, 또는 전체의 범위 내에 있는 10,000개의 유전체들 중 비브리오 종 1의 범위 내에 있는 100개의 유전체들은 제외된 9,900개의 유전체를 대상으로 연산이 수행될 수도 있다. 다른 추가적인 실시예로서, 역, 계, 또는 전체의 범위 내에 있는 10,000개의 유전체들 중 비브리오 속의 범위 내에 있는 500개의 유전체들은 제외된 9,500개의 유전체를 대상으로 연산이 수행될 수도 있다.
이처럼, 본 개시내용의 일 실시예에 따르면, 타겟 분석물이 속한 생물군에는 특이적으로 많이 포함되고 타겟 분석물이 속한 생물군 이외의 다른 생물군에서는 적게 포함되는 서열 식별자를 선정하는데 있어서 연산의 복잡성이 크게 줄어들 수 있다. 본 개시내용의 일 실시예는 타겟 분석물에 특이적인 서열 식별자를 효율적인 방식으로 선정할 수 있기 때문에, 체외진단(IVD) 분야(특히, 분자 진단 분야)에서의 유전자 분석, 프라이머(primer) 설계 및/또는 염기 서열들 간의 비교 등에서 활용 가능성이 높아질 수 있다. 본 개시내용에서 특이적이다 라는 표현은 특정한 생물군에 대해서만 반응할 가능성이 높다는 것을 의미한다.
도 5는 제 1 계층과 제 2 계층을 고려하여 서열 식별자들의 출현 빈도를 연산하는데 사용되는 예시적인 데이터 구조를 도시한다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치의 저장부는 참조번호 510 및 520과 같은 예시적인 테이블 구조로 유전체와 서열 식별자 간의 맵핑 관계를 저장할 수 있다. 본 개시내용에서의 서열 ID는 서열 식별자와 상호교환 가능하게 사용될 수 있다.
도 5에서 도시되는 바와 같이, 제 1 계층의 범위 내에서의 유전체와 서열 식별자(즉, 제 1 서열 식별자) 간의 맵핑 관계를 나타내는 테이블(510)이 예시된다. 테이블(510)은 유전체들의 리스트를 나타내는 컬럼(column)(511) 및 유전체에 대응되는 서열 식별자를 나타내는 컬럼(512)을 포함할 수 있다. 제 1 계층의 범위 내에 존재하는 유전체들의 리스트가 참조번호 511에 대응하는 컬럼에 포함될 수 있다. 또한, 제 1 계층 범위 내의 유전체들 각각에 포함되는 서열 식별자(즉, 제 1 서열 식별자)가 참조번호 512에 대응하는 컬럼에 포함될 수 있다. 도 5에서 도시되는 바와 같이, 테이블(510)의 유전체 1은 서열 식별자 A, 서열 식별자 B, 서열 식별자 C, 서열 식별자 D 및 서열 식별자 E를 포함할 수 있다.
또한, 제 2 계층의 범위 내에서의 유전체와 서열 식별자 (즉, 서열 식별자) 간의 맵핑 관계를 나타내는 테이블(520)이 예시된다. 테이블(520)은 제 2 계층의 범위 내에서의 유전체들의 리스트를 나타내는 컬럼(521) 및 유전체에 대응되는 서열 식별자를 나타내는 컬럼(522)을 포함할 수 있다. 제 2 계층의 범위 내에 존재하는 유전체들의 리스트가 참조번호 521에 대응하는 컬럼에 포함될 수 있다. 또한, 제 2 계층 범위 내의 유전체들 각각에 포함되는 서열 식별자가 참조번호 522에 대응하는 컬럼에 포함될 수 있다. 도 5에서 도시되는 바와 같이, 테이블(520)의 유전체 101은 서열 식별자 D, 서열 식별자 Y 및 서열 식별자 U를 포함할 수 있다.
도 5에서는 생물의 분류 체계 상에서의 각 계층 별로 별도의 테이블 형태의 데이터 구조가 존재하는 것으로 예시되었으나, 이는 본 개시내용에 대한 설명의 편의를 위한 예시에 불과하며, 구현 방식 또는 설계 방식에 따라서, 분류 체계 전체를 하나의 테이블로 관리하는 데이터 구조, 하나의 계층에 대해서 복수의 테이블들이 존재하는 데이터 구조, 또는 노드(node)와 엣지(edge)로 구성되는 그래프 형태의 데이터 구조 등과 같이 특정 계층에 포함된 유전체들과 서열 식별자 간의 연결이 가능한 임의의 형태의 데이터 구조가 가능할 수 있다.
또한, 도 5에서의 테이블(520)의 컬럼(521)에서는 제 2 계층의 범위에 포함된 유전체들을 예시로 표현하기 위하여 제 1 계층의 범위 내에 있는 유전체들이 제외된 것으로 표시되었다. 하지만, 구현 또는 어플리케이션의 양태에 따라, 본 개시내용의 추가 실시예에서, 컬럼(521)에 포함되는 유전체들의 리스트는 제 2 계층에 포함되는 전체 유전체들(즉, 제 1 계층의 범위에 있는 유전체들이 제외되지 않은 유전체들)을 포함할 수도 있다. 이때, 제 2 계층의 범위에서 제 1 계층의 범위에 있는 유전체들이 제외되지 않은 유전체들을 포함한 테이블은 미리 구축될 수 있다. 컴퓨팅 장치는 타겟 분석물이 입력되고 제 1 계층이 정의된 후에 제 1 계층에 포함된 유전체들을 제외하는 방식으로 테이블(520)을 획득할 수 있다. 예를 들어, 컴퓨팅 장치는 제 1 계층이 정의되면, 미리 구축된 제 2 계층의 범위의 테이블에서 제 1 계층의 범위를 제외한 테이블(520)을 획득할 수 있다.
컴퓨팅 장치는 타겟 분석물이 속해 있는 제 1 계층에 포함된 유전체들의 리스트 및 각 유전체에 대응되는 제 1 서열 식별자를 획득할 수 있다. 컴퓨팅 장치는 제 1 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에서의 출현 빈도를 연산할 수 있다.
도 5에서의 테이블(530)은 제 1 계층의 범위내에 포함되는 제 1 서열 식별자들 각각이 속해 있는 유전체의 개수를 연산하기 위한 데이터 구조이다. 테이블(530)은 제 1 계층에 속하는 서열 식별자 각각을 포함하는 제 1 컬럼(531), 각각의 서열 식별자가 속한 유전체들의 리스트를 나타내는 제 2 컬럼(532) 및 각각의 서열 식별자가 속한 유전체들의 개수를 나타내는 제 3 컬럼(533)을 포함할 수 있다. 일례로, 테이블(530)은 테이블(510)에 역-인덱스(inverted-index)가 적용된 인덱스 테이블을 의미할 수 있다. 다른 예시로, 테이블(530)은 테이블(510)에 대한 피벗 테이블을 의미할 수도 있다. 또 다른 예시로, 테이블(530)은 서열 식별자, 제 1 계층의 범위 내에 있는 유전체들 및 서열 식별자가 속해 있는 유전체들의 개수를 나타내는 기본 테이블일 수도 있다.
컴퓨팅 장치는 테이블(530)을 활용하여, 제 1 계층에 포함되어 있는 서열 식별자 각각이 속해 있는 제 1 계층 내의 유전체들의 개수를 식별할 수 있다. 이하에서는 도 5의 예시에 따른 출현 빈도를 연산하는 방식을 예시적으로 도시한다. 도 5의 예시에서는 A로 어노테이션된 서열 식별자(즉, 서열 식별자 A)는 제 1 계층에 속한 유전체들 중 총 100개의 유전체들에 포함된 서열 식별자일 수 있으며, B로 어노테이션된 서열 식별자(즉, 서열 식별자 B)는 제 1 계층에 속한 유전체들 중 총 97개의 유전체들에 포함된 서열 식별자일 수 있으며, D로 어노테이션된 서열 식별자(즉, 서열 식별자 D)는 제 1 계층에 속한 유전체들 중 총 96개의 유전체들에 포함된 서열 식별자일 수 있으며, E로 어노테이션된 서열 식별자(즉, 서열 식별자 E)는 제 1 계층에 속한 유전체들 중 총 90개의 유전체들에 포함된 서열 식별자일 수 있으며, 서열 식별자 F는 제 1 계층에 속한 유전체들 중 총 80개의 유전체들에 포함된 서열 식별자일 수 있으며, 그리고 서열 식별자 Z는 제 1 계층에 속한 유전체들 중 총 70개의 유전체들에 포함된 서열 식별자일 수 있다. 테이블(510)에서 도시되는 바와 같이 제 1 계층의 유전체들은 총 100개로 예시되었다.
컴퓨팅 장치는 제 1 계층에 포함된 총 유전체들의 개수인 100개에 대한 특정 서열 식별자에 상응하는 서열 식별자의 출현 개수의 비율을 연산하여 출현 빈도를 획득할 수 있다. 도 5의 예시에서, A로 어노테이션된 서열 식별자는 100/100으로 1.00의 출현 빈도를 가지게 되며, B로 어노테이션된 서열 식별자는 97/100으로 0.97의 출현 빈도를 가지게 되며, D로 어노테이션된 서열 식별자는 96/100으로 0.96의 출현 빈도를 가지게 되며, E로 어노테이션된 서열 식별자는 90/100으로 0.9의 출현 빈도를 가지게 되며, F로 어노테이션된 서열 식별자는 80/100으로 0.8의 출현 빈도를 가지게 되며, 그리고 Z로 어노테이션된 서열 식별자는 70/100으로 0.7의 출현 빈도를 가지게 된다.
본 개시내용의 일 실시예에서, 제 1 계층의 범위 내에서의 서열 식별자들 각각에 대한 출현 빈도가 연산될 수 있으며, 연산된 출현 빈도와 제 1 임계값을 비교하여, 제 1 임계값 미만의 출현 빈도를 가지는 서열 식별자들에 대해서는 최종 선정될 서열 식별자(들)에서 제외하는 것으로 고려될 수 있다. 예를 들어, 제 1 임계값이 만약 0.9로 설정되어 있는 경우, 도 5의 예시에서의 서열 식별자들 중 E, F 및 Z는 제 1 임계치와의 비교에 따라 필터링 및/또는 제외될 수 있다. 여기서의 제 1 임계 값은 제 1 계층 내에서의 서열 식별자들의 출현 빈도의 최소 기준 값을 의미할 수 있다. 특정 서열 식별자에 대한 출현 빈도가 제 1 임계 값을 충족시키지 못하였다면, 해당 특정 서열 식별자는 출현 빈도에 대한 최소 기준을 만족시키지 않기 때문에 최종 선정될 서열 식별자에서 제외되는 서열 식별자에 해당한다. 제 1 계층 내에서 제1 임계 값을 충족시킨 서열 식별자는 다수의 유전체들에 속해 있는 서열 식별자로 고려될 수 있으며, 그리고 제 1 계층 내에서 제2 임계 값을 충족시키지 못한 서열 식별자는 상대적으로 소수의 유전체들에 속해 있는 서열 식별자로 고려될 수 있다.
도 5에서의 테이블(540)은 제 2 계층의 범위 내에 포함되는 서열 식별자들 각각이 속해 있는 유전체의 개수를 연산하기 위한 데이터 구조이다. 일례로, 제 1 계층에 포함되는 서열 식별자들과 제 2 계층의 범위 내에 포함되는 서열 식별자들은 일부 상이할 수 있으며, 도 5에서의 예시에서는 서열 식별자 K가 제 1 계층의 범위의 유전체들에는 포함되지 않았으나 제 2 계층의 유전체들에는 포함된 것으로 도시된다.
본 개시내용의 추가적인 실시예에 따라, 테이블(540)의 컬럼(541)에 포함되는 서열 식별자들은 구현 또는 어플리케이션의 양태에 따라서 제 1 계층의 범위 내에 포함되는 서열 식별자들 또는 제 1 계층을 포함하는 제 2 계층에 포함된 서열 식별자들을 나타내는 형태의 구현 또한 가능할 수도 있다. 또한, 본 개시내용의 추가적인 실시예에 따라, 테이블(540)의 컬럼(542)에 포함되는 유전체들은 제 1 계층을 포함하는 제 2 계층에 포함된 유전체들을 나타내는 형태의 구현 또한 가능할 수도 있다.
도 5를 참조하여, 테이블(540)은 제 2 계층의 범위에 속하는 서열 식별자 각각을 포함하는 제 1 컬럼(541), 각각의 서열 식별자가 속한 제 2 계층의 범위 내의 유전체들의 리스트를 나타내는 제 2 컬럼(542) 및 각각의 서열 식별자가 속한 유전체들의 개수를 나타내는 제 3 컬럼(543)을 포함할 수 있다. 일례로, 테이블(540)은 테이블(520)에 역-인덱스가 적용된 인덱스 테이블을 의미할 수 있다. 다른 예시로, 테이블(540)은 테이블(520)에 대한 피벗 테이블을 의미할 수도 있다. 또 다른 예시로, 테이블(540)은 서열 식별자, 유전체들 및 서열 식별자가 속해 있는 유전체들의 개수를 나타내는 기본 테이블일 수도 있다.
본 개시내용의 일 실시예에 따라, 전술한 바와 같이, 테이블(540)에서의 컬럼(541)에 포함되는 서열 식별자는 제 2 계층의 범위 내에 포함되어 있는 서열 식별자를 의미할 수 있다. 본 개시내용의 추가적인 실시예에 따라, 테이블(540)에서의 컬럼(541)에 포함되는 서열 식별자가 제 1 계층 내에 포함되어 있는 서열 식별자를 나타내는 형태의 구현 또한 가능할 수도 있다.
제 2 계층의 범위 내에서의 유전체들과 제 2 계층의 범위 내에서의 서열 식별자를 비교하여, 제 2 계층의 범위 내에서의 서열 식별자들 각각이 제 2 계층 범위 내의 유전체들에 포함된 개수 또는 빈도가 연산될 수 있다. 이처럼 연산된 개수(또는 빈도)는 테이블(540)의 컬럼(543)의 형태로 표현될 수 있다.
컴퓨팅 장치는 테이블(540)을 활용하여, 제 2 계층의 범위 내의 유전체 중에서 제 1 계층의 범위 내에 포함되어 있는 서열 식별자 각각이 속해 있는 유전체들의 개수를 획득할 수 있다. 도 5에 도시된 테이블(540)의 예시에서는 A로 어노테이션된 서열 식별자(즉, 서열 식별자 A)는 제 2 계층의 범위 내에 속한 유전체들에 전혀 포함되지 않는 서열 식별자일 수 있으며, B로 어노테이션된 서열 식별자(즉, 서열 식별자 B)는 제 2 계층의 범위 내에 속한 유전체들 중 총 1개의 유전체(예컨대, 유전체 108)에 포함된 서열 식별자일 수 있으며, D로 어노테이션된 서열 식별자(즉, 서열 식별자 D)는 제 2 계층의 범위 내에 속한 유전체들 중 총 4개의 유전체들에 포함된 서열 식별자일 수 있으며, E로 어노테이션된 서열 식별자(즉, 서열 식별자 E)는 제 2 계층의 범위 내에 속한 유전체들 중 총 8개의 유전체들에 포함된 서열 식별자일 수 있으며, 서열 식별자 F는 제 2 계층의 범위 내에 속한 유전체들 중 총 6개의 유전체들에 포함된 서열 식별자일 수 있으며, 서열 식별자 K는 제 2 계층의 범위 내에 속한 유전체들 중 총 15개의 유전체들에 포함된 서열 식별자일 수 있으며, 그리고 서열 식별자 Z는 제 2 계층의 범위 내에 속한 유전체들 중 총 25개의 유전체들에 포함된 서열 식별자일 수 있다.
본 개시내용의 일 실시예에서, 테이블(530) 및 테이블(540) 중에서 음영 표시된 부분은 테이블(540) 중에서 출현 빈도 연산에 이용되는 데이터는 테이블(530)에 포함된 서열 식별자들에 한정된다는 것을 표현하기 위해 사용되었다. 추가적인 실시예에서, 테이블(530) 및 테이블(540)에서 음영 표시된 항목들은 제 2 계층의 범위 내에 속하는 서열 식별자들 중 출현 빈도의 연산의 대상이 되는 서열 식별자를 나타내는 것으로서, 제 1 계층의 범위 내에 속하는 서열 식별자들에 대응될 수 있다.
테이블(520)에서 도시되는 바와 같이 제 2 계층의 범위 내에 포함되는 유전체들은 총 200개로 예시되었다. 본 개시내용의 일 실시예에 따라, 제 2 계층의 범위는 제 1 계층의 상위 계층의 범위 중에서 제 1 계층의 범위가 제외된 범위를 의미할 수 있다. 예를 들어, 제 2 계층의 범위는 생물의 분류 체계에서의 속(genus) 범위에서 타겟 분석물에 해당하는 제 1 계층에 대응되는 종(species)의 범위가 제외된 나머지 범위를 의미할 수 있다. 도 5에서 도시되는 바와 같이, 제 1 계층의 상위 계층인 제 2 계층에는 제 1 계층 및 제 1 계층과 병렬로 존재하는 다른 하위 계층들이 포함될 수 있다. 도 5의 예시에서는 제 2 계층에서는 총 300개의 유전체가 존재할 수 있으며, 제 2 계층의 범위는 300개의 유전체들 중 제 1 계층에 속하는 100개의 유전체가 차감된 200개의 유전체들의 범위와 대응될 수 있다.
도 5에서는 제 2 계층의 범위를 제 2 계층에 대한 제 1 계층의 차집합 또는 여집합을 의미하는 것으로 예시되었으나, 본 개시내용의 추가 실시예에 따라, 제 2 계층의 범위는 제 1 계층의 상위 계층이 가지고 있는 전체 유전체들의 범위일 수도 있다. 이러한 예시에서, 제 2 계층의 범위에 속하는 유전체들의 개수는, 유전체 1 내지 유전체 300을 포함하여 총 300개일 수 있다.
추가적인 실시예로, 제 2 계층은 제 1 계층의 인접한 상위 계층으로 예시되었으나, 구현 방식 또는 설계 방식에 따라 제 1 계층이 종(species) 계층이고, 제 2 계층이 과(family) 또는 목(order) 계층으로 고려될 수도 있다. 이러한 예시에서의 제 2 계층의 범위는 과(family) 또는 목(order)의 계층에서 제 1 계층(종 계층)이 제외된 유전체들의 범위를 의미할 수 있을 것이다.
컴퓨팅 장치는 제 2 계층에 포함된 총 유전체들의 개수인 200개에 대한 특정 식별자의 서열 식별자의 출현 개수의 비율을 연산하여 출현 빈도를 획득할 수 있다. 상기 출현 빈도는 제 2 계층의 범위 내에 포함된 서열 식별자들 각각이 제 2 계층의 범위 내에 속한 유전체들에 얼마나 많이 포함되었는지를 나타낼 수 있다. 이하에서는 도 5의 테이블(540)의 예시에 따른 출현 빈도의 연산 방식을 예시적으로 도시한다. 도 5의 테이블(540)의 예시에서, A로 어노테이션된 서열 식별자는 0/200으로 0의 출현 빈도를 가지게 되며, B로 어노테이션된 서열 식별자는 1/200으로 0.005의 출현 빈도를 가지게 되며, D로 어노테이션된 서열 식별자는 4/200으로 0.02의 출현 빈도를 가지게 되며, E로 어노테이션된 서열 식별자는 8/200으로 0.04의 출현 빈도를 가지게 되며, F로 어노테이션된 서열 식별자는 6/200으로 0.03의 출현 빈도를 가지게 되며, K로 어노테이션된 서열 식별자는 15/200으로 0.075의 출현 빈도를 가지게 되며, 그리고 Z로 어노테이션된 서열 식별자는 25/200으로 0.125의 출현 빈도를 가지게 된다.
상기 연산된 출현 빈도와 제 2 임계값을 비교하여, 제 2 임계값을 초과하는 출현 빈도를 가지는 서열 식별자들에 대해서는 최종 선정될 서열 식별자(들)에서 제외하는 것으로 고려될 수 있다. 예를 들어, 제 2 임계값이 만약 0.05로 설정되어 있는 경우, 도 5의 예시에서의 서열 식별자들 중 서열 식별자 E, 서열 식별자 F, 서열 식별자 K 및 서열 식별자 Z는 제 2 임계치와의 비교에 따라 제외될 수 있다. 여기서의 제 2 임계값은 제 2 계층의 범위 내에서의 서열 식별자들의 출현 빈도에 대한 최대 기준 값을 의미할 수 있다. 즉, 제 2 계층의 범위 내에서의 다수의 유전체들에 속해 있는 제 1 계층 범위의 서열 식별자는 출현 빈도가 높은 서열 식별자로 고려될 수 있으며, 그리고 제 2 계층의 범위 내에서 상대적으로 소수의 유전체들에 속해 있는 제 1 계층 범위의 서열 식별자는 출현 빈도가 낮은 서열 식별자로 고려될 수 있다. 제 2 계층 범위에서 제 2 계층 범위의 서열 식별자의 출현 빈도를 계산하는 것은, 제 2 계층 범위에 존재하지 않는 혹은 제 2 계층의 범위에서 소수만 존재하는 서열 식별자를 찾기 위함이다.
전술한 바와 같이, 제 1 계층의 범위 내에서의 서열 식별자들 각각에 대해서 제 1 계층의 범위 내에서의 출현 빈도 그리고 제 2 계층의 범위 내에서의 서열 식별자들 각각에 대해서 제 2 계층의 범위 내에서의 출현 빈도가 연산될 수 있다. 제 1 계층의 범위 내에서의 출현 빈도는 제 1 임계 값과 비교될 수 있으며, 제 2 계층의 범위 내에서의 출현 빈도는 제 2 임계 값과 비교될 수 있다.
일 실시예에서, 제 1 임계 값과의 기준을 충족하면서 그리고 제 2 임계 값과의 기준 또한 충족시키는 서열 식별자가 도 5에서의 연산 단계에서 제 2 서열 식별자로서 선정될 수 있다. 도 5에서의 필터링 연산을 통해서 제 1 계층에 속하는 제 1 서열 식별자들 중 일부가 필터링됨에 따라, 기준을 충족하는 일부의 제 1 서열 식별자들이 제 2 서열 식별자들로 선정될 수 있다. 도 5에서의 필터링 연산을 통과한 제 2 서열 식별자들은 후술될 도 6에서의 필터링 연산의 대상이 될 수 있다.
도 5의 테이블(530')은 테이블(530)에 테이블(540)과 관련된 출현 빈도가 반영된 테이블을 나타낸다. 테이블(540)과 관련된 출현 빈도가 연산되고 그리고 임계값과의 비교 결과, 테이블(530)에서 서열 식별자 E 내지 Z에 대해서는 기준치를 충족하지 못하는 서열 식별자로 고려될 수 있다. 테이블(530')에서의 음영 표시된 항목들은 기준치를 충족시키지 못하는 서열 식별자들을 제외하는 것을 도시하기 위해 사용되었다.
본 개시내용의 일 실시예에서, 테이블(530')은 별도로 생성한 테이블이 아닌, 테이블(530)에서 일부 데이터를 선정한 것을 표현하기위해 사용되었다.
본 개시내용의 다른 실시예에서, 테이블(530')은 테이블(530)과 별개의 객체(object)로서 존재할 수 있다.
본 개시내용의 또 다른 실시예에서, 테이블(530')은 테이블(530)과 동일한 테이블로서 존재할 수 있으며, 이러한 경우 테이블(530')은 테이블(530)에 수정, 삽입 및/또는 삭제를 포함하는 임의의 형태의 DML(Data Manipulation Language) 연산이 적용된 형태를 나타낼 수 있다.
본 개시내용의 또 다른 실시예에서, 테이블(530')은 테이블(530)을 기본 테이블로 두는 데이터베이스 뷰(view) 또는 실체화 뷰(Materialized view)의 형태로 존재할 수도 있다. 이러한 경우에서 테이블(530)에 포함되어 있는 데이터에 대한 변경 내용이 발생되면 테이블(530') 내에서의 데이터가 리프레쉬(refresh)되어 변경 내용이 반영될 수 있다.
도 5의 테이블(530')은 제 1 계층의 범위 내에 포함된 서열 식별자들을 나타내는 제 1 컬럼(531'), 상기 서열 식별자들이 속한 제 1 계층의 범위 내에 포함된 유전체들을 나타내는 제 2 컬럼(532') 및 제 1 계층의 범위 내에 포함된 서열 식별자들 각각이 속한 제 1 계층의 범위 내에 있는 유전체들의 개수를 나타내는 제 3 컬럼(533')을 포함할 수 있다. 도 5에서 도시되는 바와 같이, 테이블(530)에 포함된 데이터에 제 1 임계값이 적용되고 그리고 테이블(540)에 포함된 데이터에 제 2 임계값이 적용됨에 따라서, 도 5에서 점선으로 표시된 서열 식별자 A, 서열 식별자 B 및 서열 식별자 D가 도 6에서 후술될 제 2 서열 식별자로 선정될 수 있다.
본 개시내용의 일 실시예에 따라, 제 1 계층의 범위에 속하는 제 1 서열 식별자들 각각에 대해서, 제 1 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도 및 상위 계층인 제 2 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도가 연산될 수 있다. 또는, 본 개시내용의 일 실시예에 따라, 제 1 계층의 범위에 속하는 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도 및 제 2 계층의 범위에 속하는 서열 식별자들 각각에 대하여 제 2 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도가 연산될 수 있다.
이러한 출현 빈도들과 임계 값들 간의 비교를 통해서, 제 1 계층의 범위에서는 출현 빈도가 높으면서 제 1 계층의 상위 계층의 범위에서는 출현 빈도가 낮은 제 2 서열 식별자들이 제 1 서열 식별자들 중에서 선정될 수 있다. 이러한 제 2 서열 식별자들의 개수는 제 1 서열 식별자들의 개수에 비해 매우 적기 때문에, 추후 제 2 계층보다 상위 계층인 제 3 계층의 범위에서의 출현 빈도를 연산할 때 제 2 서열 식별자들을 기준으로 연산이 이루어지게 될 것이다. 따라서, 제 3 계층의 범위에서의 출현 빈도의 연산에 대한 계산의 복잡성이 줄어들게 된다.
도 6은 제 1 계층과 제 3 계층을 고려하여 서열 식별자들의 출현 빈도를 연산하는데 사용되는 예시적인 데이터 구조를 도시한다.
도 5에서의 필터링 연산에 의해서 제 1 서열 식별자들 중에 선정된 제 2 서열 식별자들은 도 6에서의 필터링 연산의 대상이 될 수 있다. 예를 들어, 도 5에서 서열 식별자 A, 서열 식별자 B, 및 서열 식별자 D가 도 6에서 고려될 제 2 서열 식별자로 사용될 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치의 저장부는 참조번호 620 및 640과 같은 예시적인 테이블 구조로 유전체와 서열 식별자 간의 맵핑 관계를 저장할 수 있다.
도 6에서 도시되는 바와 같이, 제 3 계층의 범위 내에서의 유전체와 서열 식별자 간의 맵핑 관계를 나타내는 테이블(620)이 예시된다. 테이블(620)은 제 3 계층의 범위 내에 속한 유전체들의 리스트를 나타내는 컬럼(621) 및 상기 유전체에 포함되는 서열 식별자들을 나타내는 컬럼(621)을 포함할 수 있다. 도 6에서의 제 3 계층의 범위는 제 2 계층의 상위 계층인 제 3 계층에 속한 전체 유전체들 중에서 제 1 계층의 범위 내에 속한 유전체들이 제외된 유전체들 또는 유전체들의 범위를 의미할 수 있다.
본 개시내용의 추가적인 실시예에서, 도 6에서의 예시와는 달리, 제 3 계층의 범위는 제 3 계층에 속한 전체 유전체들을 나타내거나 또는 제 3 계층에 속한 전체 유전체들 중에서 제 2 계층의 범위 내에 속한 유전체들이 제외된 유전체들을 나타내는 형태의 구현 또한 가능할 수도 있다.
도 6에서는 생물의 분류 체계 상에서의 각각의 계층 별로 별도의 테이블 형태의 데이터 구조가 존재하는 것으로 예시되었으나, 이는 본 개시내용에 대한 설명의 편의를 위한 예시에 불과하며, 구현 방식 또는 설계 방식에 따라서, 생물의 분류 체계에 포함되는 계층들 전체를 하나의 테이블로 관리하는 데이터 구조, 하나의 계층에 대해서 복수의 테이블들이 존재하는 데이터 구조, 또는 노드와 엣지로 구성되는 그래프 형태의 데이터 구조 등과 같이 특정 계층에 포함된 유전체들과 서열 식별자 간의 연결이 가능한 임의의 형태의 데이터 구조가 가능할 수 있다.
컴퓨팅 장치는 도 5에서의 필터링 연산 결과에 따라 선정된 제 2 서열 식별자들(예컨대, 서열 식별자 A, 서열 식별자 B 및 서열 식별자 D)을 획득할 수 있다.
일 실시예에서, 컴퓨팅 장치는 제 2 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에서의 출현 빈도를 연산할 수 있다. 상기 출현 빈도는 제 2 서열 식별자들이 제 1 계층에 포함된 유전체들에 얼마나 많이 포함되어 있는지를 나타내는 지표를 의미할 수 있다.
다른 실시예에서, 제 2 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에서의 출현 빈도는, 도 5에서의 테이블(530) 또는 테이블(530')로부터 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도를 연산한 결과를 그대로 활용하는 방식으로 획득될 수 있다. 이러한 경우에는 제 2 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에서의 출현 빈도를 연산하기 위한 별도의 연산 과정이 필요하지 않을 수 있다.
도 6에서의 테이블(640)은 제 3 계층의 범위내에 포함되는 서열 식별자들 각각이 속해 있는 제 3 계층의 범위 내에 속한 유전체의 개수를 연산하기 위한 데이터 구조이다. 테이블(640)은 제 3 계층의 범위 내에 속하는 서열 식별자들 각각을 포함하는 제 1 컬럼(641), 각각의 서열 식별자가 속한 유전체들의 리스트를 나타내는 제 2 컬럼(642) 및 각각의 서열 식별자가 속한 유전체들의 개수를 나타내는 제 3 컬럼(643)을 포함할 수 있다. 일례로, 테이블(640)은 테이블(620)에 역-인덱스가 적용된 인덱스 테이블을 의미할 수 있다. 다른 예시로, 테이블(640)은 테이블(620)에 대한 피벗 테이블을 의미할 수도 있다. 또 다른 예시로, 테이블(640)은 제 3 계층의 범위 내에 있는 서열 식별자, 제 3 계층의 범위 내에 있는 유전체들 및 상기 서열 식별자 각각이 속해 있는 유전체들의 개수를 나타내는 기본 테이블일 수도 있다.
이하에서는 도 6에서의 테이블(620) 및 테이블(640)에 대한 활용 예시가 설명될 것이다. 본 개시내용의 일 실시예에서, 테이블(530') 및 테이블(640) 중에서 음영 표시된 부분은 테이블(640) 중에서 출현 빈도 연산에 이용되는 데이터는 테이블(530) 또는 테이블(530')에 포함된 서열 식별자들에 한정된다는 것을 표현하기 위해 사용되었다. 추가적인 실시예에서, 테이블(530') 및 테이블(640)에서 음영 표시된 항목들은 제 2 서열 식별자들을 나타낼 수 있다. 또한, 테이블(530'')에서의 음영 표시된 부분은 제 2 서열 식별자들 중 제 3 서열 식별자로 선정되지 않은 서열 식별자를 표시하기 위해 사용되었다.
도 5에서의 필터링이 수행된 결과에 따라 선정된 제 2 서열 식별자들 및 제 2 서열 식별자들을 포함하는 유전체들의 개수를 나타내기 위해 사용되었다. 도 5의 필터링 연산 결과, A, B 및 D의 서열 식별자를 갖는 서열 식별자들이 제 2 서열 식별자들로 선정되었으며, E, F 및 Z 등의 ID를 갖는 서열 식별자들은 도 5의 필터링 연산 결과 필터링됨에 따라 제 1 서열 식별자에는 해당하지만 제 2 서열 식별자에서는 제외되었다. 도 6은 제 2 서열 식별자로 선정된 A, B 및 D로 어노테이션된 서열 식별자들 각각에 대한 추가 필터링 연산이 수행되는 것이 예시적으로 설명한다. 본 개시내용의 추가적인 실시예에서, 테이블(640)에 포함된 E, F, H, 및 Z로 어노테이션된 서열 식별자들에 대한 고려 및 필터링이 추가로 적용되는 실시예 또한 구현 가능할 수도 있다.
본 개시내용의 일 실시예에서, 컴퓨팅 장치는 테이블(620) 및/또는 테이블(640)을 활용하여, 제 3 계층의 범위 내에 포함되어 있는 서열 식별자들 각각이 속해 있는 제 3 계층의 범위 내의 유전체들의 개수를 식별할 수 있다. 이하에서는 도 6의 예시에 따른 제 3 계층의 범위 내에서의 출현 빈도에 대한 연산 방식을 예시적으로 설명한다.
테이블(620)의 컬럼(621)에는 제 1 계층의 범위에 속하는 유전체들(예컨대, 유전체 1 내지 유전체 100)이 제외된 제 3 계층의 범위에 속하는 유전체들(예컨대, 유전체 101 내지 유전체 1000)이 포함되어 있다. 각각의 유전체들이 포함하는 서열 식별자들은 컬럼(622)에 도시되어 있다. 테이블(640)에서 서열 식별자 A를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 0이며, 서열 식별자 B를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 7개이며, 서열 식별자 D를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 11개이며, 서열 식별자 E를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 18개이며, 서열 식별자 F를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 19개이며, 서열 식별자 H를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 25개이며, 그리고 서열 식별자 Z를 포함하는 제 3 계층의 범위 내에 속한 유전체의 개수는 48개이다.
테이블(530')에서 도시된 바와 같이, A로 어노테이션된 서열 식별자는 제 1 계층에 속한 유전체들 중 총 100개의 유전체들에 포함된 서열 식별자일 수 있으며, B로 어노테이션된 서열 식별자는 제 1 계층에 속한 유전체들 중 총 97개의 유전체들에 포함된 서열 식별자일 수 있으며, D로 어노테이션된 서열 식별자는 제 1 계층에 속한 유전체들 중 총 96개의 유전체들에 포함된 서열 식별자일 수 있다. 테이블(530')의 예시에서, A로 어노테이션된 서열 식별자는 100/100으로 1.00의 출현 빈도를 가지게 되며, B로 어노테이션된 서열 식별자는 97/100으로 0.97의 출현 빈도를 가지게 되며, D로 어노테이션된 서열 식별자는 96/100으로 0.96의 출현 빈도를 가지게 된다.
앞서 설명된 바와 같이, 본 개시내용의 다른 일 실시예에서는, 위와 같은 출현 빈도에 대한 연산 과정이 생략될 수 있으며, 제 1 서열 식별자들에 대해 연산된 출현 빈도로부터 제 2 서열 식별자들에 대한 출현 빈도가 획득될 수도 있다
본 개시내용의 일 실시예에서, 제 1 계층의 범위 내에서의 제 2 서열 식별자들 각각에 대한 출현 빈도가 연산 또는 획득될 수 있으며, 상기 연산 또는 획득된 출현 빈도와 제 4 임계 값을 비교하여, 제 4 임계 값 미만의 출현 빈도를 가지는 제 2 서열 식별자들에 대해서는 최종 선정될 서열 식별자(들)에서 제외 또는 필터링하는 것으로 고려될 수 있다. 예를 들어, 제 4 임계 값이 만약 0.97로 설정되어 있는 경우, 도 6의 예시에서의 서열 식별자들 중 D는 제 4 임계 값과의 비교에 따라 제거될 수 있다. 여기서의 제 4 임계 값은 제 1 계층 내에서의 제 2 서열 식별자들의 출현 빈도에 대한 최소 기준 값을 의미할 수 있다. 즉, 제 1 계층 내에서 다수의 유전체들에 속해 있는 제 2 서열 식별자는 출현 빈도가 높은 서열 식별자로 고려될 수 있으며, 그리고 제 1 계층 내에서 상대적으로 소수의 유전체들에 속해 있는 제 2 서열 식별자는 출현 빈도가 낮은 서열 식별자로 고려될 수 있다.
본 개시내용에서의 제 3 계층은 예를 들어, 생물의 분류 체계 중 최상위 계층을 의미할 수 있다. 이러한 예시에서, 제 3 계층의 범위는 최상위 계층에 포함된 유전체들 중에서 제 1 계층에 포함된 유전체들이 제외된 유전체들을 의미할 수 있다. 또한, 제 3 계층의 범위는 최상위 계층에 포함된 유전체들 중에서 제 2 계층에 포함된 유전체들이 제외된 유전체들을 의미할 수도 있다. 또한, 제 3 계층의 범위는 최상위 계층에 포함된 유전체들 중 제 2 계층의 범위(즉, 제 2 계층에 포함된 유전체들 중 제 1 계층에 포함된 유전체들이 제외된 유전체들)의 유전체들이 제외된 유전체들을 의미할 수도 있다. 최상위 계층에 대한 일례는 역(domain)이다.
다른 예시에서, 제 3 계층은 생물의 분류 체계 중 차상위 계층을 의미할 수 있다. 이러한 예시에서, 제 3 계층의 범위는 차상위 계층에 포함된 유전체들 중에서 제 1 계층에 포함된 유전체들이 제외된 유전체들을 의미할 수 있다. 또한, 제 3 계층의 범위는 차상위 계층에 포함된 유전체들 중에서 제 2 계층에 포함된 유전체들이 제외된 유전체들을 의미할 수도 있다. 또한, 제 3 계층의 범위는 차상위 계층에 포함된 유전체들 중 제 2 계층의 범위(즉, 제 2 계층에 포함된 유전체들 중 제 1 계층에 포함된 유전체들이 제외된 유전체들)의 유전체들이 제외된 유전체들을 의미할 수도 있다. 차상위 계층에 대한 일례는 계(kingdom)이다.
또 다른 예시에서, 제 3 계층은 생물의 분류 체계 중 제 2 계층 보다 상위인 계층을 의미할 수 있다. 이러한 예시에서, 제 3 계층의 범위는 제 3 계층에 속한 유전체들 중에서 제 1 계층에 속한 유전체들이 제외된 유전체들을 의미할 수 있다. 다른 예시로, 제 3 계층의 범위는 제 3 계층에 속한 유전체들 중에서 제 2 계층에 속한 유전체들이 제외된 유전체들을 의미할 수 있다. 또 다른 예시로, 제 3 계층의 범위는 제 3 계층에 속한 유전체들 중에서 제 2 계층의 범위(즉, 제 2 계층에 포함된 유전체들 중 제 1 계층에 포함된 유전체들이 제외된 유전체들)의 유전체들이 제외된 유전체들을 의미할 수도 있다. 제 3 계층에 대한 일례는 과, 문, 강, 문, 계 또는 역을 포함할 수 있다.
일 실시예에서, 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3 계층에 대한 상기 제 2 계층의 차집합의 범위 내에서의 상기 제 2 서열 식별자들에 대한 출현 빈도가 연산될 수 있다.
본 개시내용의 일 실시예에 따라, 테이블(640)에서의 컬럼(641)에 포함되는 서열 식별자들은 제 3 계층의 범위 내에 포함되어 있는 서열 식별자를 의미할 수 있다. 컬럼(641)에 포함되는 서열 식별자들 중 서열 식별자 A, B 및 D는 1차 필터링을 통해 획득된 제 2 서열 식별자들과 대응되며, 나머지 서열 식별자들인 E, F, H 및 Z 등은 제 1 계층의 범위 내에 포함된 서열 식별자들 중 제외된 서열 식별자 및/또는 제 3 계층의 범위에만 포함된 서열 식별자와 대응될 수 있다. 테이블(640)을 통해서 제 3 계층의 범위 내에서의 유전체들과 서열 식별자들을 비교하여, 서열 식별자가 제 3 계층의 범위 내에 있는 유전체들에 얼마나 많이 포함되어 있는지 연산될 수 있다.
컴퓨팅 장치는 테이블(640)을 활용하여, 서열 식별자 각각이 속해 있는 제 3 계층의 범위 내의 유전체들의 개수를 식별할 수 있다. 도 6의 예시에서는 A로 어노테이션된 서열 식별자는 제 3 계층의 범위에 속한 유전체들에 전혀 포함되지 않는 서열 식별자일 수 있으며, B로 어노테이션된 서열 식별자는 제 3 계층의 범위에 속한 유전체들 중 총 7개의 유전체들에 포함된 서열 식별자일 수 있으며, D로 어노테이션된 서열 식별자는 제 3 계층의 범위에 속한 유전체들 중 총 11개의 유전체들에 포함된 서열 식별자일 수 있다.
테이블(620)에서 도시되는 바와 같이 제 3 계층의 범위에 포함되는 유전체들은 총 900개로 예시되었다. 본 개시내용의 일 실시예에 따라, 제 3 계층의 범위는 제 2 계층의 상위 계층의 범위 중에서 제 1 계층의 범위 또는 제 2 계층의 범위가 제외된 범위를 의미할 수 있다. 예를 들어, 제 3 계층의 범위는 생물의 분류 체계에서의 역(domain) 범위에서 또는 계(kingdom)의 범위에서 제 1 계층에 대응되는 종의 범위가 제외된 나머지 범위를 의미할 수 있다. 본 개시내용의 일 실시예에 따라, 제 3 계층은 생물의 분류 체계에서의 최상위 계층을 의미할 수 있다.
도 6에서 도시되는 바와 같이, 제 2 계층의 상위 계층인 제 3 계층에는 제 2 계층 및 제 2 계층과 병렬로 존재하는 다른 하위 계층들이 포함될 수 있다. 도 6의 예시에서는 제 3 계층 전체적으로 총 1000개의 유전체가 존재할 수 있으며, 제 3 계층의 범위는 1000개의 유전체들 중 제 1 계층에 속하는 100개의 유전체가 차감된 900개의 유전체들의 범위와 대응될 수 있다.
컴퓨팅 장치는 제 3 계층의 범위에 포함된 유전체들의 개수인 900개에 대한 특정 ID의 서열 식별자의 출현 개수의 비율을 연산하여 출현 빈도를 획득할 수 있다. 이러한 출현 빈도는 제 2 서열 식별자들 각각이 제 3 계층의 유전체들에 얼마나 많이 포함되었는지를 나타낼 수 있다. 이하에서는 도 6의 예시에 따른 출현 빈도의 연산 방식을 예시적으로 설명한다.
도 6의 예시에서, A로 어노테이션된 서열 식별자는 0/900으로 0의 출현 빈도를 가지게 되며, B로 어노테이션된 서열 식별자는 7/900으로 0.0078의 출현 빈도(반올림 수행)를 가지게 되며, D로 어노테이션된 서열 식별자는 11/900으로 0.0122(반올림 수행)의 출현 빈도를 가지게 되다.
본 개시내용의 일 실시예에서, 제 2 서열 식별자들 각각에 대한 또는 제 3 계층의 범위 내의 서열 식별자들 각각에 대한, 제 3 계층의 범위에서의 출현 빈도가 연산될 수 있으며, 연산된 출현 빈도와 제 3 임계 값을 비교하여, 제 3 임계 값을 초과하는 출현 빈도를 가지는 서열 식별자들에 대해서는 최종 선정될 서열 식별자(들)에서 제외하는 것으로 고려될 수 있다. 예를 들어, 제 3 임계 값이 만약 0.01로 설정되어 있는 경우, 도 6의 예시에서의 서열 식별자들 중 D는 제 3 임계치와의 비교에 따라 제외될 수 있다. 도 6의 예시에 따라, 서열 식별자 A 및 B가 최종 후보 서열 식별자(예컨대, 제 3 서열 식별자)로 선정될 수 있다. 여기서의 제 3 임계 값은 제 3 계층의 범위 내에서의 서열 식별자들의 출현 빈도에 대한 최대 기준 값을 의미할 수 있다. 즉, 제 3 계층의 범위 내에서의 다수의 유전체들에 속해 있는 서열 식별자는 출현 빈도가 높은 서열 식별자로 고려될 수 있으며, 그리고 제 3 계층의 범위 내에서 상대적으로 소수의 유전체들에 속해 있는 서열 식별자는 출현 빈도가 낮은 서열 식별자로 고려될 수 있다. 제 3 계층의 범위에서 서열 식별자의 출현 빈도를 계산하는 것은, 제 3 계층의 범위에 존재하지 않는 혹은 제 3 계층의 범위에서 상대적으로 적게 존재하는 서열 식별자를 찾기 위함이다.
전술한 바와 같이, 제 2 서열 식별자들 각각에 대해서 제 1 계층의 범위 내에서의 출현 빈도 및 제 3 계층의 범위 내에서의 출현 빈도가 획득 또는 연산될 수 있다. 이러한 출현 빈도들은 제 3 임계 값 및 제 4 임계 값과 비교될 수 있다. 일 실시예에서, 제 3 임계 값과의 기준을 충족하면서 그리고 제 4 임계 값과의 기준 또한 충족시키는 제 2 서열 식별자가 도 6에서의 연산 단계에서 제외되지 않고 최종적으로 타겟 분석물에 특이적인 서열 식별자로 선정될 수 있다.
본 개시내용의 일 실시예에서, 제 3 임계 값 및 제 4 임계 값에 대한 적용 후에 출력되는 서열 식별자들의 개수가 사전설정된 개수 미만이거나 혹은 사전설정된 개수를 초과하는 경우, 제 3 임계 값 및/또는 제 4 임계값이 변경될 수 있다. 이처럼 컴퓨팅 장치는 제 3 임계값 및/또는 제 4 임계값을 변경함으로써, 원하는 개수의 서열 식별자들이 필터링을 통해 출력될 수 있도록 조정할 수 있다.
도 6에서 점선으로 표시된 서열 식별자 A 및 서열 식별자 B가 최종적으로 타겟 분석물과 관련되는 서열 식별자로 선정될 수 있으며, 서열 식별자 D는 도 6에서의 2차 필터링을 통해 제외될 수 있다. 도 6에서의 테이블(530'')은 테이블(530) 또는 테이블(530')에 2차 필터링 결과가 반영된 테이블을 도시하며, 컬럼(531'')은 서열 식별자들을 나타내고, 컬럼(532'')은 서열 식별자를 포함하는 유전체들을 나타내고, 그리고 컬럼(533'')은 서열 식별자를 포함하는 유전체들의 개수를 나타낸다.
본 개시내용의 일 실시예에서, 테이블(530'')은 별도로 생성한 테이블이 아닌, 테이블(530') 또는 테이블(530)에서 일부 데이터를 선정한 것을 표현하기 위해 사용되었다.
본 개시내용의 다른 실시예에서, 테이블(530'')은 테이블(530) 또는 테이블(530')과 별개의 객체로서 존재할 수 있다.
본 개시내용의 또 다른 실시예에서, 테이블(530'')은 테이블(530) 및/또는 테이블(530')과 동일한 테이블로서 존재할 수 있으며, 이러한 경우 테이블(530')은 테이블(530) 또는 테이블(530')에 수정, 삽입 및/또는 삭제를 포함하는 임의의 형태의 DML 연산이 적용된 형태를 나타낼 수 있다.
본 개시내용의 또 다른 실시예에서, 테이블(530'')은 테이블(530) 또는 테이블(530')을 기본 테이블로 두는 데이터베이스 뷰 또는 실체화 뷰의 형태로 존재할 수도 있다. 이러한 경우에서 테이블(530) 또는 테이블(530')에 포함되어 있는 데이터에 대한 변경 내용이 발생되면 테이블(530'') 내에서의 데이터가 리프레쉬되어 변경 내용이 반영될 수 있다.
본 개시내용의 또 다른 실시예에서, 모든 계층에 포함된 유기체에 대해 유전체가 key에 해당되고, 서열 식별자가 value에 해당되는 제 1 테이블이 미리 구축될 수 있다. 테이블(510), 테이블(520) 또는 테이블(620) 등 유전체 별 서열 식별자에 대한 정보가 필요할 때, 제 1 테이블을 참조하여 유전체 및 서열 식별자에 대한 정보가 획득될 수 있다.
또한, 모든 계층에 포함된 유기체에 대해 서열 식별자가 key에 해당되고, 유전체가 value에 해당되는 제 2 테이블이 미리 구축될 수 있다. 테이블(530), 테이블(540) 또는 테이블(640) 등 서열 식별자 별 유전체에 대한 정보가 필요할 때, 제 2 테이블을 참조하여 서열 식별자 별 유전체에 대한 정보가 획득될 수 있다.미리 구축된 정보는 이에 한정되지 않고, 경우에 따라 다양한 정보가 미리 구축되고 필요한 정보가 해당 시점에 in memory상에서 수행되어 획득되는 방식으로 DB가 구현될 수 있다.
본 개시내용의 일 실시예에서, 타겟 분석물에 특이적인 서열 식별자에 대해서는 설명의 편의를 위해 몇몇개의 서열 식별자를 예시로 들어 설명하였으나, 당업자들은 타겟 분석물에 특이적인 서열 식별자가 임의의 개수로 선정될 수도 있다는 점 또한 자명하게 이해할 것이다. 예를 들어, 타겟 커버리지(coverage)를 개선하기 위해, 민감도를 개선하기 위해, 그리고/또는 타겟 분석물이 보다 양호하게 검출될 수 있도록 하기 위해, 다양한 개수의 최종 서열 식별자를 선정하는 것 또한 본 개시내용의 권리범위 내에 포함될 수 있다.
전술한 바와 같이, 본 개시내용의 일 실시예에 따라, 제 2 서열 식별자들 각각에 대해서, 제 1 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도 및 상위 계층인 제 3 계층의 범위 내에 존재하는 유전체들에서의 출현 빈도가 연산될 수 있다. 이러한 출현 빈도들과 임계 값들 간의 비교를 통해서, 제 1 계층의 범위에서는 출현 빈도가 높으면서 최상위 계층의 범위에서는 출현 빈도가 낮은 최종 서열 식별자들이 제 2 서열 식별자들 중에서 선정될 수 있다. 이러한 선정되는 최종 서열 식별자들의 개수는 임계 값에 따라 조절이 가능하다. 이러한 방식으로 최종 선정된 서열 식별자들은 입력된 타겟 분석물에 특이적인 서열 식별자들로 고려될 수 있다.
도 7은 본 개시내용의 일 실시예에 따라, 타겟 분석물에 특이적인 후보 서열 식별자를 선정하기 위한 방법을 예시적으로 도시하는 순서도이다.
도 7에서 설명되는 서열 식별자를 선정하기 위한 방법은 컴퓨팅 장치에 의해 수행될 수 있다.
컴퓨팅 장치는 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득할 수 있다(710).
컴퓨팅 장치는 타겟 분석물과 관련된 입력을 수신할 수 있다. 예를 들어, 컴퓨팅 장치는 균주의 타입, 또는 종, 속 또는 과 등의 생물의 분류체계에 대한 명칭 등과 같은 입력을 수신할 수 있다. 다른 예시로, 입력된 데이터는 타겟 분석물에 대응하는 분류 식별자(TAX ID)일 수 있다. 또 다른 예시로, 입력된 데이터는 타겟 분석물에 대한 명칭일 수 있으며, 이러한 경우 컴퓨팅 장치는 타겟 분석물의 명칭에 대응되는 분류 식별자를 결정하거나 또는 DB 내에서 타겟 분석물의 명칭에 대응하는 임의의 타입의 ID를 결정할 수 있다.
컴퓨팅 장치는 타겟 분석물과 관련된 입력에 따라서, 타겟 분석물이 속하는 생물의 분류체계에 대한 계층을 결정할 수 있다. 타겟 분석물이 비브리오 콜레라인 경우, 컴퓨팅 장치는 비브리오 콜레라가 속하는 생물의 분류체계 상에서의 특정한 계층을 제 1 계층으로 결정할 수 있다. 예를 들어, 타겟 분석물인 비브리오 콜레라에 대응되는 비브리오 콜레라 종(species)이 제 1 계층으로 결정될 수 있다. 다른 예시로, 타겟 분석물인 비브리오 콜레라를 포괄하는 비브리오 속(genus)이 제 1 계층으로 선정될 수도 있다.
본 개시내용의 일 실시예에서, 제 1 계층은 생물의 분류체계 상에서 적어도 2개의 상위 계층이 존재하는 하위 계층들 중 하나로 결정될 수도 있다. 도 7에서 사용되는 제 1 계층은 타겟 분석물에 대응하여 결정된 생물의 분류체계 상에서의 특정 계층을 포함할 수 있다. 또한, 도 7에서 사용되는 제 1 계층은 타겟 분석물이 속해 있는 생물의 분류 체계 상에서의 최하위 계층을 의미하는 것으로 사용될 수도 있다.
본 개시내용의 일 실시예에서, 컴퓨팅 장치는 결정된 제 1 계층에 포함된 제 1 서열 식별자들을 획득할 수 있다. 도 7에서 제 1 서열 식별자는 제 1 계층에 포함된 유전체들이 가지고 있는 서열 식별자들을 의미할 수 있다. 여기서의 서열 식별자는 염기서열들을 식별하기 위한 ID로서, 앞서 설명된 바와 같이 식별자를 결정하기 위한 다양한 방식이 고려될 수 있다.
컴퓨팅 장치는 제 1 계층에 포함된 전체 유전체들이 가지고 있는 서열 식별자들을 획득할 수 있다. 컴퓨팅 장치는 내부에 위치한 저장부 및/또는 외부에 위치한 저장부를 활용하여, 제 1 계층에 속하는 전체 유전체들의 리스트 및/또는 상기 전체 리스트들 각각이 가지고 있는 서열 식별자들을 리트리브할 수 있다. 예를 들어, 염기서열들의 그룹에 대한 어노테이션 정보가 포함된 유전체 저장부에서 입력 정보에 대응하는 생물군의 유전체 및/또는 서열 식별자들에 대한 목록을 컴퓨팅 장치가 조회함으로써, 유전체들의 리스트 및/또는 서열 식별자들의 리스트가 획득될 수 있다.
도 7에서 컴퓨팅 장치는 제 1 서열 식별자들 각각에 대하여 제 1 계층의 범위 내에서의 출현 빈도 및 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정할 수 있다(720).
컴퓨팅 장치는 제 1 서열 식별자들 각각이 제 1 계층 내에 포함된 유전체들에 포함된 개수를 연산함으로써, 제 1 계층의 범위 내에서의 출현 빈도를 결정할 수 있다. 상기 출현 빈도는 타겟 분석물이 위치한 제 1 계층의 범위 내에서의 제 1 서열 식별자들의 출현 빈도를 판단하기 위한 값으로서, 제 1 계층의 범위 내에 있는 제 1 서열 식별자들이 포함되어 있는, 제 1 계층의 범위 내에 있는 유전체들의 개수를 결정하는 방식으로 이루어질 수 있다. 일례로, 상기 출현 빈도는 제 1 계층의 범위 내에 있는 유전체들의 총 개수에 대한 제 1 서열 식별자들을 가지고 있는 유전체들의 개수의 비율일 수 있다. 상기 출현 빈도를 결정하는 방식에 대한 구체적인 설명은 도 5에서 설명된 내용들을 참고하기로 한다.
컴퓨팅 장치는 제 1 서열 식별자들 각각이 제 2 계층의 범위 내에 포함된 유전체들에 포함된 개수를 연산함으로써, 제 2 계층의 범위 내에서의 출현 빈도를 결정할 수 있다. 상기 출현 빈도는 타겟 분석물이 위치한 제 1 계층의 상위 계층인 제 2 계층의 범위 내에서의 제 1 서열 식별자들의 출현 빈도를 판단하기 위한 값으로서, 제 1 서열 식별자들이 포함되어 있는, 제 2 계층의 범위 내에 있는 유전체들의 개수를 결정하는 방식으로 이루어질 수 있다.
일 실시예에서, 제 2 계층은 상위 계층이 하위 계층을 포괄하는 계층 구조 상에서 제 1 계층에 대한 상위 계층들 중 하나의 계층일 수 있다. 다른 실시예에서, 제 2 계층은 계층 구조 상에서 제 1 계층의 immediately higher hierarchical position(바로 더 높은 계층적 위치)에 해당되는 계층일 수 있다. 제 2 계층은 포함된 유전체들의 개수가 임계 개수를 초과하는 상기 제 1 계층의 immediately higher hierarchical position일 수 있다.
또 다른 실시예에서, 제 2 계층은, 제 1 계층에 포함된 제 1 유전체들이 제외된 유전체들의 개수가 유전체 임계 개수를 초과하는 상기 제 1 계층의 상위 계층들 중에서 상기 제 1 계층에 가장 인접한 계층일 수 있다.
본 개시내용의 일 실시예에 따른 제 2 계층의 범위 내에서의 출현 빈도는 제 2 계층의 범위 내에 있는 유전체들의 총 개수에 대한 제 1 서열 식별자들을 가지고 있는 유전체들의 개수의 비율일 수 있다. 상기 출현 빈도를 결정하는 방식에 대한 구체적인 설명은 도 5에서 설명된 내용들을 참고하기로 한다.
제 1 계층의 범위에서의 출현 빈도 및 제 2 계층의 범위에서의 출현 빈도를 통해서, 타겟 분석물이 속해 있는 제 1 계층에서의 제 1 서열 식별자들 중 타겟 분석물이 속해 있는 계층에서의 영역에서는 출현 빈도가 높으면서 타겟 분석물이 속해 있는 계층이 제외된 상위 계층에서의 다른 영역에서는 출현 빈도가 낮은 서열 식별자가 효율적으로 선정될 수 있다. 상기 출현 빈도들을 활용하는 경우, 전체 생물군에서의 출현 빈도를 계산하기 전에, 제 1 서열 식별자들 중에서 제 2 서열 식별자들이 선정될 수 있기 때문에, 개수가 상대적으로 적은 제 2 서열 식별자들을 대상으로 전체 생물군에서의 출현 빈도를 구하는 연산이 가능해질 수 있다.
컴퓨팅 장치는 제 2 서열 식별자들 각각에 대하여, 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도 및 제 1 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 제 2 서열 식별자들 중에서 타겟 분석물과 관련되는 제 3 서열 식별자를 선정할 수 있다(730).
상기 제 3 계층의 범위 내에서의 제 2 서열 식별자의 출현 빈도는, 제 3 계층에 포함된 제 3 유전체들에서 상기 제 1 유전체들 또는 상기 제 2 유전체들이 제외된 유전체들 중에서 상기 제 2 서열 식별자들 각각이 속한 유전체들의 개수이며, 그리고 상기 제 1 계층의 범위 내에서의 제 2 서열 식별자의 출현 빈도는, 상기 제 1 유전체들 중에서 상기 제 2 서열 식별자들 각각이 속한 유전체들의 개수를 의미할 수 있다.
전술한 바와 같이, 단계 720을 통해서 타겟 분석물과 관련되는 제 1 서열 식별자들 중에서 타겟 분석물에 특이적이고 다른 유기체에 대해서는 특이적이지 않을 가능성이 높은 제 2 서열 식별자들이 상대적으로 적은 연산량으로 선정될 수 있다.
단계 730은, 단계 720을 통해 선정된 제 2 서열 식별자들을 대상으로 전술한 출현 빈도들을 연산하는 과정을 설명한다. 컴퓨팅 장치는 제 2 계층의 상위 계층인 제 3 계층의 범위 내에 포함된 유전체들 중에서 제 2 서열 식별자들 각각을 포함하는 유전체들의 개수를 연산함으로써, 제 3 계층의 범위에서의 제 2 서열 식별자들에 대한 출현 빈도를 결정할 수 있다.
일 실시예에서, 제 3 계층은 제 2 계층의 상위 계층을 의미할 수 있다. 다른 실시예에서, 제 3 계층은 타겟 분석물과 관련된 생물의 분류 체계에서의 최상위 계층 또는 차상위 계층을 의미할 수 있다.
일 실시예에서, 제 3 계층의 범위는 제 3 계층에 대한 제 1 계층의 차집합의 범위 또는 제 3 계층에 대한 제 2 계층의 차집합의 범위를 의미할 수 있다.
본 개시내용의 일 실시예에서, 컴퓨팅 장치는 제 1 계층의 범위에서의 제 1 서열 식별자의 출현 빈도의 결과로부터 제 1 계층의 범위에서의 제 2 서열 식별자의 출현 빈도를 획득할 수 있다. 전술한 출현 빈도들 모두 제 1 계층의 범위인 유전체들의 범위가 서로 대응되기 때문에, 이러한 실시예에서는 별도의 출현 빈도를 구하는 연산을 수행하지 않고도, 제 2 서열 식별자들을 포함하는 제 1 서열 식별자들에 대한 출현 빈도 연산 결과로부터 상기 제 2 서열 식별자들에 대응하는 출현 빈도가 획득될 수 있다.
다른 실시예에서, 컴퓨팅 장치는 제 2 서열 식별자들 각각에 대하여, 제 1 계층의 범위에 있는 유전체들 중 제 2 서열 식별자들 각각을 포함하는 유전체들의 개수를 구하는 방식으로 출현 빈도를 연산할 수도 있다.
전술한 출현 빈도들을 결정하는 방식에 대한 구체적인 설명은 도 6에서 설명된 내용들을 참고하기로 한다.
본 개시내용의 추가적인 실시예에서, 컴퓨팅 장치는 상기 제 2 서열 식별자들 각각에 대하여, 제 2 계층의 범위 내에서 제 2 서열 식별자들 각각의 출현 빈도를 나타내는 출현 빈도를 연산할 수도 있다. 이러한 실시예에 따라, 컴퓨팅 장치는 상기 복수의 출현 빈도들에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 추가적으로 고려하여 제 2 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 3 서열 식별자를 선정할 수 있다. 일례로, 타겟 분석물과 관련성이 제일 높은 제 1 계층의 범위에서는 가장 높은 출현 빈도를 가지고, 타겟 분석물과 관련성이 2번째로 높은 제 2 계층의 범위에서는 상대적으로 낮은 출현 빈도를 가지고, 타겟 분석물과 관련성이 가장 낮을 수 있는 제 3 계층의 범위에서는 제일 낮은 출현 빈도를 가지는 제 2 서열 식별자가 제 3 서열 식별자로 선정될 수 있다.
컴퓨팅 장치는 복수의 출현 빈도들에 기초하여, 제 2 서열 식별자들 각각에 대한 스코어(score)를 산정함으로써, 제 2 서열 식별자들 중 적어도 하나의 제 3 서열 식별자를 선정할 수 있다. 일례로, 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도의 크기가 클 수록 높은 스코어가 산정되고, 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정되고, 그리고 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정될 수 있다. 제 2 서열 식별자들 각각에 대한 스코어를 산정한 이후에, 스코어가 높은 제 2 서열 식별자가 제 3 서열 식별자로 선정될 수 있다.
본 개시내용의 일 실시예에 따라, 상기 스코어를 결정하기 위한 예시 알고리즘이 아래의 수학식 1에서 설명된다.
Figure PCTKR2022016787-appb-img-000002
수학식 1에서, Fin은 제 2 서열 식별자(또는 제 1 서열 식별자)들 중에서 상기 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 1 계층의 범위 내에서의 유전체의 개수이며, Gin은 상기 제 1 계층에 포함되는 유전체들의 개수이며, Gtotal은 상기 제 3 계층에 포함되는 유전체들의 개수이며, Fexp는 제 2 서열 식별자(또는 제 1 서열 식별자)들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 2 계층의 범위 내에서의 유전체의 개수이며, Gexp는 상기 제 2 계층에 대한 상기 제 1 계층의 차집합의 범위 내에 포함되는 유전체들의 개수이며, Fext는 제 2 서열 식별자(또는 제 1 서열 식별자)들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 3 계층의 범위 내에서의 개수이며, 그리고 Gext는 상기 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3계층에 대한 상기 제 2 계층의 차집합의 범위 내에 포함되는 유전체들의 개수이다.
구체적으로, 상기 수학식 1에서, Fin/Gin은 제 1 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미할 수 있다. (Gtotal+Gin)/Gtotal은 제 3 계층에 포함되는 전체 유전체들의 개수와 제 1 계층에 포함되는 유전체들의 개수를 합한 개수에서 제 3 계층에 포함되는 유전체들의 개수를 나눈 값을 의미할 수 있다.
(Gtotal+Gin)/Gtotal은 제 3 계층에 포함된 유전체에 비해 제 1 계층에 포함된 유전체가 얼만큼의 비율인지 나타내는 파라미터일 수 있다. 제 1 계층에 포함되는 유전체가 많을수록 높은 값을 나타내는 (Gtotal+Gin)/Gtotal을 Fin/Gin에 곱함으로써 Fin/Gin값을 더 높은 값으로 변환하여 결과적으로 상대적으로 높은 Score가 산출될 수 있다. 제 1 계층에 포함되는 유전체가 적을수록 낮은 값을 나타내는 (Gtotal+Gin)/Gtotal을 Fin/Gin에 곱함으로써 Fin/Gin값을 더 낮은 값으로 변환하여 결과적으로 상대적으로 낮은 Score가 산출될 수 있다.
Fexp/Gexp은 제 2 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미할 수 있다. (Gtotal+Gexp)/Gtotal은 제 3 계층에 포함되는 전체 유전체들의 개수와 제 2 계층에 포함되는 유전체들의 개수를 합한 개수에서 제 3 계층에 포함되는 유전체들의 개수를 나눈 값을 의미할 수 있다.
(Gtotal+Gexp)/Gtotal은 제 3 계층에 포함된 유전체에 비해 제 2 계층에 포함된 유전체가 얼만큼의 비율인지 나타내는 파라미터일 수 있다. 제 2 계층에 포함되는 유전체가 많을수록 높은 값을 나타내는 (Gtotal+Gexp)/Gtotal을 Fexp/Gexp에 곱함으로써 Fexp/Gexp값을 더 높은 값으로 변환하여 결과적으로 상대적으로 높은 Score가 산출될 수 있다. 제 2 계층에 포함되는 유전체가 적을수록 낮은 값을 나타내는 (Gtotal+Gexp)/Gtotal을 Fexp/Gexp에 곱함으로써 Fexp/Gexp값을 더 낮은 값으로 변환하여 결과적으로 상대적으로 낮은 Score가 산출될 수 있다.
Fext/Gext는 제 3 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미할 수 있다.
일례로, 제 1 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미하는 Fin/Gin가 높아질수록 상기 Score는 높아질 수 있다. 또한, 제 2 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미하는 Fexp/Gexp가 높아질수록 상기 Score는 낮아질 수 있다. 또한, 제 3 계층의 범위 내에서의 제 2 서열 식별자(또는 제 1 서열 식별자)의 출현 빈도를 의미하는 Fext/Gext가 높아질수록 상기 Score는 낮아질 수 있다.
컴퓨팅 장치는 전술한 수학식 1에서 사용되는 변수 값들을 각각의 서열 식별자들에 대해 획득한 이후에, 각각의 서열 식별자들에 대한 스코어 값을 연산할 수 있다. 본 개시내용의 일 실시예에서, 수학식 1에서의 스코어의 정량적인 값이 큰 서열 식별자는, 최종 후보 서열 식별자(즉, 제 3 서열 식별자)로 선정될 가능성이 높다. 반대로, 수학식 1에서의 스코어의 정량적인 값이 작은 서열 식별자는 최종 후보 서열 식별자(즉, 제 3 서열 식별자)로 선정될 가능성이 낮다. 컴퓨팅 장치는 스코어의 값의 크기를 기준으로 최종 후보 서열 식별자들을 정렬할 수 있다.
전술한 바와 같이, 본 개시내용의 일 실시예에 따른 서열 식별자를 선정하기 위한 방법은, 타겟 분석물과 관련된 제 1 서열 식별자들 중 타겟 분석물에는 대부분 포함되어 있으며 타겟 분석물 이외의 다른 유기체에서는 거의 포함되어 있지 않은 서열 식별자를 계산 효율적인 방식으로 선정할 수 있다. 타겟 분석물과 관련된 제 1 서열 식별자들 전부를 전체 생물군의 범위의 유전체들과 비교하는 경우, 상당히 복잡한 계산이 필요로 할 수 있다. 본 개시내용의 일 실시예에 따른 기법은 타겟 분석물과 관련된 제 1 서열 식별자들을 상대적으로 유전체의 개수가 적은 제 2 계층의 범위 내에서 비교함으로써 제 2 서열 식별자를 선정하고, 그리고 선정된 제 2 서열 식별자들을 기준으로 전체 생물군의 유전체들에 대한 비교를 수행하기 때문에, 컴퓨팅 리소스를 효율적으로 관리하면서 상대적으로 짧은 시간 기간 내에 타겟 분석물에 특이적인 서열 식별자(들)가 선정될 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는 제 1 서열 식별자들에 대한 1차 필터링을 통해 제 2 서열 식별자들을 선정하고 그리고 제 2 서열 식별자들에 대한 2차 필터링을 통해 타겟 분석물에 특이적인 적어도 하나의 제 3 서열 식별자를 선정할 수 있다.
본 개시내용의 추가적인 실시예에 따라, 인간의 몸 속에서 항상 포함되는 서열 식별자에 대해서는 추가 알고리즘이 적용될 수도 있다. 예를 들어, 인간의 몸 속에 상재해야 하는 박테리아 또는 바이러스 등과 같은 상재균(resident flora)에 포함되거나 또는 상재균에 특이적인 서열 식별자(이하 '사전 결정된 서열 식별자'라고 정의한다), 또는 세포 생존에 필수불가결한 유전자로 어떠한 상황에서도 발현되는 하우스키핑 유전자(housekeeping gene) 등에 대해서는 추가 알고리즘이 적용될 수도 있다. 구체적으로, 인간의 경우 유산균과 같은 유익균들은 항상 몸에 상재하는 상재균으로서, 유산균(또는 유산균에 포함된 서열 식별자)은 사전 결정된 서열 식별자가 될 수 있다. 만약, 인간을 대상으로 인간의 몸속으로부터 비브리오 콜레라 균을 타겟 분석물을 검출하려는 경우 유산균에 포함된 사전 결정된 서열 식별자는 비브리오 콜레라를 검출하기 위한 최종 후보 서열 식별자에서 제외될 수 있다. 일 실시예에서, 상재균은 피부, 위장, 구강 및 상기도, 치아, 호흡기계, 비뇨생식기 및 눈 각막과 외이도에 존재할 수 있으며, Staphylococci, Micrococci, Diphtheroids, Neisseria, Bordetella, Corynebacterium, Streptococcus spp, Helicobacter pylori, Candida, Escherichia coli, Haemophilus 및 Staphylococcus를 포함할 수 있으며 이에 한정되지 않는다.
또한, 인간을 대상으로 인간의 몸속으로부터 비브리오 콜레라 균을 타겟 분석물을 검출하려는 경우 하우스키핑 유전자에 포함된 사전 결정된 서열 식별자는 비브리오 콜레라를 검출하기 위한 최종 후보 서열 식별자에서 제외될 수 있다. 일 실시예에서, 하우스 키핑 유전자는 GAPDH, B-actin, α-tubuline을 포함할 수 있으며, 인체 하우스키핑 유전자는 NM_001101 호모 사피엔스 말라, 베타 (ACTB), mRNA6988, NM_000034 호모 사피엔스 돌라, 과당 - 비스 포스페이트 (ALDOA), mRNA3425, NM_002046 호모 사피엔스 글리 세르 알데히드 -3 - 인산 탈수소 효소 (GAPD), mRNA828을 포함할 수 있으며 이에 한정되지 않는다.
사전 결정된 서열 식별자는 유산균과 하우스키핑 유전자를 기초로 설명되었으나 이에 한정되는 것은 아니다.
이처럼 사전 결정된 서열 식별자들은 상기 1차 필터링 및/또는 2차 필터링 과정에서 출현빈도가 임계치를 만족하는 상황이라고 하더라도 서열 식별자들의 선정 과정에서 제외될 수 있다. 실시예에 따라 사전 결정된 서열 식별자는 제 1 서열 식별자를 획득하는 과정, 제 2 서열 식별자를 선정하는 과정 또는 제 3 서열 식별자를 선정하는 과정에서 출현빈도의 연산을 완료된 상태에서 제외될 수 있다. 또는, 사전 결정된 서열 식별자는 출현빈도의 연산을 수행하지 않고 제외될 수도 있다.
구현 방식에 따라, 사전 결정된 서열 식별자를 제외하는 단계는 제 1 서열 식별자를 선정하는 단계에서 수행될 수 있고, 또는 제 2 서열 식별자를 선정하는 단계에서 수행될 수 있고, 제 3 서열 식별자를 선정하는 단계에서 수행될 수 있다. 구현 방식에 따라, 사전 결정된 서열 식별자를 제외하는 단계는 상기 1차 필터링 및/또는 2차 필터링 과정의 전후로 수행되거나, 이와 함께 수행되거나, 또는 이와 무관하게 수행될 수 있다. 이처럼, 사전 결정된 서열 식별자를 제외하는 단계는 다양한 순서로 수행될 수 있다.
일 실시예에서, 선정된 제 2 서열 식별자는 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 제 1 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자 중 사전 결정된 서열 식별자를 포함하지 않을 수 있다. 선정된 제 2 서열 식별자는, 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 제 1 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자가 제거된 서열 식별자일 수 있다.
또한, 선정된 제 3 서열 식별자는 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도가 제 3 임계 값 이하이면서 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 4 임계 값 이상인 서열 식별자 중 사전 결정된 서열 식별자를 포함하지 않을 수 있다. 선정된 제 3 서열 식별자는, 제 2 서열 식별자들 각각에 대한 제 3 계층의 범위 내에서의 출현 빈도가 제 3 임계 값 이하이면서 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 4 임계 값 이상인 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자가 제거된 서열 식별자일 수 있다.
또한, 제 1 서열 식별자는 사전 결정된 서열 식별자를 포함하지 않을 수 있다.
본 개시내용의 다른 실시예에 따라, 컴퓨팅 장치에 의해 계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득되고, 상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정되고, 상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 전체 유기체 데이터 베이스의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 3 서열 식별자를 선정될 수도 있다.
이때, 제 2 계층의 범위는 제 1 계층을 제외한 범위일 수 있고, 제 3 계층의 범위는 제 1 계층(또는 제 1 계층 및 제 2 계층)을 제외한 범위일 수 있다.
도 8은 본 개시내용의 일 실시예에 따라 타겟 분석물에 특이적인 타겟 서열 식별자를 선정하기 위한 방법을 예시적으로 도시하는 순서도이다.
도 8에서 도시되는 방법은 컴퓨팅 장치에 의해 구현될 수 있다. 도 8에서 설명되는 내용들 중 도 7과 중복되는 부분들은 설명의 간략화를 위해 도 8에 관한 설명 과정에서 생략하기로 한다.
컴퓨팅 장치는 타겟 분석물에 대한 명칭을 수신할 수 있다(810). 전술한 명칭은 타겟 분석물을 식별하기 위한 정보로서, TAX ID, 유전자 ID, 서열 식별자 ID, 분석물의 종을 나타내는 명칭 및/또는 유전체 ID 등을 포함할 수 있다.
컴퓨팅 장치는 타겟 분석물에 대한 명칭에 대응하는 계층을 선정할 수 있다(820). 컴퓨팅 장치는 타겟 분석물이 속해 있는 생물의 분류 체계 상에서의 최소 범위의 계층을 제 1 계층으로 선정할 수 있다. 컴퓨팅 장치는 제 1 계층의 상위인 부모 계층을 제 2 계층으로 선정할 수 있다. 추가적으로, 컴퓨팅 장치는 타겟 분석물과 관련된 생물의 분류 체계 상에서의 최상위 계층을 제 3 계층으로 선정할 수 있다.
컴퓨팅 장치는 어노테이션 저장부를 조회하여, 타겟 분석물이 위치한 제 1 계층의 범위에 있는 유전체들 전체가 가지고 있는 제 1 서열 식별자들의 리스트를 획득할 수 있다.
컴퓨팅 장치는 타겟 분석물이 위치한 해당 계층(즉, 제 1 계층)에서의 제 1 서열 식별자들 각각의 출현 빈도를 결정할 수 있다(830A). 컴퓨팅 장치는 제 2 계층으로 선정된 상위 계층의 범위에서의 제 1 서열 식별자들 각각의 출현 빈도를 결정할 수 있다(830B). 타겟 분석물이 비브리오 콜레라인 예시에서, 제 1 계층은 비브리오 콜레라 종에 상응하는 계층이며, 제 1 계층의 범위에서의 제 1 서열 식별자들 각각의 출현 빈도는, 비브리오 콜레라 종에 속한 유전체들에 포함된 서열 식별자들 각각을 포함하고 있는 비브리오 콜레라 종에 속한 유전체들의 개수에 기초하여 결정될 수 있다. 또한, 제 2 계층은 비브리오 콜레라가 속한 계층에 인접한 상위 계층으로 비브리오 속에 해당하는 계층을 의미하며, 제 2 계층의 범위는 비브리오 속에서 비브리오 종에 속한 유전체들이 제외된 유전체들의 범위를 의미할 수 있다. 비브리오 속에서 비브리오 종에 속하는 유전체들이 제외된 유전체들 중 제 1 서열 식별자들 각각을 포함하고 있는 유전체들의 개수를 연산함에 따라 제 2 계층의 범위 내에서의 제 1 서열 식별자들 각각의 출현 빈도가 결정될 수 있다.
제 1 서열 식별자들 각각에 대해서, 제 1 계층의 범위에서의 출현 빈도 및 제 2 계층의 범위에서의 출현 빈도를 결정한 이후에, 컴퓨팅 장치는 제 1 서열 식별자들 중에 타겟 분석물에 대한 출현 빈도가 높고 다른 유기체에 대한 출현 빈도가 상대적으로 낮은 1차 후보 식별자를 선정할 수 있다(840). 예를 들어, 1차 후보 서열 식별자는 도 6에서의 제 2 서열 식별자와 대응될 수 있다. 1차 후보 서열 식별자들(도 6의 제2 서열 식별자)을 선정할 때, 적어도 2개의 임계 값들이 활용될 수 있다. 제 1 임계 값은 제 1 계층의 범위 내에서의 제 1 서열 식별자들 각각의 출현 빈도에 대한 기준치를 결정하기 위한 임계 값이며, 제 2 임계 값은 제 2 계층의 범위 내에서의 제 1 서열 식별자들 각각의 출현 빈도에 대한 기준치를 결정하기 위한 임계 값이다. 이러한 임계 값들을 출현 빈도들에 적용시킴으로써, 특정 출현 빈도를 초과하거나 혹은 특정 출현 빈도 미만에 해당하는 서열 식별자들이 필터링될 수 있다.
제 1 서열 식별자들 중에서 선정된 1차 후보 식별자들의 개수는 제 1 임계 값 및 제 2 임계 값에 따라 가변적일 수 있다. 제 1 임계 값 및 제 2 임계 값들은 1차 후보 식별자들의 목표 개수, 2차 후보 식별자들의 목표 개수, 컴퓨팅 리소스의 상태 및/또는 타겟 분석물이 속하는 생물의 분류 체계 상에 포함된 전체 유전체들의 개수에 적어도 부분적으로 기초하여 조정될 수 있다. 이처럼 적어도 2개의 임계값들이 제 1 계층의 범위 내에서의 제 1 서열 식별자들의 출현 빈도 및 제 2 계층의 범위 내에서의 제 1 서열 식별자들의 출현 빈도에 적용됨에 따라, 제 1 계층의 범위 내에서는 최대한 많이 포함되어 있으면서 제 2 계층의 범위 내에서는 최소한으로 적게 포함되어 있는 서열 식별자들이 제 1 계층 및 제 2 계층의 범위 내에서 1차적으로 선정될 수 있다.
이처럼, 제 1 서열 식별자들 중에서 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 따라 1차 후보 식별자(예컨대, 제 2 서열 식별자)를 추려내는 경우, 최상위 계층의 범위에서의 출현 빈도를 결정하는데 있어서 계산의 복잡성이 줄어들게 되며 이에 따라 컴퓨팅 리소스의 관리가 효율적으로 이루어질 수 있다.
컴퓨팅 장치는 해당 계층(즉, 제 1 계층)의 범위에서 1차 후보 서열 식별자를 포함하고 있는 유전체들의 개수를 1차 후보 서열 식별자들 각각에 대해서 결정할 수 있다. 컴퓨팅 장치는 제 1 계층의 범위에서의 1차 후보 서열 식별자들 각각에 대한 출현 빈도를 결정할 수 있다(850A). 또한, 컴퓨팅 장치는 최상의 계층(즉, 제 3 계층)의 범위에서 1차 후보 서열 식별자를 포함하고 있는 유전체들의 개수를 1차 후보 서열 식별자들 각각에 대해서 결정할 수 있다. 컴퓨팅 장치는 최상위 계층의 범위에서의 1차 후보 서열 식별자들 각각에 대한 출현 빈도를 결정할 수 있다(850B).
타겟 분석물이 비브리오 콜레라인 예시에서, 제 3 계층은 비브리오 콜레라 종의 최상위 계층(세균 역) 또는 차상위 계층(진정세균 계) 상응하는 계층이며, 제 3 계층의 범위 내에서의 출현 빈도는 최상위 계층 혹은 차상위 계층에서 제 1 계층 또는 제 2 계층의 유전체들이 제외된 유전체들의 범위에서, 1차 후보 서열 식별자들 각각이 속해 있는 유전체들의 개수를 결정하는 것에 기초하여 연산될 수 있다. 즉, 제 3 계층의 범위 내에서의 1차 후보 서열 식별자들 각각의 출현 빈도는 세균 역에 포함된 유전체들 중에서 비브리오 속에 포함된 유전체들이 제외된 나머지 유전체들 중 1차 후보 서열 식별자를 포함하는 유전체들의 개수에 따라 결정될 수 있다.
컴퓨팅 장치는 1차 후보 서열 식별자들 각각에 대해서, 제 1 계층의 범위에서의 출현 빈도를 획득하고 그리고 최상위 계층(즉, 제 3 계층)의 범위에서의 출현 빈도를 연산하는 것에 기초하여, 1차 후보 서열 식별자들 중에서 적어도 하나의 2차 후보 서열 식별자를 선정할 수 있다(860). 본 개시내용의 일 실시예에서 2차 후보 서열 식별자는 타겟 분석물과 특이적일 가능성이 높은 서열 식별자를 의미할 수 있다. 예를 들어, 2차 후보 서열 식별자는 도 7에서의 제 3 서열 식별자와 대응될 수 있다.
적어도 하나의 2차 후보 서열 식별자(도 7의 제3 서열 식별자)를 선정할 때, 적어도 2개의 임계 값들이 활용될 수 있다. 제 3 임계 값은 제 3 계층의 범위 내에서 1차 후보 서열 식별자들에 대한 출현 빈도에 대한 기준치를 결정하기 위한 임계 값이며, 제 4 임계 값은 제 1 계층의 범위 내에서 1차 후보 서열 식별자들에 대한 출현 빈도에 대한 기준치를 결정하기 위한 임계 값이다. 이러한 임계 값들을 출현 빈도들에 적용시킴으로써, 특정 출현 빈도를 초과하거나 혹은 특정 출현 빈도 미만에 해당하는 서열 식별자들이 필터링 과정에서 제거될 수 있다. 1차 후보 서열 식별자들 중에서 선정된 2차 후보 식별자들의 개수는 제 3 임계 값 및 제 4 임계 값에 따라 가변적일 수 있다. 제 3 임계 값 및 제 4 임계 값들은 2차 후보 식별자들의 목표 개수, 컴퓨팅 리소스의 상태 및/또는 타겟 분석물이 속하는 생물의 분류 체계 상에 포함된 전체 유전체들의 개수에 적어도 부분적으로 기초하여 조정될 수 있다.
본 개시내용의 일 실시예에 따른 서열 식별자 선정 방법은, 1차 필터링 연산과 2차 필터링 연산이 직렬적으로 연계되어 있기 때문에, 특정 타겟 분석물에 특이적인 서열 식별자들을 선정하는데 소요되는 컴퓨팅 리소스를 효율적으로 사용할 수 있기 때문에, 일정 수준 이상의 민감도 및 특이도를 가진 여러 개의 타겟 서열 패턴들(예컨대, 복수개의 타겟 분석물들에 대응하는 서열 식별자들)을 동시에 확인할 수 있다는 장점 또한 존재할 수 있다.
본 개시내용의 일 실시예에서, 컴퓨팅 장치는 선정된 2차 후보 서열 식별자를 정렬할 수 있다(870). 컴퓨팅 장치는 임의의 형태의 서열 식별자들에 대한 정렬 방식에 기초하여 2차 후보 서열 식별자들을 정렬시킬 수 있다. 일례로, 컴퓨팅 장치는 2차 후보 서열 식별자들(예컨대, 제 3 서열 식별자들)을 스코어가 높은 순서대로 정렬할 수 있다. 다른 예시로, 컴퓨팅 장치는 2차 후보 서열 식별자들을 오름차순 또는 내림차순으로 정렬할 수 있다. 또 다른 예시에서, 컴퓨팅 장치는 선정된 2차 후보 서열 식별자들에 대한 염기 서열들을 각각 비교하는 방식으로 정렬할 수 있다. 다른 예시로, 컴퓨팅 장치는 2차 후보 서열 식별자들에 대한 염기 서열 중 적어도 일부를 삽입(insertion), 삭제(deletion), 변경(change)하는 방식으로 2차 후보 서열 식별자들에 대한 정렬을 수행할 수도 있다. 또 다른 예시로, 컴퓨팅 장치는 2차 후보 서열 식별자들에 대한 염기 서열 중 적어도 일부에 대한 전도(reversal), 전치(transposition), 전위(translocation) 등의 연산을 적용함으로써 2차 후보 서열 식별자들의 적어도 일부분을 재배열할 수도 있다.
본 개시내용의 일 실시예에서, 컴퓨팅 장치는 타겟 분석물에 특이적인 타겟 유전자를 선정할 수 있다(880). 예를 들어, 컴퓨팅 장치는 2차 후보 서열 식별자들 중 하나 이상의 서열 식별자들을 타겟 분석물에 특이적인 타겟 유전자로 선정할 수 있다. 다른 예시로, 컴퓨팅 장치는 2차 후보 서열 식별자들에 대한 정렬 프로세스를 진행한 이후에, 정렬된 2차 후보 서열 식별자들 중 하나 이상의 서열 식별자들을 타겟 분석물에 특이적인 타겟 유전자로 선정할 수 있다. 일 실시예에서, 타겟 유전자는 타겟 분석물에 특이적이고 타겟 분석물 이외의 다른 유기체에 대해서는 존재할 가능성이 매우 낮은 서열 식별자일 수 있다.
도 9는 본 개시내용의 일 실시예에 따라 타겟 분석물에 특이적인 후보 서열 식별자를 선정하기 위한 예시적인 순서도를 도시한다.
도 9에서 표현되는 부분들 중 도 4, 도 5, 도 6 도 7 및 도 8과 중복되는 부분들에 대해서는 도 4, 도 5, 도 6 도 7 및 도 8에서 기재된 설명을 참고하고, 도 9에서는 설명의 편의를 위해 중복되는 기재에 대한 설명은 생략하기로 한다.
컴퓨팅 장치는 비브리오 콜레라 종에 대한 입력을 수신할 수 있다(910). 도 9에서는 타겟 분석물에 대한 예시로 비브리오 콜레라가 사용될 것이다. 예를 들어, 컴퓨팅 장치는 비브리오 콜레라를 나타내는 TAX ID를 수신할 수 있다.
컴퓨팅 장치는 비브리오 콜레라 종이 속에 속하는 생물군에 대한 제 1 유전체 리스트를 획득할 수 있다(920).
도 4에서 설명된 바와 같이, 컴퓨팅 장치는 비브리오 콜레라 종에 속하는 유전체들의 전체 리스트를 제 1 유전체 리스트로서 획득할 수 있다. 제 1 유전체 리스트는 비브리오 콜레라 종이 가지고 있는 전체 유전체들에 대한 정보를 의미할 수 있다. 예를 들어, 컴퓨팅 장치는 비브리오 콜레라 종에 속하는 생물군의 유전체들 및 서열 식별자들에 대한 리스트를 어노테이션 정보가 포함된 유전체 저장소에 조회할 수 있다. 제 1 유전체 리스트는 예를 들어, 도 5에서 도시된 테이블(510) 및/또는 테이블(530)을 포함할 수 있다.
컴퓨팅 장치는 비브리오 콜레라 종의 부모 계층인 비브리오 속에 속하는 생물군 중, 비브리오 콜레라 종이 아닌 나머지 범위에서의 제 2 유전체 리스트를 획득할 수 있다(930).
컴퓨팅 장치는 비브리오 콜레라 종의 상위 계층인 비브리오 속에 속하는 유전체들의 전체 리스트를 제 2 유전체 리스트로서 획득할 수 있다. 비브리오 속은 복수의 비브리오 종들을 포함할 수 있다. 복수의 비브리오 종들 중 하나의 비브리오 종이 비브리오 콜레라에 해당한다.
제 2 유전체 리스트는 비브리오 속의 범위에 포함된 유전체들 중 비브리오 콜레라 종의 범위에 포함된 유전체들이 제외된 나머지 유전체들을 포함할 수 있다. 제 2 유전체 리스트는 비브리오 콜레라 속이 가지고 있는 전체 유전체들 중 비브리오 콜레라 종이 아닌 나머지 종들이 가지고 있는 유전체들에 대한 정보를 의미할 수 있다. 예를 들어, 컴퓨팅 장치는 비브리오 속에 속하는 생물군의 유전체들에서 비브리오 콜레라 종에 속하는 생물군의 유전체들을 차감한 나머지 유전체들 및 이들의 서열 식별자들에 대한 리스트를 어노테이션 정보가 포함된 유전체 저장소에 조회할 수 있다. 컴퓨팅 장치는 어노테이션 정보가 포함된 유전체 저장부에 해당 TAX ID의 바로 상위에 있는 부모 TAX ID를 조회함으로써 제 2 유전체 리스트를 획득할 수 있다. 제 2 유전체 리스트는 예를 들어, 도 5에서 도시된 테이블(520) 및/또는 테이블(540)을 포함할 수 있다.
본 개시내용의 일 실시예에 따라서, 컴퓨팅 장치는 획득된 제 2 유전체 리스트에 포함된 유전체들의 개수와 사전결정된 기준치를 비교할 수 있다(940). 컴퓨팅 장치는 제 2 유전체 리스트에 포함된 유전체들의 개수가 사전결정된 기준치를 초과하는지 여부를 결정할 수 있다. 사전결정된 기준치는 유의미한 결과값을 도출하기 위한 제 2 계층의 범위에 포함된 유전체들의 최소 개수를 의미할 수 있다. 예를 들어, 제 2 계층의 범위에 포함된 유전체들이 상대적으로 적은 개수를 가지는 경우, 제 1 계층의 범위에서의 출현 빈도 및 제 2 계층의 범위에서의 출현 빈도를 연산하는 1차 필터링 단계의 필터링 결과가 유의미하지 않을 수 있다. 제 2 계층의 범위 내에 포함된 유전체들의 개수가 적으면 제 1 유전체 리스트에 대응하는 제 1 서열 식별자들의 개수가 제 2 계층의 범위와의 비교를 통해 줄어들지 않거나 매우 적은 수의 서열 식별자들만이 제외될 것이다. 이러한 경우, 제 3 계층의 범위에서의 유전체들과 비교될 서열 식별자들의 개수가 상대적으로 많아 지기 때문에, 제 3 계층의 범위에서의 2차 필터링 단계에서의 계산의 복잡성이 증가될 수 밖에 없다. 따라서, 제 2 유전체 리스트 내에 포함된 유전체들의 개수가 사전결정된 기준치보다 많지 않다면, 컴퓨팅 장치는 제 2 계층을 제 1 계층에 인접한 상위 계층이 아닌 제 1 계층으로부터 2단계 높은 상위 계층으로 선정할 수 있다. 이에 따라, 제 3 계층의 범위에서의 연산 단계 이전에, 제 3 계층의 범위에서의 연산에 사용되는 서열 식별자들의 개수를 줄임으로써, 제 3 계층의 범위에서의 연산의 효율성이 달성될 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는 제 2 유전체 리스트에 포함된 유전체들의 개수가 사전결정된 기준치를 초과하지 않는다고 결정하는 경우, 비브리오 속의 상위 계층인 비브리오 과에 속하는 생물군에서, 비브리오 콜레라 종이 아닌 나머지 범위에서의 제 2 유전체 리스트를 획득할 수 있다(950). 컴퓨팅 장치는 제 2 계층으로 선정될 생물의 분류 체계 상에서의 계층 범위를 넓힘으로써 충분한 개수의 유전체들을 포함하는 제 2 유전체 리스트를 획득할 수 있다. 컴퓨팅 장치는, 비브리오 과에 속하는 생물군의 범위로 제 2 계층의 범위가 확장된 이후에, 확장된 제 2 계층의 범위내에 속하는 유전체들의 개수와 상기 사전결정된 기준치를 다시 한번 비교할 수 있다. 비교 결과 유전체들의 개수가 사전결정된 기준치보다 많지 않다고 결정되는 경우, 컴퓨팅 장치는 비브리오 과에서 비브리오 목으로 한 단계 높은 계층을 제 2 계층으로 선정할 수 있다.
본 개시내용의 추가적인 실시예에서, 단계 940과 단계 950에 대한 반복은 사전설정된 반복 횟수 또는 반복 기준에 따라 이루어질 수 있다. 예를 들어, 단계 940 및 단계 950에 대한 반복은 생물의 분류 체계에서의 문(Phylum)에 해당하는 수준까지만 반복되는 것으로 사전 설정될 수도 있다.
컴퓨팅 장치는 획득된 제 2 유전체 리스트 내에서의 유전체들의 개수가 사전결정된 기준치를 초과한다고 결정된 경우, 제 1 유전체 리스트 및 제 2 유전체 리스트에 속해 있는 유전체들 각각으로부터 유전체에 포함된 서열 식별자를 획득할 수 있다(960).
도 5에서 앞서 예시된 바와 같이, 제 1 유전체 리스트에 대응되는 서열 식별자 및 제 2 유전체 리스트에 대응되는 서열 식별자가 획득될 수 있다. 제 1 유전체 리스트에 포함된 유전체들 각각에 대해서 하나 이상의 서열 ID(예컨대, 서열 식별자)들이 맵핑된 형태로 저장될 수 있다. 컴퓨팅 장치는 유전체들과 서열 식별자들 간의 맵핑 관계로부터 제 1 유전체 리스트에 포함된 유전체들 각각에 대응하는 서열 식별자들을 획득할 수 있다. 앞서 설명된 바와 같이, 유전체 리스트로부터 이에 대응하는 서열 식별자를 획득하는 다양한 방법들이 존재할 수 있으며, 본 개시내용의 실시예들에 따른 컴퓨팅 장치는, 유전체 리스트와 서열 식별자 간의 연결 관계를 나타낼 수 있는 데이터 구조로부터 서열 식별자를 획득하는 방법들을 수행할 수 있다.
컴퓨팅 장치는 제 1 유전체 리스트의 유전체들에 포함된 서열 식별자들 각각에 대해, 제 1 유전체 리스트 내의 유전체들 중 해당 서열 식별자를 포함하는 유전체의 비율이 제 1 임계 값 이상이면서, 제 2 유전체 리스트 내의 유전체들 중 해당 서열 식별자를 포함하는 유전체의 비율이 제 2 임계 값 이하인, 선별된 서열 식별자의 개수를 산정할 수 있다(970). 단계 970은 서열 식별자(예컨대, 제 1 서열 식별자)들에 대한 1차 필터링 연산을 포함할 수 있다.
여기서 제 1 임계 값은 비브리오 콜레라 종이 속하는 생물군 내에서 제 1 유전체 리스트에 대응되는 서열 식별자들의 출현 빈도에 대한 최소 기준 값이며, 그리고 제 2 임계 값은 비브리오 속(혹은 그보다 상위 계층)이 속하는 생물군 내에서 제 1 유전체 리스트에 대응되는 서열 식별자들의 출현 빈도에 대한 최대 기준 값을 의미할 수 있다. 다른 예시로, 제 1 임계 값 및 제 2 임계 값은 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 1차 필터링 연산에 대한 필터링 강도를 나타내는 지표로서 표현될 수도 있다.
예를 들어, 초기에 설정되는 제 1 임계 값은 0.95일 수 있으며, 제 2 임계 값은 0.05일 수 있다. 이와 같이 제 1 임계 값의 크기는 제 2 임계 값에 크기보다 크다. 제 1 임계 값이 크다는 것은, 서열 식별자를 포함하는, 제 1 유전체 리스트에 포함된 유전체들의 개수가 많아야 한다는 것을 나타낸다. 제 2 임계 값이 작다는 것은, 서열 식별자를 포함하는, 제 2 유전체 리스트에 포함된 유전체들의 개수가 적어야 한다는 것을 나타낸다.
단계 970을 통해서, 컴퓨팅 장치는 제 1 유전체 리스트에 대응되는 서열 식별자들 각각을 포함하는 제 1 유전체 리스트의 제 1 유전체들의 개수를 연산하고, 그리고 제 1 유전체 리스트에 대응되는 서열 식별자들 각각을 포함하는 제 2 유전체 리스트의 제 2 유전체들의 개수를 연산할 수 있다.
컴퓨팅 장치는, 특정 서열 식별자 단위로, 제 1 유전체들 중 특정 서열 식별자를 포함하는 유전체들의 개수를 계산하여, 제 1 유전체들의 개수에 대한 특정 서열 식별자를 포함하는 유전체들의 개수의 비율을 연산할 수 있다. 여기서 특정 서열 식별자의 범위는 제 1 유전체들에 포함된 서열 식별자들의 범위이다. 컴퓨팅 장치는 연산된 비율과 제 1 임계 값을 비교함으로써, 제 1 임계 값 미만에 해당하는 특정 서열 식별자를 제외시키는 방식에 기초하여, 선별된 서열 식별자들을 결정할 수 있다.
또한, 컴퓨팅 장치는 특정 서열 식별자 단위로, 제 2 유전체들 중 특정 서열 식별자를 포함하는 유전체들의 개수를 계산하여, 제 2 유전체들의 개수에 대한 특정 서열 식별자를 포함하는 유전체들의 개수의 비율을 연산할 수 있다. 여기서 특정 서열 식별자의 범위는 제 1 유전체들에 포함된 서열 식별자들의 범위이다. 컴퓨팅 장치는 연산된 비율과 제 2 임계 값을 비교함으로써, 제 2 임계 값을 초과하는 특정 서열 식별자를 제외시키는 방식에 기초하여, 선별된 서열 식별자들을 결정할 수 있다.
컴퓨팅 장치는 선별된 서열 식별자의 개수와 최소 임계 개수를 비교할 수 있다(980). 컴퓨팅 장치는 선별된 서열 식별자의 개수와 최대 임계 개수를 비교할 수 있다(990). 선별된 서열 식별자의 개수가 최소 임계 개수보다 작으면, 컴퓨팅 장치는 단계 970에서 사용된 제 1 임계 값을 조정함으로써, 선별된 서열 식별자의 개수를 늘릴 수 있다. 만약 과도하게 적은 개수의 선별된 서열 식별자들이 존재하는 경우에는 후속되는 2차 필터링 단계(즉, 단계 995)에서의 계산의 복잡성은 줄어들 수 있지 않지만, 비브리오 콜레라 종에 특이적인 후보 서열 식별자가 선별되기 어려울 수 있다. 또한, 만약 과도하게 많은 개수의 선별된 서열 식별자들이 존재하는 경우에는 후속되는 2차 필터링 단계(즉, 단계 995)에서의 계산의 복잡성을 유발시킬 수 있다. 따라서, 최소 임계 개수와 최대 임계 개수를 설정함으로써, 계산의 복잡성을 줄이면서 선별된 후보 서열 식별자의 정확성을 담보할 필요성이 존재한다.
본 개시내용의 일 실시예에 따라서, 예를 들어, 컴퓨팅 장치는 선별된 서열 식별자의 개수가 최소 임계 개수 보다 적으면, 제 1 임계 값을 하향 조정하고 그리고/또는 제 2 임계 값을 상향 조정함으로써, 선별되는 서열 식별자들의 개수를 증가시킬 수 있다. 다른 예시로, 컴퓨팅 장치는 선별된 서열 식별자의 개수가 최대 임계 개수보다 크면, 제 1 임계 값을 상향 조정하고 그리고/또는 제 2 임계 값을 하향 조정함으로써, 선별된 서열 식별자의 개수를 감소시킬 수 있다. 여기서 최소 임계 개수는 선별된 서열 식별자의 개수에 대한 최소한의 기준값을 의미할 수 있으며, 최대 임계 개수는 선별된 서열 식별자의 개수에 대한 최대한의 기준값을 의미할 수 있다. 이처럼 컴퓨팅 장치는, 최소 임계 개수 및 최대 임계 개수를 통해서 단계 970에서의 필터링 연산의 필터링 강도를 조정함으로써(즉, 제 1 임계 값 및/또는 제 2 임계 값의 크기를 상향 및/또는 하향 조정함으로써), 후속되는 단계 995에서 계산의 복잡성이 줄어들고 그리고 후보 서열 식별자의 선정 정확성이 담보될 수 있는 결과가 달성될 수 있다.
일례로, 조정되는 임계 값들(제 1 임계 값 및 제 2 임계 값)의 폭으로서 0.01 내지 0.05의 값이 사용될 수 있다. 예를 들어, 선별된 서열 식별자의 개수가 최소 임계 개수 보다 적은 경우, 0.01 내지 0.05의 폭으로 제 1 임계 값 및/또는 제 2 임계 값에 대한 조정이 이루어질 수 있다. 다른 예시로, 조정되는 임계 값들의 폭으로서 0.001 내지 0.01의 값이 사용될 수 있다. 예를 들어, 선별된 서열 식별자 의 개수가 최대 임계 개수 보다 많은 경우, 0.001 내지 0.01의 폭으로 제 1 임계 값 및/또는 제 2 임계 값에 대한 조정이 이루어질 수 있다.
컴퓨팅 장치는 선별된 서열 식별자 각각에 대해서 제 1 유전체 리스트 내의 유전체들 중 해당 서열 식별자를 포함하는 유전체의 비율이 제 4 임계 값 이상이면서 전체 생물군 범위에서의 유전체들 중 해당 서열 식별자를 포함하는 유전체의 비율이 제 3 임계 값 이하인, 후보 서열 식별자를 선별할 수 있다(995). 선별된 서열 식별자의 개수가 최소 임계 개수를 초과하면서 선별된 서열 식별자의 개수가 최대 임계 개수 미만이라고 결정된 경우, 단계 995가 수행될 수 있다. 단계 995는 선별된 서열 식별자(예컨대, 제 2 서열 식별자)들에 대한 2차 필터링 연산을 포함할 수 있다.
후보 서열 식별자를 최종적으로 선별하기 위해서, 단계 995에서 컴퓨팅 장치는, 비브리오 콜레라 종에 속하는 생물군 내에서의 상기 선별된 서열 식별자들(예컨대, 제 2 서열 식별자들)의 출현 빈도에 대한 최소 기준 값인 제 4 임계 값 및 전체 생물군 범위에서의 상기 선별된 서열 식별자들(예컨대, 제 2 서열 식별자들)의 출현 빈도에 대한 최대 기준 값인 제 3 임계 값을 활용할 수 있다. 제 3 임계 값 및 제 4 임계 값은 단계 995에 해당하는 2차 필터링 연산의 필터링 강도를 나타내는 지표로서 표현될 수 있다.
본 개시내용의 추가적인 실시예에서, 단계 995에서 최종적으로 선별된 후보 서열 식별자들의 개수에 대한 추가 필터링이 적용될 수도 있다. 이러한 경우, 최종적으로 선별된 후보 서열 식별자들의 개수와 하나 이상의 임계 값들이 비교될 수 있다. 비교의 결과가 사전결정된 기준을 만족한다고 결정되는 경우, 선별된 후보 서열 식별자가 출력될 수 있으며, 비교의 결과가 사전결정된 기준을 만족하지 않는다고 결정되는 경우, 제 3 임계 값 및/또는 제 4 임계 값에 대한 조정을 통해서 최종적으로 선별되는 후보 서열 식별자들의 개수가 변경될 수 있다.
도 9에서 상술된 프로세스들은 일반적인 개인용 컴퓨터의 성능으로 수행가능한 수준의 계산량으로 구현이 가능하다. 따라서, 본 개시내용의 일 실시예에 따른 서열 식별자의 선정 방법은, 상위 분류군 내에서의 특이도를 1차적으로 계산하여 전체 탐색을 수행할 서열 식별자들의 개수를 줄이고, 그리고나서 개수가 줄어든 서열 식별자들에 대해서만 전체 생물군 범위에서의 탐색과정을 수행함으로써, 전체 알고리즘의 처리시간을 10분 내외로 줄이면서 전체 생물군에 대한 특이도를 정확하게 측정할 수 있다는 장점을 가질 수 있다. 나아가, 도 9에서 상술된 프로세스들은 후술될 도 10 내지 도 13에서 예시되는 인덱스 데이터 구조를 활용함에 따라 전체 알고리즘의 처리시간을 더욱 줄일 수 있다는 추가적인 장점을 가질 수 있다.
본 개시내용의 일 실시예에 따른 방법은, 탐색 과정에서 전체 텍스트 인덱싱(Full text-indexing) 기반의 데이터베이스를 활용함으로써 각각의 탐색들에 소요되는 시간을 단축시켜서 최종적으로 전체 범위내에서의 서열 유사도 탐색과 같은 대규모의 계산 과정 없이 빠르게 민감도 및 특이도 계산을 할 수 있다.
도 10은 본 개시내용의 일 실시예에 따라 서열 식별자를 탐색하기 위한 인덱스 데이터 구조를 생성하는 방법을 예시적으로 도시하는 순서도이다. 제 1 서열 식별자, 제 2 서열 식별자, 제 1 계층, 제 2 계층 및/또는 출현 빈도 등과 같이 앞서 정의되고 예시된 표현들에 대한 구체적인 설명은 생략하기로 한다.
인덱스는 데이터를 저장하고 있는 테이블에 대한 동작의 속도를 상승시키는 자료 구조이다. 이러한 인덱스는 하나 이상의 컬럼들을 사용하여 생성될 수 있다. 예를 들어, 인덱스는 문서 또는 문장에서 키워드를 빠르게 검색하기 위해 정렬 또는 나열된 목록일 수 있다.
본 개시내용의 일 실시예에서, 인덱스 구조는 트리 구조로 이루어질 수 있다. 트리 구조는 그래프의 일종으로 노드(node)와 노드를 가리키는 포인터로 구성되어 있다. 여러 노드가 한 노드를 가리킬 수 없지만 한 노드가 여러 노드를 가리킬 수는 있다. 방대한 양의 저장된 자료를 검색해야 하는 경우 자료를 하나씩 비교하는 방식은 비효율적이다. 트리 구조를 이용하여 인덱싱을 하여 자료를 정렬된 상태로 보관하면 효율적으로 자료를 검색할 수 있다. 트래버스(traverse)는 인덱스를 탐색하는 일련의 과정을 의미한다. 트래버스는 루트 노드에서 시작하여 탐색 대상의 값과 구분 값을 비교하여 다음 포인터를 찾아가는 과정으로 진행된다. 트래버스를 통해 탐색 대상의 값에 해당하는 인덱스를 발견하면 트래버스는 종료된다.
본 개시내용의 일 실시예에 따른 인덱스는 B+트리(Balanced Tree) 인덱스 및 비트맵(bitmap) 인덱스를 포함할 수 있다. B+트리 인덱스는 루트(root) 블록, 브랜치(branch) 블록 및 리프(leaf) 블록으로의 계층형태의 인덱스 기법을 의미할 수 있다. B+트리 인덱스에서, 리프 블록이 데이터 블록의 해당 로우에 접근할 수 있는 ROWID를 가지고 있으며 그리고 브랜치 블록 및 루트 블록은 각 하위 단계에 접근할 수 있는 키값(예컨대, 블록의 주소값)을 가지고 있다. 비트맵 인덱스는 컴퓨터에서 사용하는 최소 단위인 비트를 이용하여 컬럼값을 저장하고 이를 이용하여 ROWID를 자동으로 생성하는 인덱스 기법을 의미할 수 있다. 본 개시내용의 일 실시예에서, 인덱스 구조는 트리 구조와 같은 연결 리스트로 구현될 수 있으며, 테이블과 같은 배열 구조로 구현될 수도 있다. 일례로, 인덱스 구조는 B 트리, B* 트리 또는 해시(hash) 테이블과 같은 데이터 구조로 이루어질 수도 있지만, 인덱스 구조의 구현 형태는 이에 한정되지 않는다.
본 개시내용의 일 실시예에 따른 인덱스는 역 인덱스(inverted index)를 포함할 수 있다. 역 인덱스는 낱말, 숫자 또는 단어와 같은 내용물로부터의 맵핑 정보를 데이터베이스 파일의 특정 지점 또는 특정 문서에 저장하는 인덱스 데이터 구조이다. 전체 텍스트 검색 등과 같은 텍스트 검색을 효율적으로 수행하기 위해서 이러한 역 인덱스 구조가 사용될 수 있다. 예를 들어, 역 인덱스를 생성하는 과정에서 색인어에 해당하는 각각의 서열 식별자에 대응하는 벡터가 생성될 수 있으며, 각각의 서열 식별자에 하나 이상의 유전체 ID들이 맵핑될 수 있다. 본 개시내용에서의 역 인덱스 또는 역 인덱싱은 전체 텍스트 인덱스(full text index) 또는 전체 텍스트 인덱싱과 상호 교환 가능하게 사용될 수 있다.
도 10에서는 어노테이션 저장부에 TAX ID, 유전체 및/또는 서열 식별자를 조회하는 탐색 과정을 효율적으로 수행하기 위한 신규한 데이터 구조 생성 방식이 예시적으로 설명된다.
본 개시내용의 일 실시예에 따라, 인덱스 데이터 구조는 도 1의 컴퓨팅 장치(100)의 프로세서(110)에 의해 생성되어 메모리(130)에 저장될 수 있다. 다른 예시로, 인덱스 데이터 구조는 컴퓨팅 장치(100) 외부의 다른 장치에 의해 생성되어 컴퓨팅 장치(100)의 네트워크부(150)에 의해 수신되고 그리고 메모리(130)에 저장될 수 있다.
본 개시내용의 일 실시예에 따라, 인덱스 데이터 구조는 도 2의 서버(220)에 의해 생성될 수 있으며, 서버(220)에 저장될 수 있다. 인덱스 데이터 구조는 도 3에서의 저장부(340)에 저장되어 관리될 수 있다.
컴퓨팅 장치는 유전체 및 유전체에 포함되는 복수의 서열 식별자들을 획득할 수 있다(1010). 유전체 및 유전체에 포함되는 복수의 서열 식별자들은 인덱스 대상 데이터로부터 획득될 수 있다. 인덱스 대상 데이터는 인덱스 구조에 포함될 데이터를 의미하며, 유전체의 유전체 ID와 상기 유전체에 포함된 하나 이상의 서열 식별자들은 서로 간의 맵핑 관계를 가질 수 있다. 도 5 및 도 6에서 언급된 바와 같이, 유전체에 대한 정보를 포함하는 컬럼과 유전체에 대응되는 하나 이상의 서열 식별자들을 포함하는 컬럼 구조의 테이블 구조(도 5의 510, 520 또는 도 6의 620)가 상기 맵핑 관계에 대한 일 예시이다. 일례로, 유전체 ID는 외부 데이터베이스로부터 획득한 전장 유전체의 식별자일 수 있으며, 복수의 서열 식별자들은 유전체들에 포함된 염기 서열, 유전체들에 포함된 염기 서열 패턴에 대한 염기 서열, 유전체들에 포함된 염기 서열 패턴에 어노테이션된 서열 식별자, ID에 대한 데이터 및 서열 식별자들에 대한 데이터를 포함할 수 있다.
컴퓨팅 장치는 수신된 복수의 서열 식별자들을 토큰화함으로써 복수의 토큰들을 생성할 수 있다(1020).
컴퓨팅 장치는 인덱스 대상 데이터에 포함된 복수의 서열 식별자들을 복수의 토큰들로 토큰화(tokenizing)할 수 있다. 토큰화를 통해서 복수의 토큰들을 포함하는 인덱스 데이터 구조가 생성될 수 있다. 여기서 하나의 서열 식별자는 하나의 토큰과 대응될 수 있다. 일 실시예에서, 토큰화는 상기 복수의 서열 식별자들 사이에 존재하는 스페이스(space) 또는 콤마(comma)를 구분자(stopword)로 사용하는 방식에 기초하여 수행될 수 있다. 즉, 복수의 서열 식별자들을 포함하는 컬럼 내에서 복수의 서열 식별자들 각각은 스페이스 또는 콤마를 통해 구분되어 있다. 따라서, 복수의 서열 식별자들 각각을 하나의 토큰으로 토큰화하기 위한 구분자로 스페이스 및/또는 콤마가 사용될 수 있다.
도 5 및 도 6에서 도시되는 바와 같이, 인덱스 대상 데이터는 유전체를 나타내는 제 1 컬럼 및 유전체에 대응되는 복수의 서열 식별자들을 나타내는 제 2 컬럼을 포함할 수 있다. 제 2 컬럼은 복수의 서열 식별자들을 포함하고 있다. 즉, 특정한 유전체에는 일반적으로 복수의 서열 식별자들(예컨대, 복수의 유전자들)이 존재할 수 있기 때문에, 제 2 컬럼은 일반적으로 하나의 데이터만을 포함하는 것이 아니라 복수의 데이터를 포함할 수 있다.
즉, 모든 전장 유전체는 같은 계층(같은 종)에 포함된 개체라고 하더라도 유전자 다형성 또는 유전자 변이에 의해 각각 상이한 유전자(또는 서열 식별자)를 포함할 수 있다. 이 경우, 인덱스 대상 데이터는 서로 상이한 서열 식별자를 포함하는 복수 개의 유전체가 저장된 정보일 수 있다.본 개시내용의 일 실시예에 따른 서열 식별자들을 탐색 및 선정하기 위한 방법은 기존에 상용화되어 있는 데이터 구조에 신규한 인덱싱 기법을 적용함으로써, 컴퓨팅 리소스를 효율적으로 사용하면서 유전체 ID와 서열 식별자들에 대한 탐색을 제공할 수 있다. 즉, 기존에 상용화되어 있는 유전체 및 유전자 저장부의 데이터 구조는, 유전체를 나타내는 제 1 컬럼 및 유전체에 대응되는 복수의 서열 식별자들을 나타내는 제 2 컬럼으로 이루어져 있다. 이러한 경우, 제 2 컬럼에 다수 존재하는 복수의 서열 식별자들 각각에 대한 유전체들의 포함관계를 연산하기 위해서는 데이터 구조에 기인한 복잡한 연산이 필수적으로 요구된다. 본 개시내용의 일 실시예에 따른 인덱싱 기법을 통해서 신규한 서열 식별자 선정 방식에 대한 리소스 효율성이 추가적으로 달성될 수 있다.
본 개시내용의 일 실시예에 따른 서열 식별자 선정 방법은, 전체 검색의 대상이 되는 서열 식별자들의 범위를 줄임으로써 전체 검색에 사용되는 계산량을 감소시키고, 그리고 검색 과정에서 전체 텍스트 인덱스 데이터 구조를 활용함에 따라 데이터베이스 I/O의 횟수를 줄임으로써 컴퓨팅 리소스의 사용량이 감소될 수 있다.
컴퓨팅 장치는 생성된 복수의 토큰들에 대한 인덱스 데이터 구조를 생성할 수 있다(1030).
본 개시내용의 일 실시예에서, 인덱스 데이터 구조는 복수의 제 1 서열 식별자들이 제 1 계층의 범위 내의 유전체 중 어떤 소스 유전체(source genome)에 속하는지 나타내는 제 1 데이터 구조 및 복수의 제 1 서열 식별자들이 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 포함할 수 있다. 여기서, 소스 유전체는 소정의 계층의 범위 내의 유전체 중 소정의 서열 식별자가 출현하는 유전체를 지칭한다. 이러한 소스 유전체는 타겟으로 하는 계층과 서열 식별자의 종류에 따라 상이한 유전체들을 지칭할 수 있다. 예컨대, 제 1 데이터 구조에는, 제 1 계층의 범위 내의 유전체들 중 복수의 제 1 서열 식별자가 속하는 유전체인 소스 유전체가 표시될 수 있다. 또한, 제 2 데이터 구조에는, 제 2 계층의 범위 내의 유전체 중 복수의 제 1 서열 식별자가 속하는 유전체인 소스 유전체가 표시될 수 있다. 예를 들어, 제 1 데이터 구조는 도 5의 컬럼(531)에 포함된 데이터 및 컬럼(532)에 포함된 데이터를 포함할 수 있다. 예를 들어, 제 2 데이터 구조는 도 6의 컬럼(641) 및 컬럼(642)에 포함된 데이터를 포함할 수 있다. 다른 예시로, 제 2 데이터 구조는 도 5의 컬럼(531)에 포함된 데이터 및 컬럼(532)에 포함된 데이터를 포함할 수도 있다.
본 개시의 일 실시예에서, 인덱스 데이터 구조는 키(key) 및 값(value)을 포함할 수 있다. 예를 들어, 제 1 데이터 구조에서 복수의 제 1 서열 식별자들의 적어도 일부가 키에 해당하고 그리고 제 1 계층의 범위 내에서 상기 키에 해당하는 서열 식별자들이 속하는 유전체가 값에 해당할 수 있다. 예를 들어, 제 2 데이터 구조에서 복수의 제 1 서열 식별자들의 적어도 일부가 키에 해당하고 그리고 제 2 계층의 범위 내에서 상기 키에 해당하는 서열 식별자들이 속하는 유전체가 값에 해당할 수 있다.
본 개시내용의 일 실시예에서, 인덱스 데이터 구조는 유전체 및 상기 유전체에 대응되는 유전체에 포함되는 복수의 서열 식별자들을 포함하는 인덱스 대상 데이터가 인덱싱된 데이터 구조일 수 있다. 예를 들어, 인덱스 데이터 구조는 토큰화된 서열 식별자를 나타내는 제 1 컬럼 및 상기 토큰화된 서열 식별자가 속해 있는 하나 이상의 유전체들을 나타내는 제 2 컬럼을 포함할 수 있다. 다른 예시로, 인덱스 데이터 구조는 토큰화된 단일의 서열 식별자에 하나 이상의 유전체들이 맵핑되어 있는 데이터 구조를 가질 수 있다. 또 다른 예시로, 인덱스 데이터 구조는 토큰화된 서열 식별자가 하나 이상의 유전체를 가리키는 데이터 구조일 수 있다. 또 다른 예시로, 인덱스 데이터 구조는 키(key)와 값(value)을 사용하여 데이터를 저장하는 데이터 구조일 수도 있으며, 키와 값을 사용하여 데이터(즉, 컬럼의 값)과 데이터의 위치가 저장될 수 있다.
본 개시내용의 일 실시예에 따라, 인덱스 데이터 구조는 역-인덱싱(inverted-indexing)이 적용된 데이터 구조를 의미할 수 있다. 컴퓨팅 장치는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱 을 적용함으로써 인덱스 데이터 구조를 생성할 수 있다. 예를 들어, 역-인덱싱이 적용된 데이터 구조는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조가 복수의 서열 식별자들 각각에 복수의 유전체들이 맵핑된 데이터 구조로 반전된 것을 의미할 수 있다.
본 개시내용의 일 실시예에서, 제 1 데이터 구조는 제 1 계층의 범위 내의 각 유전체에 속한 것으로 나열된 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성될 수 있다. 여기서 하나의 서열 식별자는 하나의 토큰과 대응될 수 있다. 제 2 데이터 구조는 제 2 계층의 범위 내의 각 유전체에 속한 것으로 나열된 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성되며, 여기서 하나의 서열 식별자는 하나의 토큰과 대응될 수 있다. 상기 토큰들은 복수의 제 1 서열 식별자들 사이에 존재하는 스페이스 또는 콤마를 구분자로 사용하는 방식에 기초하여 토큰화될 수 있다.
본 개시내용의 일 실시예에서, 제 2 데이터 구조는 제 2 계층에 대한 제 1 계층의 차집합의 범위 내의 데이터를 포함할 수 있다.
본 개시내용의 추가적인 실시예에서, 컴퓨팅 장치는, 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물 위치한 제 1 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱이 적용된 제 1 데이터 구조를 생성하고, 그리고 상기 타겟 분석물이 위치한 제 1 계층보다 상위인 제 2 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱이 적용된 제 2 데이터 구조를 생성할 수 있다. 이렇게 생성된 제 1 데이터 구조 및 제 2 데이터 구조를 활용함으로써, 컴퓨팅 장치는 제 1 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 2 서열 식별자들을 선정할 수 있다. 예를 들어, 컴퓨팅 장치는 제 1 서열 식별자들에 대하여, 상기 제 1 데이터 구조로부터 획득한 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 데이터 구조로부터 획득한 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 상기 타겟 분석물과 관련되는 제 2 서열 식별자들을 선정할 수 있다.
본 개시내용의 일 실시예에 따라, 컴퓨팅 장치는 인덱스 데이터 구조를 활용하여, 도 1 내지 도 9에서 상술된 타겟 분석물에 특이적인 서열 식별자를 선정하기 위한 방법을 수행할 수 있다. 본 개시내용의 일 실시예에 따른 인덱스 데이터 구조가 활용되는 경우, 서열 식별자를 포함하는 유전체들의 개수를 연산하는 프로세스가 효율적으로 수행될 수 있으며, 이에 따라 컴퓨팅 리소스의 효율적인 활용이 가능해진다. 본 개시내용의 일 실시예에 따른 인덱스 데이터 구조는 전술한 복수개의 출현 빈도들을 연산하는 프로세스의 연산 속도를 향상시키고 그리고 연산 과정의 복잡성을 줄일 수 있다.
도 11은 본 개시내용의 일 실시예에 따라 인덱스 데이터 구조를 이용하여 서열 식별자들을 필터링하는 방법을 예시적으로 도시하는 순서도이다.
도 11에서의 서열 식별자들을 필터링하는 방법 중 도 7 내지 도 9에서 설명되었던 중복되는 부분들에 대한 설명은 도 7 내지 도 9를 참조하고, 도 11에서는 그 설명이 생략될 것이다.
컴퓨팅 장치는 계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득할 수 있다(1110).
일례로, 컴퓨팅 장치는 타겟 분석물에 대응되는 Tax ID를 저장소에 질의함으로써, 타겟 분석물과 관련된 복수의 제 1 서열 식별자들을 획득할 수 있다.
일 실시예에서, 컴퓨팅 장치는 복수의 제 1 서열 식별자들이 제 1 계층의 범위 내의 유전체 중 어떤 유천체에 속하는지 나타내는 제 1 데이터 구조를 이용해서, 제 1 서열 식별자들에 대한 제 1 계층의 범위 내에서의 출현 빈도를 획득할 수 있다(1120).
제 1 계층의 범위 내에서의 출현 빈도를 획득하는데 있어서 하나의 유전체 ID에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱이 적용된 인덱스 데이터 구조가 이용될 수 있다. 컴퓨팅 장치는 인덱스 데이터 구조를 이용하여, 제 1 서열 식별자들 각각에 대한 전체 텍스트 검색을 수행할 수 있다. 예를 들어, 컴퓨팅 장치는 역-인덱싱이 적용된 제 1 데이터 구조를 활용하여 제 1 서열 식별자들에 대한 제 1 계층의 범위 내에서의 출현 빈도를 획득할 수 있다. 제 1 데이터 구조는 복수의 제 1 서열 식별자들이 제 1 계층의 범위 내의 유전체 중 어떤 소스 유전체에 속하는지 나타내는 인덱스 데이터 구조이다. 제 1 데이터 구조는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱이 적용된 데이터 구조이다. 예를 들어, 제 1 데이터 구조는 도 5의 컬럼(531)에 포함된 데이터 및 컬럼(532)에 포함된 데이터를 포함할 수 있다.
본 개시내용의 일 실시예에서, 제 1 서열 식별자들 중 적어도 하나는, 유전자 영역(genic region)의 적어도 일부 영역, 유전자-사이 영역(intergenic region)의 적어도 일부 영역 또는 연속적인 복수개의 유전자 영역들 각각의 적어도 일부분을 포함하는 영역 중 적어도 하나의 영역을 가질 수 있다.
유전체 데이터는 생물군에 대한 분류 ID 정보와 연결되어, 유전체에 대한 정보를 저장하는 저장부에 고유한 유전체 ID와 분류 ID 정보가 수록될 수 있다. 각각의 유전체에 대해서 그리고 유전체 내에 포함된 염기 서열들 각각에 대해서, 고유한 ID를 부여하는 어노테이션 과정이 수행되며, 어노테이션 과정의 수행 결과 유전체 ID 및 서열 식별자 ID가 저장부에 저장될 수 있다. 본 개시내용의 일 실시예에 따라. 유전체 단위에서 서열 식별자들의 고유 ID의 목록 형태로 수록된 자료 구조에 대한 전체 텍스트 인덱싱(full text indexing)이 이루어진다. 이처럼, 본 개시내용의 일 실시예에 따른 방법은, 저장부에 저장된 정보에 대한 재가공을 수행함으로써 후보 유전자를 탐색하는 프로세스에 대한 효율성을 극대화시킬 수 있다.
컴퓨팅 장치는 제 1 서열 식별자들 각각에 대해서 제 1 서열 식별자들 각각을 포함하고 있는 유전체들의 개수를 연산하기 위하여 인덱스 데이터 구조를 이용할 수 있다. 기존의 유전체 염기서열 및 유전자 데이터에 대한 저장 구조를 사용하는 경우, 수십만 내지 수백만 건의 유전체 데이터에 포함된 수십억 건의 유전자 데이터에 대해 생물군에 따라 후보 유전자를 탐색하기가 불가능에 가까웠다. 본 개시내용의 일 실시예에 따라, 각각의 서열 식별자 ID를 개별적인 토큰으로 인식하는 방식의 인덱스 데이터 구조가 활용되는 경우, 원하는 생물군에 속하는 모든 유전자 ID(예컨대, 서열 식별자 ID)에 대한 전체 검색이 빠른 속도로 진행될 수 있다. 따라서, 본 개시내용의 일 실시예에 따른 방법은 유전체 및 유전자 데이터를 전체 텍스트 인덱스 기반의 데이터 구조로 저장함으로써, 진단 마커로 활용될 수 있는 유전자를 빠른 속도로 탐색할 수 있다.
컴퓨팅 장치는 복수의 제 1 서열 식별자들이 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 이용해서, 제 1 서열 식별자들에 대한 제 2 계층의 범위 내에서의 출현 빈도를 획득할 수 있다(1130).
제 2 데이터 구조는 복수의 제 1 서열 식별자들이 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체 중 어떤 소스 유전체에 속하는지 나타내는 인덱스 데이터 구조이다. 제 2 데이터 구조는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱이 적용된 데이터 구조이다. 예를 들어, 제 2 데이터 구조는 도 6의 컬럼(641) 및 컬럼(642)에 포함된 데이터를 포함할 수 있다. 다른 예시로, 제 2 데이터 구조는 도 5의 컬럼(531)에 포함된 데이터 및 컬럼(532)에 포함된 데이터를 포함할 수도 있다.
제 2 계층의 범위 내에서의 출현 빈도를 획득하는데 있어서 하나의 유전체 ID에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역-인덱싱이 적용된 인덱스 데이터 구조가 이용될 수 있다. 컴퓨팅 장치는 인덱스 데이터 구조를 이용하여, 제 1 서열 식별자들 각각에 대한 전체 텍스트 검색을 수행할 수 있다. 예를 들어, 컴퓨팅 장치는 역-인덱싱이 적용된 제 1 데이터 구조를 활용하여 제 1 서열 식별자들에 대한 제 2 계층의 범위 내에서의 출현 빈도를 획득할 수 있다.
본 개시내용의 추가적인 실시예에서, 컴퓨팅 장치는 제 2 서열 식별자들을 선정하는데 있어서, 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자들을 상기 제 2 서열 식별자들로 선정할 수 있다. 여기서의 제 1 임계 값은 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이며, 그리고 제 2 임계 값은 제 1 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값을 의미할 수 있다.
전술한 바와 같이, 인덱스 데이터 구조뿐만 아니라 제 1 임계 값 및/또는 제 2 임계 값을 이용함으로써, 타겟 분석물과 관련된 서열 식별자가 효율적으로 선정될 수 있다. 여기서, 선정되는 제 2 서열 식별자(들)는 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자가 제거된 서열 식별자(들)를 의미할 수 있다. 일례로, 사전결정된 특정 생물의 서열 식별자는 상재균에 포함된 서열 식별자를 포함할 수 있다. 전술한 바와 같이, 본 개시내용의 일 실시예에 따른 기법은, 상재균에 포함된 서열 식별자가 제거됨에 따라 보다 효율적인 방식으로 서열 식별자를 선정할 수 있다.
본 개시내용의 추가적인 실시예에 따른 기법은, 제 1 임계 값 및/또는 제 2 임계 값을 적응적으로 변경할 수 있어서, 사용자 니즈에 적합한 개수의 서열 식별자들이 선정될 수 있다. 예를 들어, 컴퓨팅 장치는 제 2 서열 식별자들을 선정하는데 있어서, 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 제 1 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 제 1 서열 식별자들의 개수가 사전설정된 개수 미만인 경우, 또는 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 제 1 서열 식별자들의 개수가 사전설정된 개수를 초과하는 경우, 제 1 임계 값 또는 제 2 임계 값 중 적어도 하나를 변경할 수 있다.
본 개시내용의 일 실시예에서 상기 출현 빈도를 획득할 때, 전체 텍스트 검색이 사용될 수 있다. 전체 텍스트 검색은 자연어 검색 중 하나로서 쿼리에 포함되는 텍스트와 일치하는 문서 또는 데이터를 반환하기 위한 검색으로서, 예를 들어, 특정한 서열 식별자 ID를 포함하는 쿼리에 응답하여 전체 텍스트 검색이 수행되는 경우, 특정한 서열 식별자가 특정 범위의 유전체들의 리스트에서 몇 회 출현되었는지에 대한 결과가 반환될 수 있다.
컴퓨팅 장치는 제 1 서열 식별자들에 대하여, 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 제 1 서열 식별자 중에서 타겟 분석물과 관련되는 제 2 서열 식별자들을 선정할 수 있다(1140). 역-인덱싱 기법이 적용된 인덱스 데이터 구조(예컨대 제 1 데이터 구조 및/또는 제 2 데이터 구조)를 활용하여 상기 출현 빈도들을 빠른 속도로 연산할 수 있기 때문에, 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 프로세스의 속도 또한 향상될 것이다.
도 11에서는 설명의 편의를 위해 제 1 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도 및 제 1 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도에 기초하여 제 2 서열 식별자들을 선정하는 과정에 대한 예시들이 설명되었다. 제 2 서열 식별자들 각각에 대한 제 3 계층의 범위 내에서의 출현 빈도, 제 2 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도 및/또는 제 2 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도를 연산하는 과정에서 전술한 인덱스 데이터 구조가 활용됨에 따라 제 2 서열 식별자들 중에서 적어도 하나의 제 3 서열 식별자를 선정하는 프로세스의 속도 또한 향상될 수 있다.
도 12는 본 개시내용의 일 실시예에 따른 예시적인 인덱스 데이터 구조를 도시한다.
본 개시내용의 일 실시예에 따른 인덱스 대상 테이블은 유전체 ID들을 나타내는 제 1 컬럼(1210) 및 유전체 ID들 각각에 맵핑되는 서열 식별자들을 나타내는 제 2 컬럼(1220)을 포함할 수 있다. 제 1 컬럼(1210) 및 제 2 컬럼(1220)에 포함된 데이터들에 기초하여 인덱스 데이터 구조가 생성될 수 있다.
본 개시내용의 일 실시예에 따라, 인덱스 대상 테이블에 대한 역-인덱싱이 수행될 수 있다. 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조가 복수의 서열 식별자들 각각에 복수의 유전체들이 맵핑된 데이터 구조로 반전되는 방식으로 역-인덱싱이 이루어질 수 있다. 역-인덱싱 과정에서 제 2 컬럼(1220)에 포함된 데이터에 대한 토큰화 프로세스 및 인덱싱 프로세스가 수행될 수 있다. 토큰화 프로세스는 텍스트 데이터에 대한 분할 프로세스를 포함할 수 있다. 토큰화 프로세스 과정에서 텍스트 데이터들이 특정한 기준에 따라 복수의 토큰들로 분할될 수 있다. 인덱싱 프로세스는 토큰화 프로세스를 통해 분할된 복수의 토큰들 각각에 대한 위치 정보, 맵핑 정보 및/또는 연결 정보를 포함하는 인덱스 데이터 구조를 생성하는 것을 포함할 수 있다. 인덱싱 프로세스를 통해, 참조번호 1230 및 1240을 포함하는 별도의 인덱스 객체(index object)가 생성될 수 있으며, 인덱스 객체가 생성된 이후에는 서열 식별자에 대한 탐색 과정에서 상기 생성된 인덱스 객체가 활용됨에 따라 탐색 속도가 빨라질 수 있다.
예를 들어, 유전체 1에 대응하는 서열 식별자들은 A, B, C, D, E이다. 서열 식별자들은 스페이스 또는 콤마와 같은 구분자를 기준으로 복수의 토큰들로 분할 될 수 있다. 유전체 1에 대응하는 서열 식별자들 각각이 하나의 토큰에 대응될 수 있다. 서열 식별자들 각각을 스페이스 또는 콤마를 기준으로 토큰화한 이후에, 토큰들 각각을 기준으로 참조번호 1230으로 표현되는 컬럼(1230)을 생성할 수 있다. 컴퓨팅 장치는, 생성된 컬럼(1230)에 포함된 토큰을 포함하고 있는 유전체들에 대한 정보(예컨대, 유전체 ID, 유전체 주소 등)을 참조번호 1240으로 표현되는 컬럼(1240)에 삽입함으로써 컬럼(1230) 및 컬럼(1240)을 포함하는 인덱스 데이터 구조를 생성할 수 있다. 이러한 예시에서 컬럼(1230)의 데이터는 인덱스 데이터 구조에서의 키에 해당하고 그리고 컬럼(1240)의 데이터는 인덱스 데이터 구조에서의 값에 해당할 수 있다.
예를 들어, 이러한 인덱스 데이터 구조는 제 1 데이터 구조 및 제 2 데이터를 포함할 수 있다. 제 1 데이터 구조는 제 1 서열 식별자들이 제 1 계층의 범위 내의 유전체 중 어떤 유전체에 속하는지 나타낼 수 있으며, 그리고 제 2 데이터 구조는 제 1 서열 식별자들이 제 2 계층의 범위 내의 유전체 중 어떤 유전체에 속하는지 나타낼 수 있다.
일 실시예에서, 제 1 데이터 구조 및 제 2 데이터 구조는 도 12에서 예시되는 형태의 데이터 구조를 일례로 가질 수 있으며, 계층의 범위의 차이로 인해 저장되는 데이터의 값이 서로 상이할 수 있다. 예를 들어, 제 1 데이터 구조는 도 5에서의 컬럼(531)에 포함된 데이터를 키로 사용하고 그리고 컬럼(532)에 포함된 데이터를 값으로 사용하는 인덱스 데이터 구조이다. 예를 들어, 제 2 데이터 구조는 도 6에서의 컬럼(641)에 포함된 데이터를 키로 사용하고 그리고 컬럼(642)에 포함된 데이터를 값으로 사용하는 인덱스 데이터 구조이다. 이처럼 제 1 데이터 구조를 이용하여 제 1 서열 식별자들에 대한 제 1 계층의 범위 내에서의 출현 빈도(예컨대, 도 5에서의 컬럼(533)에 포함된 값 등)가 효율적으로 획득될 수 있다. 또한 제 2 데이터 구조를 이용하여 제 1 서열 식별자들에 대한 제 2 계층의 범위 내에서의 출현 빈도(예컨대, 도 6에서의 컬럼(643)에 포함된 값 등)가 효율적으로 획득될 수 있다. 제 1 서열 식별자들에 대한 제 1 계층의 범위 및 제 1 서열 식별자들에 대한 제 2 계층의 범위에 대한 인덱스 데이터 구조에 대해서 설명되었지만, 역-인덱싱이 적용된 각각의 인덱스 데이터 구조를 이용함으로써 앞서 설명한 복수의 출현 빈도들이 계산될 수 있다는 점 또한 당업자에게 명백할 것이다.
인덱스 데이터 구조가 생성되는 경우, 상술된 복수의 출현 빈도들을 연산하는 과정에서 특정한 서열 식별자에 대한 쿼리에 응답하여 특정한 서열 식별자를 포함하고 있는 유전체들의 정보 또는 개수가 획득될 수 있다. 이러한 인덱스 데이터 구조가 활용되는 경우, 전체 텍스트 검색 과정에서 불필요한 컴퓨팅 리소스가 사용되는 것이 방지될 수 있다. 본 개시내용의 일 실시예에 따른 인덱스 데이터 구조를 통해서, 전체 데이터베이스를 대상으로 유전자 ID를 검색하는 과정에서, 컴퓨팅 장치는 각각의 유전자에 대해 해당 유전자를 포함하는 유전체와 불포함하는 유전체를 수초 이내에 조회할 수 있다.
본 개시내용의 일 실시예에 따른 방법은 서열 식별자들 사이에 존재하는 스페이스 및/또는 콤마를 구분자(stopword)로 사용하는 역 인덱싱 기법을 예시로 들었으나, N의 길이의 토큰을 설정하는 N-그램(N-gram) 기법 또한 본 개시내용의 실시예에 따른 인덱싱 기법에 포함될 수 있다. 본 개시내용의 일 실시예에 따른 인덱스 데이터 구조는, 서열 식별자 ID에 대한 출현 빈도를 연산하기 위한 전체 텍스 검색을 활용할 수 있는 임의의 형태의 인덱스 구조를 포함할 수 있다.
도 13은 본 개시내용의 일 실시예에 따른 전체 텍스트 검색을 수행하는 개념도를 예시적으로 도시한다.
전체 텍스트 검색 인덱스(1310)는 전체 텍스트 검색을 위하여 역-인덱싱 기법이 적용된 인덱스 데이터 구조를 포함할 수 있다. 도 13에서 도시되는 바와 같이, 전체 텍스트 검색 인덱스(1310)는 서열 식별자들(1330, 1340, 1350 및 1360) 각각에 대해서 유전체들(1370, 1380, 1390 및 1396)이 포함된 객체(1320)를 포인팅하는 링크를 포함할 수 있다.
예를 들어, 서열 식별자 A(1330)는 제 1 유전체(1370), 제 2 유전체(1380) 및 제 3 유전체(1390)에 포함되어 있기 때문에, 전체 텍스트 검색 인덱스(1310)는 서열 식별자 A(1330)에 대해서 제 1 유전체(1370), 제 2 유전체(1380) 및 제 3 유전체(1390)를 포인팅하기 위한 링크 정보를 포함할 수 있다.
또한, 서열 식별자 B(1340)는 제 2 유전체(1380) 및 제 3 유전체(1390)에 포함되어 있는 서열 식별자이다. 전체 텍스트 검색 인덱스(1310)는 데이터베이스 내에서의 객체(1320) 중에서 제 2 유전체(1380) 및 제 3 유전체(1390)에 대한 객체들을 포인팅하는 링크 정보를 서열 식별자 B(1340)와 함께 저장할 수 있다.
도 13에서 도시되는 바와 같이, 컴퓨팅 장치는 하나의 서열 식별자를 포함하는 유전체들에 대한 정보를 인덱스 데이터 구조를 통해 보다 빠르게 파악할 수 있기 때문에, 서열 식별자를 선정하는 알고리즘에 대한 수행 속도가 빠르게 증가할 수 있다.
데이터베이스가 유전체 정보 및 유전자 정보와 같은 수많은 양의 데이터를 저장하고 있는 경우, 사용자가 관심있어 하는 데이터를 리트리브하기 위한 쿼리를 수행하는데 있어서 상대적으로 긴 시간이 소요될 수 있다. 데이터베이스가 쿼리에 응답하는데 시간이 많이 소요되는 경우에는 수많은 I/O들이 이루어짐에 따라 데이터베이스의 성능에 있어서 악영향을 미칠 수 있다.
본 개시내용의 일 실시예에 따른 방법은, 전체 텍스트 인덱싱 기법 또는 역 인덱싱 기법을 유전체 ID 및 서열 식별자 ID에 적용함으로써, 방대한 유전체 데이터들이 포함된 저장소에서 타겟 분석물에 특이적인 서열 식별자를 빠르게 탐색할 수 있다. 본 개시내용의 일 실시예에 따른 방법은, 쿼리에 응답하는데 처리되는 시간을 줄임으로써, 데이터베이스 관리 시스템의 성능을 향상시킬 수도 있다.
도 14는 본 개시내용의 일 실시예에 따른 역-인덱싱 기법을 예시적으로 도시한다.
도 14에서 도시되는 바와 같이, 본 개시내용의 일 실시예에 따라 유전자 어노테이션 DB는 유전자 명칭 자체를 이용하여 역-인덱싱 기법이 수행될 수 있다.
참조번호 1400은 어노테이션 DB에서 획득되는 데이터를 예시적으로 도시한다. 전술한 데이터는 도 14에서의 예시와 같이 테이블 형식으로 표현될 수 있으나, 테이블 이외의 임의의 형태의 객체로도 표현될 수 있다.
참조번호 1400에서 도시되는 데이터는, 어노테이션 DB에서 검출된 타겟 검출물의 명칭(tax_name)에 대응하는 유전자의 개수(n_gene)을 포함할 수 있다. 또한, 참조번호 1400에서 gene_abb으로 표현되는 컬럼에 포함되는 값들은 유전자 명칭(또는 유전자 ID)를 나타낼 수 있다. 예를 들어, 전술한 유전자 명칭은 NCBI에서 명명한 알려진 유전자 약어(Gene abbreviation)를 나타낼 수 있다. 다른 예시로, 유전자 명칭은 임의로 부여한 코드 형태의 유전자 ID를 나타낼 수도 있다.
또한, n_named_unique_gene은 명명된 고유의 유전자들의 개수를 나타낼 수 있다.
참조번호 1400에서 도시되는 예시에서는 각각의 타겟 검출물 또는 Tax ID에 포함되는 하나 이상의 유전자 ID들이 표시되어 있다. 본 개시내용의 일 실시예에 따라 상술된 역-인덱싱 기법이 적용되는 경우, 유전자 ID 각각을 기준으로 유전체의 정보, Tax ID의 정보 및/또는 유전체의 개수를 파악할 수 있는 형태로 인덱스 데이터 구조(예컨대, 전체 텍스트 검색 인덱스)가 생성될 수 있다. 이처럼, 전체 텍스트 인덱싱 기법 또는 역 인덱싱 기법을 유전자 ID 및/또는 서열 식별자 ID에 적용함으로써, 방대한 유전체 데이터들이 포함된 저장소에서 타겟 분석물에 특이적인 서열 식별자를 보다 빠르게 탐색할 수 있다는 기술적 효과가 도출될 수 있다.
도 15는 본 개시내용의 일 실시예에 따른 서열 식별자 선정 결과를 예시적으로 도시한다.
도 15에서의 참조번호 1500은 서열 식별자들의 선정 결과를 나타내는 구현예를 도시한다.
도 15에서의 In List Size는 제 1 계층의 범위 내에 포함되는 유전체들의 개수를 나타낼 수 있다. 도 15에서의 Target TaxonName은 임질균(Neisseria gonorrhoeae)을 나타낼 수 있다. 즉, 제 1 계층은 임질균이 속하는 임질균 종에 대응될 수 있으며, 그리고 Parent TaxoName으로 표시되는 나이세리아(Neisseria) 속(Genus)은 제 2 계층과 대응될 수 있다.
본 개시내용의 일 실시예에서, 최상위 계층에 해당하는 제 3 계층은 세균 역(Bacteria)에 대응될 수 있다.
다른 예시로, 구현의 양태에 따라서 제 2 계층 또는 제 3 계층은 나이세리아 과(Neisseriaceae), 나이세리아 목(Neisseriales), 베타프로테오박테리아 강(Betaproteobactria) 또는 프로테오박테리아 문(Proteobacteria) 중 적어도 하나에 대응할 수도 있다.
참조번호 1500에서의 Ex List Size는 제 3 계층(예컨대, 세균 역)의 범위 내에 포함되는 유전체들의 개수를 나타낼 수 있다.
참조번호 1510은 서열 식별자들의 리스트를 나타낸다. cas7c, cas8c 및 mobC 등과 같이 각각의 서열 식별자들에 대해서 제 1 계층의 범위에서의 출현 빈도(1520), 제 2 계층의 범위에서의 출현 빈도(1530), 제 3 계층의 범위에서의 출현 빈도(1540) 및 수학식 1에 따른 스코어(1550)가 연산될 수 있다.
참조번호 1520은 1510에 기재된 서열 식별자들 각각에 대한 제 1 계층의 범위 내에서의 출현 빈도를 나타낸다. 예를 들어, cas7c로 명명된 서열 식별자는 임질균 종에 대응하는 제 1 계층의 범위 내에 포함된 유전체들 총 782개 중 773개의 유전체들에 포함된 서열 식별자이다. 이처럼 cas7c에 대해 연산된 출현 빈도는 98.85% (또는 0.9885)로 예시될 수 있다.
참조번호 1530은 1510에 기재된 서열 식별자들 각각에 대한 제 2 계층의 범위 내에서의 출현 빈도를 나타낸다. 참조번호 1540은 1510에 기재된 서열 식별자들 각각에 대한 제 3 계층의 범위 내에서의 출현 빈도를 나타낸다. 도 15에는 cas7c 내지 nosZ 서열 식별자(1510)가 도시되었다. 이러한 서열 식별자(1510)는 Neisseria gonorrhoeae 타겟 분석물에 포함된 서열 식별자 중 일부에 해당된다. 구체적으로, 서열 식별자(1510)는 제 1 계층의 범위 내에서의 출현 빈도(1520)와 제 2 계층의 범위 내에서의 출현 빈도(1530)를 기초로 1차적으로 필터링된 제 2 서열 식별자(1510)일 수 있다. 즉, Neisseria gonorrhoeae에 포함된 모든 서열 식별자는 제 1 서열 식별자이고, 이 중에서 제 1 계층의 범위 내에서의 출현 빈도(1520)와 제 2 계층의 범위 내에서의 출현 빈도(1530)를 기초로 1차적으로 필터링하여 제 2 서열 식별자(1510)가 선정될 수 있다.
또한, 제 2 서열 식별자(1510)들 각각에 대한 제 3 계층 범위 내에서의 출현 빈도(1540)가 연산될 수 있다. 이처럼 연산된 제 1 계층의 범위 내에서의 출현 빈도(1520)와 제 2 계층의 범위 내에서의 출현 빈도(1530)와 제 3 계층 범위 내에서의 출현 빈도(1540)를 기초로 score(1550)가 연산될 수 있다.
구체적으로, cas7c의 경우 제 1 계층의 범위 내에서의 출현 빈도는 상대적으로 높은 값을 가질 수 있으나, 제 2 계층의 범위 내에서의 출현 빈도는 9.03%로 표현되고 제 3 계층의 범위 내에서의 출현 빈도는 2.99%로 표현되는 바와 같이 다른 서열 식별자들에 비해 상대적으로 높은 제 2 계층 또는 제 3 계층 관련 출현 빈도 값을 가질 수 있다. 이 경우, cas7c의 서열 식별자의 경우, 제 1 계층의 범위 내에서의 출현 빈도와 관련되는 제 1 임계값에 대해서는 통과될 수 있으나, 제 2 계층의 범위 내에서의 출현 빈도와 관련되는 제 2 임계값(또는 제 3 계층의 범위 내에서의 출현 빈도와 관련되는 제 3 임계값)에 대해서는 통과되지 않을 수 있어서, 최종적인 제 3 서열 식별자로 선정되지 않을 가능성이 높게 될 것이다.
전술한 바와 같이, 제 1 계층의 범위 내에서의 출현 빈도는 높으면서 제 2 계층의 범위 내에서의 출현 빈도와 제 3 계층의 범위 내에서의 출현 빈도가 낮은 서열 식별자가 타겟 검출물(예컨대, 임질균)에 특이적일 가능성이 높은 서열 식별자로 선정될 수 있다.
참조번호 1550은 1510에 포함된 서열 식별자들 각각에 전술한 수학식 1이 적용된 스코어 값을 도시한다. 도시된 바와 같이, 스코어 값이 상대적으로 높게 나온 서열 식별자인 fitB 및 fitA가 제 3 서열 식별자로 최종적으로 결정될 수 있다. 추가적인 실시예에서, 수학식 1 기반의 스코어링 방식 이외에도 1530 박스 및/또는 1540 박스에서 표시되는 값들에 적어도 부분적으로 기초하여, 제 3 서열 식별자를 선정하는 방식 또한 가능할 수 있다.
도 16은 본 개시내용의 일 실시예에 따른 컴퓨팅 환경의 개략도이다.
본 개시내용에서의 컴포넌트, 모듈 또는 부는 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로시져, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 당업자라면 본 개시내용에서 제시되는 방법들이 단일-프로세서 또는 멀티프로세서 컴퓨팅 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 충분히 인식할 것이다.
본 개시내용에서 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
컴퓨팅 장치는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다.
컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(2002)를 포함하는 본 발명의 여러가지 측면들을 구현하는 예시적인 환경(2000)이 나타내어져 있으며, 컴퓨터(2002)는 처리 장치(2004), 시스템 메모리(2006) 및 시스템 버스(2008)를 포함한다. 본 명세서에서의 컴퓨터(200)는 컴퓨팅 장치와 상호 교환가능하게 사용될 수 있다. 시스템 버스(2008)는 시스템 메모리(2006)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(2004)에 연결시킨다. 처리 장치(2004)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(2004)로서 이용될 수 있다.
시스템 버스(2008)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(2006)는 판독 전용 메모리(ROM)(2010) 및 랜덤 액세스 메모리(RAM)(2012)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(2010)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(2002) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(2012)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(2002)는 또한 내장형 하드 디스크 드라이브(HDD)(2014)(예를 들어, EIDE, SATA), 자기 플로피 디스크 드라이브(FDD)(2016)(예를 들어, 이동식 디스켓(2018)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), SSD 및 광 디스크 드라이브(2020)(예를 들어, CD-ROM 디스크(2022)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(2014), 자기 디스크 드라이브(2016) 및 광 디스크 드라이브(2020)는 각각 하드 디스크 드라이브 인터페이스(2024), 자기 디스크 드라이브 인터페이스(2026) 및 광 드라이브 인터페이스(2028)에 의해 시스템 버스(2008)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(2024)는 예를 들어, USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(2002)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 저장 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 저장 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 발명의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(2030), 하나 이상의 어플리케이션 프로그램(2032), 기타 프로그램 모듈(2034) 및 프로그램 데이터(2036)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(2012)에 저장될 수 있다. 운영 체제, 어플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(2012)에 캐싱될 수 있다. 본 발명이 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(2038) 및 마우스(2040) 등의 포인팅 장치를 통해 컴퓨터(2002)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(2008)에 연결되어 있는 입력 장치 인터페이스(2042)를 통해 처리 장치(2004)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(2044) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(2046) 등의 인터페이스를 통해 시스템 버스(2008)에 연결된다. 모니터(2044)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(2002)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(2048) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(2048)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(2002)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(2050)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(2052) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(2054)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(2002)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(2056)를 통해 로컬 네트워크(2052)에 연결된다. 어댑터(2056)는 LAN(2052)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(2052)은 또한 무선 어댑터(2056)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(2002)는 모뎀(2058)을 포함할 수 있거나, WAN(2054) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(2054)을 통해 통신을 정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(2058)은 직렬 포트 인터페이스(2042)를 통해 시스템 버스(2008)에 연결된다. 네트워크화된 환경에서, 컴퓨터(2002)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(2050)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(1602)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시내용의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 본 개시내용의 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
상기와 같이 발명의 실시를 위한 최선의 형태에서 관련 내용을 기술하였다.
분석물을 검출하기 위해 타겟 분석물에 특이적인 서열 식별자를 선정하는 장치, 시스템 등에서 사용될 수 있다.

Claims (42)

  1. 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 서열 식별자(sequence identifier)를 선정하는 방법으로서,
    계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계;
    상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하는 단계; 및
    상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는 단계;
    를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  2. 제 1 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 제 1 계층에 포함된 제 1 유전체들 중에서 상기 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및
    상기 제 2 계층에 포함된 제 2 유전체들 중에서 상기 제 1 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계를 포함하고,
    상기 제 3 서열 식별자들을 선정하는 단계는,
    상기 제 1 계층에 포함된 제 1 유전체들 중에서 상기 제 2 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 2 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및
    상기 제 3 계층에 포함된 제 3 유전체들 중에서 상기 제 2 서열 식별자들이 속한 유전체들의 개수를 이용하여 상기 제 2 서열 식별자들에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도를 획득하는 단계를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  3. 제 2 항에 있어서,
    상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계는,
    상기 제 2 계층에 포함된 제 2 유전체들 중에서 상기 제 1 유전체들이 제외된 범위 내에서, 상기 제 1 서열 식별자들에 대한 출현 빈도를 획득하는 단계를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  4. 제 3 항에 있어서,
    상기 제 2 서열 식별자들에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도를 획득하는 단계는,
    상기 제 3 계층에 포함된 제 3 유전체들 중에서 상기 제 1 유전체들이 제외된 범위 또는 상기 제 3 유전체들 중에서 상기 제 2 유전체들이 제외된 범위 내에서, 상기 제 2 서열 식별자들에 대한 출현 빈도를 획득하는 단계를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  5. 제 1 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 제 2 계층에 대한 상기 제 1 계층의 차집합(difference set)의 범위 내에서의 상기 제 1 서열 식별자들에 대한 출현 빈도를 연산하는 단계;
    를 포함하는,
    서열 식별자를 선정하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 제 3 서열 식별자를 선정하는 단계는,
    상기 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3 계층에 대한 상기 제 2 계층의 차집합의 범위 내에서의 상기 제 2 서열 식별자들에 대한 출현 빈도를 연산하는 단계;
    를 포함하는,
    서열 식별자를 선정하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자들을 상기 제 2 서열 식별자들로 선정하는 단계;
    를 포함하며,
    상기 제 1 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이며, 그리고 상기 제 2 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  8. 제 7 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 서열 식별자들의 개수가 사전설정된 개수 미만인 경우, 또는 사전설정된 개수를 초과하는 경우, 상기 제 1 임계 값 또는 상기 제 2 임계 값 중 적어도 하나를 변경하는 단계;
    를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  9. 제 1 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 선정된 제 2 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  10. 제 9 항에 있어서,
    상기 사전 결정된 서열 식별자는,
    상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  11. 제 1 항에 있어서,
    상기 제 3 서열 식별자를 선정하는 단계는,
    상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도가 제3 임계 값 이하이면서 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 4 임계 값 이상인 서열 식별자를 상기 제 3 서열 식별자로 선정하는 단계;
    를 포함하며, 그리고
    상기 제 3 임계 값은 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값이며, 그리고 상기 제 4 임계 값은 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  12. 제 1 항에 있어서,
    상기 제 3 서열 식별자를 선정하는 단계는,
    상기 선정된 제 3 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  13. 제 12 항에 있어서,
    상기 사전 결정된 서열 식별자는,
    상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  14. 제 1 항에 있어서,
    상기 제 3 서열 식별자를 선정하는 단계는,
    상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 추가적으로 고려하여 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 상기 제 3 서열 식별자를 선정하는 단계;
    를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  15. 제 14 항에 있어서,
    상기 제 3 서열 식별자를 선정하는 단계는,
    상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도, 상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 기초하여 상기 제 2 서열 식별자들 각각에 대한 스코어(score)를 산정함으로써, 상기 제 2 서열 식별자들 중 상기 제 3 서열 식별자를 선정하는 단계;
    를 포함하며, 그리고
    상기 제 2 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도의 크기가 클 수록 높은 스코어가 산정되고, 상기 제 2 서열 식별자들 각각에 대한 상기 제 3 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정되고, 그리고 상기 제 2 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도의 크기가 작을수록 높은 스코어가 산정되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  16. 제 15 항에 있어서,
    상기 스코어는,
    [수학식 1]
    Figure PCTKR2022016787-appb-img-000003
    에 의해 산정되며,
    여기서,
    Fin은 상기 제 2 서열 식별자들 중에서 상기 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 1 계층의 범위 내에서의 유전체의 개수이며,
    Gin은 상기 제 1 계층에 포함되는 유전체들의 개수이며,
    Gtotal은 상기 제 3 계층에 포함되는 유전체들의 개수이며,
    Fexp는 상기 제 2 서열 식별자들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 2 계층의 범위 내에서의 유전체의 개수이며,
    Fext는 상기 제 2 서열 식별자들 중에서 스코어 값의 연산 대상이 되는 서열 식별자에 대한 상기 제 3 계층의 범위 내에서의 개수이며,
    Gexp는 상기 제 2 계층에 대한 상기 제 1 계층의 차집합의 범위 내에 포함되는 유전체들의 개수이며, 그리고
    Gext는 상기 제 3 계층에 대한 상기 제 1 계층의 차집합의 범위 또는 상기 제 3계층에 대한 상기 제 2 계층의 차집합의 범위 내에 포함되는 유전체들의 개수인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  17. 제 1 항에 있어서,
    상기 계층 구조는 상위 계층이 하위 계층을 포괄하는 생물학적 계통 구조인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  18. 제 1 항에 있어서,
    상기 제 2 계층은,
    포함된 유전체들의 개수가 임계 개수를 초과하는 상기 제 1 계층의 immediately higher hierarchical position인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  19. 제 1 항에 있어서,
    상기 제 3 계층은, 상기 계층 구조 상에서의 최상위 계층인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  20. 제 1 항에 있어서,
    상기 제 3 서열 식별자는, 상기 타겟 분석물의 검출에 이용되는 특이적 서열 식별자로 고려될 후보(candidate) 서열 식별자인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  21. 제 1 항에 있어서,
    상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도는,
    상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 소스 유전체(source genome)에 속하는지 나타내는 제 1 데이터 구조로부터 획득되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  22. 제 21 항에 있어서,
    상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도는,
    상기 복수의 제 1 서열 식별자들이 상기 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조로부터 획득되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  23. 타겟 분석물을 검출하기 위한 서열 식별자를 선정하기 위한 컴퓨팅 장치로서,
    메모리; 및
    프로세서;
    를 포함하며, 그리고
    상기 프로세서는:
    계층 구조를 갖는 생물의 분류 체계 상에서 타겟 분석물이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하고;
    상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 1 계층 보다 상위 계층인 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 제 2 서열 식별자들을 선정하고; 그리고
    상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는,
    컴퓨팅 장치.
  24. 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 서열 식별자(sequence identifier)를 선정하는 방법으로서,
    계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하는 단계;
    상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 소스 유천체(source genome)에 속하는지 나타내는 제 1 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도를 획득하는 단계;
    상기 복수의 제 1 서열 식별자들이 상기 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도를 획득하는 단계; 및
    상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정하는 단계를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  25. 제 24 항에 있어서,
    상기 제 1 데이터 구조에서,
    상기 복수의 제 1 서열 식별자들이 키(key)에 해당되고,
    상기 제 1 계층의 범위 내에서 상기 키에 해당되는 서열 식별자들이 속하는 유전체가 값(value)에 해당되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  26. 제 24 항에 있어서,
    상기 제 2 데이터 구조에서,
    상기 복수의 제 1 서열 식별자들이 키(key)에 해당되고,
    상기 제 2 계층의 범위 내에서 상기 키에 해당되는 서열 식별자들이 속하는 유전체가 값(value)에 해당되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  27. 제 24 항에 있어서,
    상기 제 1 데이터 구조 및 상기 제 2 데이터 구조는,
    복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱(inverted-indexing)이 적용된 데이터 구조인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  28. 제 27 항에 있어서,
    상기 역 인덱싱은,
    복수의 서열 식별자들 각각에 복수의 유전체들이 맵핑된 데이터 구조를 생성하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  29. 제 24 항에 있어서,
    상기 제 1 데이터 구조는,
    상기 제 1 계층의 범위 내의 각 유전체에 속한 것으로 나열된 상기 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성되며, 여기서 하나의 서열 식별자는 하나의 토큰과 대응되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  30. 제 24 항에 있어서,
    상기 제 2 데이터 구조는,
    상기 제 2 계층의 범위 내의 각 유전체에 속한 것으로 나열된 상기 복수의 제 1 서열 식별자들에 대한 복수의 토큰들로부터 생성되며, 여기서 하나의 서열 식별자는 하나의 토큰과 대응되는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  31. 제 29 항 또는 제 30 항에 있어서,
    상기 토큰은,
    상기 나열된 상기 복수의 제 1 서열 식별자들 사이에 존재하는 스페이스(space) 또는 콤마(comma)를 구분자(stopword)로 사용하는 방식에 기초하여 토큰화된,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  32. 제 24 항에 있어서,
    상기 제 2 데이터 구조는,
    상기 제 2 계층에 대한 상기 제 1 계층의 차집합(difference set)의 범위 내의 데이터를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  33. 제 24 항에 있어서,
    상기 복수의 제1 서열 식별자들 중 적어도 하나는,
    유전자 영역(genic region)의 적어도 일부 영역, 및/또는 유전자-사이 영역(intergenic region)의 적어도 일부 영역인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  34. 제 24 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도가 제 1 임계 값 이상이면서 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도가 제 2 임계 값 이하인 서열 식별자들을 상기 제 2 서열 식별자들로 선정하는 단계;
    를 포함하며, 그리고
    상기 제 1 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 1 계층의 범위 내에서의 출현 빈도에 대한 최소 기준 값이며, 그리고 상기 제 2 임계 값은 상기 제 1 서열 식별자들 각각에 대한 상기 제 2 계층의 범위 내에서의 출현 빈도에 대한 최대 기준 값인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  35. 제 34 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 서열 식별자들의 개수가 사전설정된 개수 미만인 경우, 또는 사전설정된 개수를 초과하는 경우, 상기 제 1 임계 값 또는 상기 제 2 임계 값 중 적어도 하나를 변경하는 단계;
    를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  36. 제 24 항에 있어서,
    상기 제 2 서열 식별자들을 선정하는 단계는,
    상기 선정된 제 2 서열 식별자 중 exclusivity가 사전 결정된 특정 생물의 서열 식별자를 제거하는 단계를 더 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  37. 제 36 항에 있어서,
    상기 사전 결정된 특정 생물의 서열 식별자는,
    상재균 또는 하우스키핑 유전자에 포함된 서열 식별자를 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  38. 제 24 항에 있어서,
    상기 계층 구조는 상위 계층이 하위 계층을 포괄하는 생물학적 계통 구조인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  39. 제 38 항에 있어서,
    상기 제 2 계층은,
    상기 제 1 계층의 immediately higher hierarchical position이거나, 상기 계층 구조 상에서의 차상위 계층 또는 최상위 계층인,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  40. 제 24 항에 있어서,
    상기 제 2 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 계층 보다 상위 계층인 제 3 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 2 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 3 서열 식별자를 선정하는 단계를 더 포함하는,
    타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법.
  41. 컴퓨팅 장치에 의해 수행되는 타겟 분석물을 검출하기 위한 데이터 구조를 생성하는 방법으로서,
    계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자(sequence identifier)들이 맵핑된 데이터 구조에 역 인덱싱(inverted-indexing)이 적용된 제 1 데이터 구조를 생성하는 단계;
    상기 타겟 분석물이 위치한 제 1 계층보다 상위인 제 2 계층에 포함되는 복수의 유전체들 각각에 복수의 서열 식별자들이 맵핑된 데이터 구조에 역 인덱싱이 적용된 제 2 데이터 구조를 생성하는 단계; 및
    상기 제 1 서열 식별자들에 대하여, 상기 제 1 데이터 구조로부터 획득한 상기 제 1 계층의 범위 내에서의 출현 빈도 및 상기 제 2 데이터 구조로부터 획득한 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자들 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정하는 단계를 포함하는,
    타겟 분석물을 검출하기 데이터 구조를 생성하는 방법.
  42. 타겟 분석물을 검출하기 위한 서열 식별자를 선정하기 위한 컴퓨팅 장치로서,
    메모리; 및
    프로세서;
    를 포함하며, 그리고
    상기 프로세서는:
    계층 구조(hierarchical structure)를 갖는 생물의 분류 체계 상에서 타겟 분석물(target analyte)이 위치한 제 1 계층에 포함되는 복수의 제 1 서열 식별자들을 획득하고,
    상기 복수의 제 1 서열 식별자들이 상기 제 1 계층의 범위 내의 유전체들 중 어떤 소스 유천체(source genome)에 속하는지 나타내는 제 1 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 1 계층의 범위 내에서의 제 1 출현 빈도를 획득하고,
    상기 복수의 제 1 서열 식별자들이 상기 제 1 계층보다 상위인 제 2 계층의 범위 내의 유전체들 중 어떤 소스 유전체에 속하는지 나타내는 제 2 데이터 구조를 이용해서, 상기 제 1 서열 식별자들에 대한 상기 제 2 계층의 범위 내에서의 제 2 출현 빈도를 획득하고,
    상기 제 1 서열 식별자들에 대하여, 상기 제 1 계층의 범위 내에서의 출현 빈도 및 제 2 계층의 범위 내에서의 출현 빈도에 적어도 부분적으로 기초하여, 상기 제 1 서열 식별자 중에서 상기 타겟 분석물을 검출하기 위한 제 2 서열 식별자들을 선정하는,
    컴퓨팅 장치.
PCT/KR2022/016787 2021-11-08 2022-10-31 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법 WO2023080571A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0152018 2021-11-08
KR20210152018 2021-11-08
KR10-2021-0152019 2021-11-08
KR20210152019 2021-11-08

Publications (1)

Publication Number Publication Date
WO2023080571A1 true WO2023080571A1 (ko) 2023-05-11

Family

ID=86241437

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/016787 WO2023080571A1 (ko) 2021-11-08 2022-10-31 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법

Country Status (1)

Country Link
WO (1) WO2023080571A1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150086164A (ko) * 2014-01-16 2015-07-27 한국전자통신연구원 유전체 분석 장치의 유전체 분석 방법
KR20170000707A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 유전자 발현 데이터를 이용하여 표현형 특이적인 유전자 네트워크를 식별하는 방법 및 장치
KR20170046315A (ko) * 2015-10-21 2017-05-02 대한민국(농촌진흥청장) 차세대 시퀀싱을 이용한 분자마커 개발 방법
KR20190069929A (ko) * 2017-12-12 2019-06-20 순천향대학교 산학협력단 분석 서버에서 miRNA 데이터를 분석하는 방법
KR20210094783A (ko) * 2020-01-22 2021-07-30 가톨릭대학교 산학협력단 Ngs 분석에서의 질병 관련 유전자 선별 방법 및 장치
KR20210109207A (ko) * 2020-02-27 2021-09-06 경희대학교 산학협력단 유전자 선별 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150086164A (ko) * 2014-01-16 2015-07-27 한국전자통신연구원 유전체 분석 장치의 유전체 분석 방법
KR20170000707A (ko) * 2015-06-24 2017-01-03 삼성전자주식회사 유전자 발현 데이터를 이용하여 표현형 특이적인 유전자 네트워크를 식별하는 방법 및 장치
KR20170046315A (ko) * 2015-10-21 2017-05-02 대한민국(농촌진흥청장) 차세대 시퀀싱을 이용한 분자마커 개발 방법
KR20190069929A (ko) * 2017-12-12 2019-06-20 순천향대학교 산학협력단 분석 서버에서 miRNA 데이터를 분석하는 방법
KR20210094783A (ko) * 2020-01-22 2021-07-30 가톨릭대학교 산학협력단 Ngs 분석에서의 질병 관련 유전자 선별 방법 및 장치
KR20210109207A (ko) * 2020-02-27 2021-09-06 경희대학교 산학협력단 유전자 선별 방법 및 장치

Similar Documents

Publication Publication Date Title
WO2012060532A1 (ko) 특허 평가 모델 생성 방법, 특허 평가 방법, 특허 분쟁 예측 모델 생성 방법, 특허 분쟁 예측 정보 생성 방법, 특허 라이센싱 예측 정보 생성 방법, 특허 리스크 헤징 정보 생성 방법 및 시스템
WO2023080379A1 (ko) 다유전자 위험점수를 이용한 시간 의존 연관성 기반의 질환 발병 정보 생성 장치 및 그 방법
WO2020101108A1 (ko) 인공지능 모델 플랫폼 및 인공지능 모델 플랫폼 운영 방법
WO2019177182A1 (ko) 속성 정보 분석을 통한 멀티미디어 컨텐츠 검색장치 및 검색방법
WO2012134180A2 (ko) 문장에 내재한 감정 분석을 위한 감정 분류 방법 및 컨텍스트 정보를 이용한 다중 문장으로부터의 감정 분류 방법
WO2021162481A1 (en) Electronic device and control method thereof
WO2023033329A1 (ko) 질환 연관 유전자 변이 분석을 통한 질환별 위험 유전자 변이 정보 생성 장치 및 그 방법
WO2023172025A1 (ko) 시계열적 정보를 인코딩하는 모델을 사용하여 개체-쌍 사이의 연관성 관련 정보를 예측하는 방법 및 이를 이용하여 생성되는 예측 시스템
WO2022005188A1 (en) Entity recognition method, apparatus, electronic device and computer readable storage medium
WO2020251306A1 (en) Computer-implemented method for collaborative development of reagents for detection of target nucleic acids
WO2023080571A1 (ko) 타겟 분석물을 검출하기 위한 서열 식별자를 선정하는 방법
WO2017086675A1 (ko) 대사 이상 질환 진단 장치 및 그 방법
WO2023080276A1 (ko) 쿼리 기반 데이터베이스 연동 딥러닝 분산 시스템 및 그 방법
WO2019198950A1 (ko) 컨텐츠 정보 제공 장치 및 그 방법
Talib et al. Fuzzy decision-making framework for sensitively prioritizing autism patients with moderate emergency level
WO2023080766A1 (ko) 시간 변동 공변량 기반의 prs 모델을 이용한 질환별 위험 유전자 변이 정보 생성 장치 및 그 방법
WO2011068315A2 (ko) 최대 개념강도 인지기법을 이용한 최적의 데이터베이스 선택장치 및 그 방법
WO2023163405A1 (ko) 신용평가 모델 업데이트 또는 교체 방법 및 장치
WO2023017931A1 (ko) 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체
WO2020050627A1 (ko) 시료 미생물의 동정 및 분류 방법
WO2017094967A1 (ko) 자연 언어 처리 스키마 및 그 지식 데이터베이스 구축 방법 및 시스템
WO2024072164A1 (en) Methods and devices for predicting dimerization in nucleic acid amplification reaction
WO2024112153A1 (ko) 유기체 또는 host 추정 방법, 유기체 또는 host를 추정하는 모델의 획득 방법 및 이를 수행하는 컴퓨터 장치
WO2010120063A2 (en) Method of xml document management to selectively cancel specific past operation and system using the same
WO2022114828A1 (ko) 보안 데이터 처리 장치, 보안 데이터 처리 방법 및 보안 데이터 처리하는 프로그램을 저장하는 컴퓨터 판독 가능한 저장매체

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22890302

Country of ref document: EP

Kind code of ref document: A1