WO2004027675A2 - Verfahren und vorrichtung zur auswahl und zum vergleich physikalischer eigenschaften in parameterfolgen - Google Patents

Verfahren und vorrichtung zur auswahl und zum vergleich physikalischer eigenschaften in parameterfolgen Download PDF

Info

Publication number
WO2004027675A2
WO2004027675A2 PCT/EP2003/008898 EP0308898W WO2004027675A2 WO 2004027675 A2 WO2004027675 A2 WO 2004027675A2 EP 0308898 W EP0308898 W EP 0308898W WO 2004027675 A2 WO2004027675 A2 WO 2004027675A2
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
sequences
parameters
combinations
data
Prior art date
Application number
PCT/EP2003/008898
Other languages
English (en)
French (fr)
Other versions
WO2004027675A3 (de
WO2004027675A8 (de
Inventor
Holger Singpiel
Harald Simmler
Original Assignee
Universität Mannheim
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 Universität Mannheim filed Critical Universität Mannheim
Priority to AU2003266973A priority Critical patent/AU2003266973A1/en
Publication of WO2004027675A2 publication Critical patent/WO2004027675A2/de
Publication of WO2004027675A8 publication Critical patent/WO2004027675A8/de
Publication of WO2004027675A3 publication Critical patent/WO2004027675A3/de

Links

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
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • G16B30/10Sequence alignment; Homology search

Definitions

  • the invention relates to a method for comparing n parameter sequences, in which a part of the parameters of all parameter sequences are combined with one another to form parameter combinations according to a previously defined regulation and a first value is assigned to each parameter combination according to a previously defined first evaluation regulation, and the result of the evaluation regulation is one corresponds to a property accessible to measurement.
  • the present invention relates to the use of the method according to the invention for the design, formation, design of / or for the selection of substances.
  • EP 1094607A1 discloses FPGA (Field Programmable Gate Arrays) cells which have user-programmed linking fields. These cells have an array of logic elements and wiring sections that consist of several thousand or even hundreds of thousands of programmable connections, as a result of which FPGAs can be programmed by a user as an integrated circuit for defined functions. Each programmable connection can connect or interrupt a large number of circuit nodes of the integrated circuit as an FPGA cell, as a result of which functions of logic elements of the FPGA can be set in a user-specific manner. By shortening a channel width of channel areas of a switching transistor of an FPGA cell, a smaller space requirement and lower write / read voltages are made possible for the programming of FPGA cells.
  • FPGA Field Programmable Gate Arrays
  • DE 19654595A1 and memory bus systems for modules with two- or multi-dimensional programmable cell structures are known, the bus system by bundling several individual lines or buses or sub-buses within a module of the genus DFP, FPGA, DPGA, and all modules with two or more dimensions Programmable cell structure is produced, and via which the building blocks can be combined into several and / or memories and / or peripheral devices can be connected.
  • DE 19654846A1 provides a method for the dynamic configuration of configurable modules with a two-dimensional or multidimensional cell arrangement, for example FPGAs, DPGAs, DFPs or the like, which one or Contains several switching tables, consisting of one or more controllers, and one or more configuration memories, on which blocks are integrated or connected to them.
  • Configuration words are transferred from a switching table to a configurable element or several configurable elements of the block or block transfer that set a valid configuration.
  • a programmable module can be reconfigured much more quickly and that different configurations of a programmable module can be used flexibly at runtime without impairing or stopping the programmable module's ability to work. Changes to the configuration of the block are made at the same time and are therefore available very quickly without, under certain circumstances, having to transfer large configuration data. This removes the static restrictions of conventional building blocks and improves the use of existing configurable elements.
  • Bio chips are above all useful tools in the context of drug development. The biggest advantage is the expression profiling. DNA microarrays are already unrivaled in this field due to their ability to allow the measurement of gene activity in a tissue in a massively parallel manner. So-called primers are also used in areas other than DNA chips, for example for the duplication of known sequences (polymerase chain reaction PCR).
  • a primer oligonucleotide
  • a primer is a short oligonucleotide sequence that is synthetic in any combination (A, C, G, T, U, with the capital letters for the corresponding bases adenine, cytosine, guanine, thymine and uracil in the DNA or in the RNA) can be created.
  • the primers are usually between 15 and 100 base pairs long.
  • bio-chip or microarray denotes the systematic arrangement of biomolecular probes, such as nucleic acids (oligonucleotides, e.g. cDNA, DNA, RNA, LNA or chimeras thereof), antibodies, peptides or proteins on solid surfaces made of glass, metals or plastics.
  • nucleic acids oligonucleotides, e.g. cDNA, DNA, RNA, LNA or chimeras thereof
  • antibodies peptides or proteins on solid surfaces made of glass, metals or plastics.
  • the basic principle of such biochip-based methods is to use probe arrays to operate miniaturized analysis systems operating in parallel on the smallest possible area, which enables the simultaneous investigation of a large number of parameters.
  • oligonucleotide chips Gene analysis using oligonucleotide chips is based on the ability, for example, of single strands of DNA to form a double helix with a complementary DNA fragment.
  • This process known as hybridization, allows the sequence-specific detection of a DNA segment by means of a probe oligonucleotide (primer) which is fixed on a surface.
  • a bundle of identical primers is applied to a point / matrix cell. This point / cell is called a spot.
  • a DNA chip consists of many different probes, making it possible to detect several thousand DNA sections.
  • the hybridization on a DNA chip is detected, for example, with a fluorescence microscope, in which the DNA to be examined (or the DNA strand sought) is marked with fluorescent dyes (primer markers).
  • proteins in particular is based on their 3-dimensional structure. This structure is sometimes extremely sensitive when the conditions under which the respective proteins are naturally found are changed. In addition, proteins have enormous differences in size. While it is possible, for example, with DNA chips to attach DNA fragments of the same size to the carrier materials, this does not make sense to clarify the task that the protein fulfills, since the protein must be intact and in the correct conformation.
  • Protein chips are therefore much more demanding than DNA chips.
  • the currently available protein arrays are predominantly antibody arrays, in which the specific capture molecules are applied in a narrow space in rows and columns to support materials, analogous to the DNA microarrays, in order to fish out and analyze defined proteins from a pool of proteins. Enormous computing power is required for the analysis. However, these are currently such that the analysis of defined proteins takes days. During the analysis, all proteins in the protein pool are specifically radioactive, labeled with fluorescent dyes or with biotin and brought into contact with the capture molecules on the microarray. Appropriate detection methods can be used to detect the labeled proteins bound to the capture molecules. Therefore, the preparation of the experiment, especially the design of the experiment, has a large share in the value of the entire experiment. When designing biochips, there is therefore a great need for specialized computers and computing power.
  • Biochips can be used, for example, to analyze peptides and / or DNA sequences.
  • ligand oligonucleotides, cDNA molecules, antibodies
  • many structural details as possible must therefore be included in the analysis so that the correct chip content can be selected and incorrect results avoided.
  • the experimental conditions and in particular the selection of primers can be optimized depending on the type of biochip by means of a computer-assisted preparation of the experiment. Experiments can be optimally prepared in a reasonable time and a basis can be created from which a correct interpretation of the measuring points is made possible.
  • target properties are generally compared to the contents of the database. Comparisons should also be made when optimizing experiments. In such comparisons, different combinations of parameters are normally formed and these combinations are subjected to different evaluation steps.
  • the object of the present invention was therefore to provide a method which further shortens the time required when comparing n-parameter sequences, so that complex calculations of a large number of data can be carried out simply and quickly.
  • This object is achieved by a method for comparing n-parameter sequences, in which a part of the parameters of all parameter sequences are combined with one another to form parameter combinations according to a previously defined rule and a first value is assigned to each parameter combination according to a previously defined first rule, and the result of the Evaluation rule corresponds to a property accessible to a measurement, the combinations of the parameters of the n parameter sequences forming an m-dimensional matrix and a part of this m-dimensional matrix corresponding to a matrix which comprises arithmetic logic computing units.
  • a “previously defined rule” in the sense of the invention means, for example, predetermined instructions for the formation of the parameter combinations, which may be in the form of a calculation rule within a computer program or as part of the computer architecture in the form of integrated circuits. Furthermore, the instructions for the formation of the parameter combinations may be present be predetermined biologically, chemically, physically, or be of a random nature, or combinations thereof, the pre-defined rule generally being present before the parameter combinations are formed.
  • a “previously defined first assessment rule” in the sense of the invention means that the assessment rule is generally present before the assessment is carried out, and the assessment rule can be the same or different for each of the possible parameter combinations. The assessment rule causes one or more parameter combinations One or more values can be assigned in each case.
  • the evaluation rule can be in the form of evaluation instructions within a computer program or as part of the computer architecture in the form of integrated circuits
  • Evaluation rule for the assessment of the parameter combinations may be predetermined biologically, chemically, or physically, or may be of a random nature or may also be prescribed as combinations thereof biological and / or chemical system.
  • the evaluation is coded by the structure and type of the molecules and the evaluation regulation is carried out by mutual influencing of the molecules.
  • the term “result” is understood to mean the values assigned to the parameter combinations.
  • the result of the evaluation rule can provide a measure of the “matching” of the parameters in the individual parameter sequences.
  • the parameters are, for example, bases of oligonucleotide sequences
  • the result of the evaluation of the base combinations can include a measure of the binding strength of the respective base combination.
  • parameters are combined with one another that correspond to parts of molecules (atoms or functional groups), the molecules being, for example, oligonucleotides and / or proteins
  • the result of the evaluation depending on the evaluation specification, can be a measure of the binding capacity between the parameters in a combination or for example also be a measure of the agreement of the parameters.
  • parameter sequences containing character strings are compared with one another in the field of image processing by means of the method according to the invention.
  • character strings can, for example, represent image sections or also word or word sequences (for example, the parameters then correspond to gray or color levels).
  • the comparison of character strings as a result then provides, for example, a measure of the match and thus the result can be assigned a property that says that a certain parameter set corresponds to an image section that has meaning such as a street or house.
  • a "property accessible to measurement" in the sense of the invention means that with the aid of a measurement method and suitable systems one or more measurement results are obtained which, after suitable manipulations, correspond to a property of the result of the invention.
  • the measurement method can be biological, chemical or physical in nature
  • the result of the first evaluation rule in the case of an exemplary method for selecting primers corresponds to the bond strengths between the base pairs formed by combination, ie the property accessible to a measurement is the probability of a chemical bond being formed or a measure of the strength of the resulting chemical bond, or it may be the probability of the occurrence of the paired oligonucleotide sequences corresponding to the parameter combinations prove themselves, for example, with gel electrophoresis or resonance methods (NMR, ESR, ⁇ -SR, etc.).
  • the occurrence protection Probability received corresponding measurement results By comparing (e.g. forming a difference) the measurement results of systems with bond formation with reference systems without bond formation, the occurrence protection Probability received corresponding measurement results.
  • the result such as the probability of the presence of a certain object (for example a house), corresponds to various properties, such as temperature etc. This property is accessible to suitable measurement methods, such as thermal imaging camera recordings.
  • m-dimensional matrix in the sense of the invention means that the parameter combinations formed can generally be represented as a matrix or part of a matrix, or that a matrix or part of a matrix is formed when the parameter combinations are formed the resulting matrix or the resulting part of a matrix represents a combination of parameters.
  • the dimension m of the matrix usually does not exceed the number n of parameter sequences.
  • An “arithmetic-logical arithmetic unit” in the sense of the invention means a matrix or a processing element which is capable of performing, for example, any comparison, logical or arithmetic operations.
  • arithmetic-logical arithmetic units according to the invention are listed in the description below.
  • the processing element can be of a biological, chemical or physical nature or combinations thereof, and of course the arithmetic-logical computing units also carry out the evaluation of the parameter combination formed.
  • a “matrix which comprises arithmetic logic processing units' means a logic unit which is preferably designed for parallel data processing.
  • Non-limiting exemplary embodiments for matrices according to the invention which comprise arithmetic-logic processing units are listed in the description below.
  • pipelines in a computer pipeline, an instruction execution is broken down into several processing steps, each of which is processed by a piece of hardware intended for this and all run in parallel Pipeline corresponds to an assembly line, whereby an instruction can be completed in each clock cycle), that is to say the pipelined data are processed in parallel.
  • all or part of the parameter combinations are likewise evaluated simultaneously, for example in parallel in pipelines.
  • the speed of the method can also be increased by acceleration factors between 100 and 1000 until a result is obtained.
  • the arithmetic logic computing units preferably evaluate the parameter combinations formed.
  • each arithmetic logical arithmetic unit can carry out an individual evaluation rule and the parameter combinations can be meaningfully evaluated individually depending on the type or physical meaning of the parameters.
  • the first values for all parameter combinations from the n parameter sequences can advantageously be processed further in accordance with a further evaluation rule.
  • the result from the first evaluations can thus be processed further by a further evaluation specification, which contains, for example, instructions for summation formation or extreme value searches, and can be reduced to a simpler second result, for example.
  • This result can then be further processed or, for example, already correspond to a molecule which has the desired properties, which are suitably coded in the evaluation regulations.
  • Each individual and / or several combinations of the parameters is particularly preferably formed and / or evaluated in one or more logical computing units, for example in differently shaped pipelines (one pipeline, for example, sums up, another carries out comparisons, etc.). This increases the speed by a factor of 100-1000 compared to the use of conventional processes.
  • n is an integer that is greater than or equal to 2. In this way, two parameter sequences or significantly more parameter sequences can be compared with one another.
  • each sequence of parameters consists of a sequence of discrete parameters.
  • any combination of parameters can be formed directly by combining the discrete parameters from the parameter sequences.
  • Sequences preferably comprise the same and / or a different number of parameters.
  • sequences that correspond, for example, to different substances or different molecules or parts of molecules can also be compared with one another.
  • sequences advantageously have a certain predefined arrangement of the parameters within the sequences. This defines, for example, the structure of substances or molecules.
  • the parameters preferably have a property accessible to a measurement.
  • the parameters can have properties of measured values (for example temperature, pressure) and / or also correspond to whole or partial biological structures such as cells and / or correspond to parts of substances such as the bases of primers.
  • the values from the first assignment of values can particularly preferably be subjected to further evaluation rules.
  • the result from the first evaluation can thus be processed further, and there may be any number of further intermediate results until an end result is finally made available.
  • Various selection criteria for the design, formation of / or the selection of substances can be included in the further evaluation steps.
  • the result advantageously has a property that is accessible to a measurement.
  • the result can comprise one or more molecules which, for example, have certain desired properties and / or also, for example, properties which are related to the molecule (s).
  • the method preferably serves to compare n parameter sequences for the design, formation, design of / or for the selection of substances. This enables parameter sequences, for example from substance databases, which contain substance data to be analyzed by suitable evaluation steps with regard to desired properties, in which case substances can then be selected or designed, or newly formed or designed.
  • the substances are advantageously biological molecules.
  • the design of suitable biochips can be evaluated, or, for example, biological properties can also be assigned to gene sequences.
  • the molecules are preferably oligonucleotides.
  • primers for example, are preferably simply designed or selected.
  • the parameters in the parameter sequences of the steps of the method particularly preferably comprise the bases of the oligonucleotides.
  • the parameter combinations correspond to combinations of easily accessible and identifiable bases.
  • the parameter combinations are advantageously formed in that two parameter sequences, the n parameter sequences to each other, run through a part of all possible arrangements, and the arrangements come about by shifting by a discrete parameter in each case.
  • An arrangement in the sense of the invention can mean a spatial arrangement of the parameters as well as any permutation of the parameters in n-dimensional real or virtual spaces.
  • two primers can interact with each other in a particular arrangement in such a way that they combine to form bases other properties can come. By shifting the primers by a discrete parameter, all sensible arrangements can be run through.
  • the parameter combinations preferably comprise base pairs from the part of all possible arrangements of the parameter sequences. For example, chemical interactions such as hydrogen bonds between the bases of a base pair can be evaluated.
  • a hierarchizable value is particularly preferably assigned to the base pairs. For example, chemical interactions can be evaluated with regard to the stability of the bond that may be formed.
  • a part of the parameter combinations is advantageously formed at the same time and a hierarchizable value is assigned to this part and / or part of these simultaneously formed combinations. This increases the speed by factors of 10-100 compared to the use of conventional methods.
  • the assigned value of the bond strength preferably corresponds to the chemical bond between the complementary bases between primer and an oligonucleotide sequence.
  • the binding strength can be used as the basis for possible further calculations which serve for the selection of, for example, oligonucleotides or primers.
  • the values corresponding to the bond strengths are particularly preferably subjected to further calculation methods, so that the result represents one or more selection criteria for one or more oligonucleotides. So that can Oligonucleotides that are selected to match the desired binding properties.
  • the object of the present invention is further achieved by a device for carrying out the method according to the invention, the device comprising a processor and a hardware accelerator for parallel data processing and a memory which is coupled to the processor and / or the hardware accelerator in order to achieve this To carry out methods or steps of the method according to the invention.
  • a device for carrying out the method according to the invention comprising a processor and a hardware accelerator for parallel data processing and a memory which is coupled to the processor and / or the hardware accelerator in order to achieve this
  • a large number of commands for executing the method according to the invention can thus be outsourced to the hardware accelerator, which significantly increases the speed of data processing.
  • the special hardware structure thus allows the parallel, that is, simultaneous execution of many arithmetic operations in one step, which also increases the speed of processing the data accordingly.
  • the memory preferably has a part of the program instructions for executing the method and / or for operating the device, as a result of which the method can be carried out directly and without delay and thus the speed of processing the data can also be increased accordingly here.
  • the hardware accelerator is advantageously coupled to the processor. By coupling the hardware accelerator with the CPU, you are able to outsource computationally intensive processes to the hardware accelerator. A close coupling is necessary in order to carry out a fast data exchange between the CPU and the hardware accelerator.
  • the hardware accelerator particularly preferably contains a logic module for parallel data processing. By using a logic module, the execution of the calculations of the method is coded directly with the logic module and, taking into account a parallel and pipelined execution of the operation, the speed of execution is achieved by a factor of 100-1000 compared to the use of conventional methods.
  • the logic module is preferably a programmable logic module. This allows a particular flexibility in the assessment rules for the different assessment steps.
  • the programmable logic module is preferably a field-programmable gate array (FPGA).
  • FPGA field-programmable gate array
  • the FPGA has a special flexibility with regard to the selection of the evaluation rule and is therefore able to change it in just a few milliseconds.
  • the internal structure of the FPGA is particularly suitable for executing the processing matrix and the evaluation rule in parallel and pipelined. This results in a speed factor of 100-1000.
  • the logic module is preferably an ASIC. Execution as an ASIC is particularly advantageous in the case of a process that does not change further, since the use of an ASIC enables a higher processing speed to be achieved and less silicon area is required due to the higher packing density.
  • the device particularly preferably contains a computer-readable storage unit or a computer-readable storage medium. These can be arranged both in a host computer and / or in the hardware accelerator. By using the memory, the data to be processed are stored and can be used for the calculations quickly and without great delay during the calculation procedure. In addition to the data, the memory on the host processor also contains the program instructions and can also work there without delays.
  • the storage unit or the storage medium advantageously includes recorded data of the parameter sequences of the method.
  • the advantage of storing the data of the parameter sequence is, on the one hand, direct and non-delayed access to the data.
  • the memory on the hardware accelerator can be used both for the data to be processed and at the same time for the result data. This memory is therefore used twice.
  • Fig. 1 is a schematic representation of the device according to the invention.
  • FIG. 2 shows the structure of a processing element (matrix cell);
  • Figure 3 is a schematic representation of the device according to the invention and the
  • FIG. 4 is a flowchart to illustrate the sequence of the invention
  • Figure 5a shows a section of the schematic process flow
  • Figure 5b shows a matrix of the device according to the invention and the one running therein
  • FIG. 1 shows a schematic illustration of the device 100 according to the invention.
  • the device 100 according to the invention comprises a combination of a CPU (central processing unit) 101 in combination with a hardware accelerator 102, these two components 101 and 102 being connected to one another via an interface 103.
  • a CPU central processing unit
  • the CPU 101 can be located in a so-called host computer, not shown.
  • the host computer can be, for example, a PC, a workstation, an embedded processor or a server, or else in peripheral devices, for example. Analyzers are available.
  • the host computer comprises components such as CPU, memory, input / output devices and / or further peripheral devices known to the person skilled in the art, as well as buses and interfaces.
  • An application sequence with the device 100 according to the invention takes place as follows: Data are entered into the host computer by a user and / or read from already existing files. The data entered there can be preprocessed on the host computer in the CPU 101 or, alternatively, in the hardware accelerator 102. The preprocessed data are then transmitted to the hardware accelerator 102 via the interface 103.
  • This data is calculated on the hardware accelerator 102 using one or more logic units not shown in FIG. 1 or in a parallel structure for parallel data processing, also not shown in FIG. 1. After completion of the calculation, the result data are transmitted back to the host computer / CPU 101 via the interface 103. There, the data is post-processed and the results are displayed to a user on a screen and preferably stored in a file.
  • a CPU is understood to mean a “central processing unit”, that is to say a central processing unit.
  • the CPU 101 executes programs loaded into the main memory.
  • the CPU 101 calls up the instructions of the programs, checks them and executes them one after the other.
  • the CPU 101 can Various components, such as a control unit, an arithmetic logic unit (ALU) and registers.
  • the components are connected to one another via a bus. It consists of several parallel lines for the transmission of addresses, data and control signals.
  • Buses can also be outside the CPU 101 and connect them to the memory and various input / output devices
  • the CPU 101 can further preferably have standardized interfaces to device components such as a hardware accelerator
  • the CPU 101 can be a conventional CPU that is located on a single conventional CPU chip such as an INTEL Pentium I / II / III / IV processor chip, Intel PowerPC, embedded processor strongARM from ARM.
  • an interface 103 is shown in the device according to the invention according to FIG. 1.
  • the interface 103 has the task of bidirectional data transmission enable.
  • two unidirectional connections are of course also possible.
  • bidirectional data transmission means that data can be transmitted both from the host computer / CPU 101 to the hardware accelerator 102 and from the hardware accelerator 102 to the host computer / CPU 101.
  • Interfaces 103 in the sense of the invention are, for example, a PCI bus or they can also be part of the CPU 101 of the host computer or part of the parallel computing unit in the hardware accelerator 102, but are not limited thereto.
  • a PCI bus is a so-called "peripheral component interconnect" bus. In the device 100 according to the invention, this bus is used for communication between the CPU 101 and the hardware accelerator 102. Further devices can also be connected to the PCI bus
  • the PCI bus is a very popular bus that has been found in virtually every Intel-based computer since the Pentium. The PCI bus is extensively described in Shanley, T. and Anderson, D .: PCI System Architecture, 3rd ed., Reading, MA, Addison-Wesley, 1995b and Solari E.
  • PCI Hardware and Software Architecture and Design 4th ed. San Diego, CA, Annabooks 1998
  • the PCI bus runs at approximately 32/33 or 64/66 MHz, which corresponds to a cycle time of 15 ns. It handles 32 or 64 bit transfers, which means that it becomes 32 or 64 Bit requested per cycle. It has a very high bandwidth of 528 Mbyte / s in total.
  • ISA Industry Standard Architecture
  • EISA Extended ISA
  • USB Peripheral Component Interconnect Express
  • PCI-X Peripheral Component Interconnect Express
  • Fire Wire PCMCIA
  • PCMCIA Peripheral Component Interconnect Express
  • Hardware accelerator 102
  • a hardware accelerator 102 is shown in the device 100 according to the invention according to FIG. 1.
  • the hardware accelerator 102 which can also be referred to by the term “coprocessor”, can comprise a large number of components.
  • the core of the hardware accelerator 102 is a logic unit (not shown in FIG. 1) for parallel data processing.
  • This logic unit can, for example, consist of one or more programmable FPGA Chips (FPGA means “Field Programmable Gate Array, see also The Programmable Logic Data Book, 1999; Xilinx Inc. 2100 Logic Drive, San Jose, California 95124, USA), one or more hybrid FPGA chips, one or more ASIC chips , Logic modules, analog circuits or CPU clusters or combinations thereof.
  • a hybrid chip is a combination of a "traditional" CPU and an FPGA module. These two processor elements are housed in one housing. The data exchange between the CPU and the FPGA Gore is carried out via appropriate interconnects. (Xilinx Virtex II Pro Data Book http://www.xilinx.com/publications/products/v2pro/ds pdf / ds083.htm)
  • an FPGA chip is used in the hardware accelerator, the following components are typically, but not exclusively, necessary for the operation of the hardware accelerator: an FPGA module, a RAM module, a clock generator, a PCI interface module, a PCI Card, a programmable control logic unit and an operating system.
  • Other hardware accelerator architectures such as when using an ASIC or a CPU cluster different modules are not required, or are not required in the above configuration or other modules.
  • the parallelism in the device 100 according to the invention can be introduced at different levels.
  • instruction level instructions
  • pipelining parallel processing in pipelines and parallel pipelining
  • IBM T.J. Watson Research Center Technical Report RC12434 1987.
  • the performance of the computer can be increased by a factor of 10-100 compared to a purely sequential design.
  • a large number of instruction pipelines must be used in parallel, all of which must work efficiently with one another.
  • a parallelism of data processing in the pipelines is particularly preferred.
  • Works of many ALUs that are either on a chip, such as an FPGA chip, and / or, as is the case with multiprocessor systems or multiprocessor systems, are distributed over many chips, have such multiprocessor or multiprocessor systems several independent CPUs that work as part of a larger system.
  • the data transfer from the CPU 101 to the hardware accelerator 102 via the interface 103 is dependent on the direction of the transfer, which is shown by the arrows in FIG. 1 between the CPU 101 and the hardware accelerator 102 and comprises two data transfer paths described below, but only exemplary but not restrictive.
  • the transmission of the data can also take place bit-serially.
  • the data can be transmitted as an ASCII (standardized character set) character stream, as a binary coded bit stream or using another suitable coding.
  • a transmission with encrypted data must also be included.
  • Data transfer 1 The data transfer from the CPU 101 to the hardware accelerator 102 uses a data packet, not shown in FIG. 1, which is transferred from the CPU 101 to the hardware accelerator 102.
  • the data packet includes, for example, a so-called header, which consists of two data words and defines the number of subsequent data and the offset position from which the data are stored in the first RAM.
  • the subsequent data is stored in RAM in ascending order.
  • any other structure equivalent to this and known to the person skilled in the art is also suitable for the data transfer described above.
  • Data transfer 2 the data transfer from the hardware accelerator 102 to the CPU 101 requests the data by writing a data packet that contains only one header. The data is then read directly by the CPU 101 and stored in the memory of an associated host computer.
  • any other structure equivalent to this and known to the person skilled in the art is also suitable for the data transfer described above.
  • FIG. 2 shows the structure of a matrix element 200, which is a component of a matrix not shown in FIG. 2.
  • This matrix in turn is part of a hardware accelerator, not shown in FIG. 2, for example a hardware accelerator 102 according to FIG. 1.
  • the arrows in FIG. 2 schematically show the sequence of the method according to the invention in such a matrix element 200.
  • a matrix element 200 defines a processing element within a processor unit in the hardware accelerators.
  • the matrix or processing element in a special embodiment is, for example, an 8-bit multiplier (arithmetic logic unit), but it can also be any arithmetic and or logic unit, or a CPU, several cells, an ASIC or a cluster of different or same processors.
  • it can also be a hybrid chip.
  • a hybrid chip is a combination of a "traditional" CPU and an FPGA module. These two processor elements are housed in one housing.
  • a processing element can consist of a group of registers (1 to 32 bits), which form a local memory, and an arithmetic
  • the ALU can perform simple arithmetic operations.
  • the registers are connected to the ALU, which is the data path through which the data flows.
  • the data path selects one or two registers
  • the data path still consists of several buses that connect these parts with one another, and the ALU itself carries out additions, subtractions and other simple operations t from the inputs it receives and thus delivers a result, for example in the output register.
  • the result can also be saved in another memory.
  • These arithmetic arithmetic operations are implemented by logic circuits. These circuits are tiny switching elements found in integrated circuit chips, for example the chip of the matrix, which can be an FPGA chip, for example, are contained individually or in combination. These switching elements, which are also called gates, are usually AND, EXOR, OR, NAND, NOR and NOT. AND, EXOR, OR, NAND and NOT are symbols of Boolean algebra.
  • Simple circuits can be implemented by combining individual gates.
  • the components of memories can be flip-flop circuits or latches. These circuits can be combined to form multiple and also more complex memories.
  • the various components, such as circuits for arithmetic operations and memories, are connected via buses.
  • the arrow A in FIG. 2 represents the i-th element of a first parameter sequence 1, not shown in FIG. 2.
  • the i-th element is, for example, a base of an oligonucleotide, such as a DNA / RNA / LNA or chimeras from that.
  • the arrow B in FIG. 2 represents the jth element of a second parameter sequence 2, also not shown in FIG. 2.
  • j and i can be the same or different.
  • the jth element is, for example, a base, an oligonucleotide, such as, for example, a DNA / RNA / LNA or chimeras thereof.
  • the parameter sequences are each applied to the two inputs 208 for the parameter sequence I and 209 for the parameter sequence 2 of the matrix.
  • the structure of the data processing is designed, for example, in a comparison such that a data word can be fed into the matrix with each cycle.
  • the comparisons for a complementary match are carried out within the individual cells of the matrix. This comparison is carried out via a so-called LookUp table (LUT), which results in the Outputs the weighting factor of the match.
  • LUT LookUp Table
  • a LUT corresponds to a ROM (Read Only Memory) or a RAM (Random Access Memory), which has stored user-specific values.
  • the parameter sequences 1 and 2 are bases of an oligonucleotide, such as a DNA / RNA / LNA or chimeras thereof.
  • the individual bases of the parameter sequences 1 and 2 are encoded with two bits each and applied to the matrix cell 200.
  • the comparator is designed as a LookUp table, which corresponds to ROM (Read Only Memory) or RAM (Random Access Memory).
  • the two inputs of the two parameter elements i and j are used as the address of the LookUp table.
  • the result is encoded in the addressed entry, which is then immediately forwarded to the output.
  • the weighting function is thus directly integrated with the comparison in the LookUp table.
  • the comparison and the subsequent weighting can also result from any arithmetic functions such as addition, multiplication, etc. or else from combinations of these.
  • the weighting of the output can also represent a more complex function, which can be influenced, for example, by further input signals.
  • Each matrix cell 200 determines the result in parallel and makes it available to the subsequent stage.
  • Register 207 for buffering the results is optional.
  • FIG. 3 shows a detailed illustration of the device 300 according to the invention.
  • the components involved within the host computer 301, in particular the host processor (CPU) 306, the interface 304 and the hardware accelerator 302 are shown.
  • FIG. 3 further illustrates the sequence of the method according to the invention, in particular the data flow in the hardware components of the device 300 according to the invention.
  • FIG. 3 shows a workstation host computer 301 with conventional equipment known to the person skilled in the art.
  • This equipment includes the host computer 301, input devices such as a mouse and keyboard 308, a monitor 307 as a display device and a network card 309 and further optional customary hardware components 310.
  • Such hardware components 310 can be peripheral devices, such as a CD-ROM drive, a floppy disk drive , Video card, graphics accelerator, and the like.
  • FIG. 3 is a possible configuration.
  • a host computer 301 with only one network card is also conceivable, which is then used “remotely”, that is to say by remote control, over the network from a second computer.
  • FIG. 3 shows a hardware accelerator 302 that is equipped with an FPGA module 303 and with the components necessary for this.
  • FPGA module 303 an FPGA module
  • FIG. 3 shows a hardware accelerator 302 that is equipped with an FPGA module 303 and with the components necessary for this.
  • FPGA modules can also be used in a device 302 according to the invention. The task and functionality of the components are explained below: PCI interface module 322 and PCI bus 304:
  • the PCI bus 304 is a medium over which several cards / devices exchange data.
  • the PCI interface module 322 has the task of managing the data transmission via the PCI bus 304 and forwarding only the data relevant for the hardware accelerator 302 to the modules connected to the hardware accelerator 302.
  • Control logic 320
  • the control logic 320 has the task of providing basic functionality for operating the hardware accelerator 302. This functionality includes the configuration of the FPGA module 303. This basic functionality can be seen as a “quasi operating system” for the hardware accelerator 302.
  • the control logic 320 is controlled, for example, by the host computer 301 or directly by the hardware accelerator 302. It should be noted that this control logic 320 is particularly necessary when using FPGA technology, preferably a programmable local or external (host library) control logic 320 is used in the hardware accelerator 303.
  • a configuration memory for example an EEPROM, which is located both outside and inside the If the FPGAs are located, the control logic is not completely necessary and can also be omitted completely in these cases.
  • a clock generator is required to operate, in particular synchronously, the components on the hardware accelerator 302. This can be in frequency can be set.
  • the clock generator 321 is controlled by the host computer 301. Alternatively, a fixed clock generator 321 can also be used.
  • the clock generator 321 is used to synchronize digital circuits. With the help of the clock generator 321, time relations can be defined, for example to determine the chronological order in which events are to happen or to synchronize the simultaneity of events.
  • RAM modules 305 Data is stored with the aid of RAM modules 305.
  • the RAM modules 305 can be present both inside the processor element and externally. Their number is arbitrary and will be chosen according to the calculation requirements.
  • FPGA Processor element
  • An FPGA module or processor belongs to the class of array processors.
  • An array processor is based on the basic concept that a control unit for routing many matrix elements, which are also defined as processing elements, provides signals, that is, it sends instructions.
  • Each processing element consists of a CPU or an extended ALU and can have local memory. Since all parts are controlled by a control unit, the processing elements march in tightly closed sections.
  • An FPGA processor 303 is shown in the exemplary embodiment shown in FIG.
  • the FPGA module used in the exemplary embodiment has processing elements which are referred to as a configurable logic block (CLB) and which have one or more 4-bit look-up tables, one or more 1-bit registers and further basic logic circuits.
  • CLB configurable logic block
  • the physical matrix size of the CLB is typically between 10x10 and 10 6 xl0 r> 6 6.
  • Table 1 Examples of processing elements and their matrix size.
  • a matrix element has 4 x 4 bit LUTs (The Programmable Logic Data Book 2000; Xilinx Inc.).
  • the processing elements from Table 1 are from Xilinx available. It goes without saying that other processing elements with different, for example even larger, matrices can also be used according to the invention.
  • a processing matrix By interconnecting several CLBs, a processing matrix can be built up within the FPGA, the physical matrix size of which lies between lxl and 10 6 xl0 6 , preferably between 16x16 and 30x30.
  • the size of the processing matrix and the individual matrix elements themselves are preferably defined in advance, but are also defined in a variable manner.
  • Logical comparisons are carried out within the cells of the processing matrix using a LUT and the two values applied.
  • any logical or arithmetic operation such as multiplication, is conceivable within a cell of the processing matrix and can be achieved by interconnecting two or more CLBs of the FPGA module.
  • the processing elements are arranged within a matrix 325 and are connected to one another in a complex manner.
  • Such processors are particularly suitable for processing two-dimensional problems and are particularly suitable for matrices. They can also be scaled up well by adding additional processors to the processors present in the hardware accelerator. This increases the computing power, which means that significantly more parameters can be processed at the same time.
  • the hardware can thus be adapted to the problem: Due to the number and arrangement of the processors used, higher-dimensional matrix problems can also be dealt with, such as when comparing more than two parameter sequences at the same time. In addition, longer parameter sequences can be processed or compared with a larger number of processors become.
  • either the control unit can determine which instructions are to be carried out, or each processing element 303 itself can decide whether it wants to execute an instruction or not, mostly on the basis of local data, such as condition code bits.
  • a sequence controller 323 is present within the processor element 303. This controls the data flow in the processor element 303. It controls the processing elements and memory elements 305, which can be present both within the processor 303 and externally.
  • the arrows symbolize the course of the method according to the invention in a device 300 according to the invention.
  • the method according to the invention is further illustrated by way of example using a method for determining primer sequences, without this being understood as a limitation of the method according to the invention.
  • primers Two sequence areas are first selected from each sequence to be detected (target sequence). These areas are usually longer than the optimal primer to be found for each target sequence. In addition, other parameters are taken into account when determining the primers (including primer length, temperature, etc.). These parameters determine the selection criteria for the evaluation function.
  • the potential primer candidates go through several calculation processes for each given target sequence. One of these evaluation methods is the one-to-one comparison of individual base pairs. The partial results are combined into one result in an overall evaluation. The entire calculation is divided into two stages. In the first stage, the individual primers are evaluated separately and the optimal primers are determined. In the second stage, the interaction between the primers of each individual target sequence and the primers of all other target sequences is examined.
  • the first stage of the calculation is described below. These calculations are further divided into the areas a) primer generation, b) calculation of the parameters of the primer c) evaluation of the determined values. These three areas a), b) and c) are explained in more detail in the following sections.
  • the primer generation that is, the composition of the primers is carried out as follows: Individual primers are to be extracted from a given DNA sequence and used for the calculation. The primers are extracted on the basis of the given DNA sequence and the length specification for the primers. A predeterminable number of primers is generated for each length. The number is calculated by:
  • the DNA sequence is longer, i.e. has more nucleoside units than the primer.
  • the primers are determined starting at the first sequence position. This process is repeated for any given primer length.
  • agtcagtcgat gtcagtcgatg, tcagtcgatgc, ..., acgtgtacgta.
  • the parameter sets for the optimal primer set must now be determined. There are the following important boundary conditions: The primers must not bind with themselves, but also not with the others on the chip. The primers must also not bind to the markers. The first and second boundary conditions also apply to markers.
  • SA Seif Annealing
  • SEA Seif End Annealing
  • Further calculations additional functionalities such as temperature and GC ratio).
  • the primer to be tested with the 4 bases AGTC is tested against the reverse primer CTGA as follows: There are 7 overlays to calculate SA. In the example, the first two overlays to be evaluated are shown, the other 5 overlays are by shifting the reverse primer relative to the primer to be examined in order to form a base.
  • the first overlay is:
  • the second overlay is:
  • Reverse primer The total calculations to be carried out for the example with a length of 4 bases are shown in the table below:
  • Table 1 Table with the evaluations to be carried out for the 4 base example in the SA calculation
  • the binding of the individual primers to themselves is also tested in order to determine the applicability of the primer.
  • a very similar calculation procedure is used to calculate the SEA values as in the case of determining the SA values. Only those are used to determine the SEA values interesting primer combinations that start at the end of the primer. This means that only those primer combinations are to be taken into account for the calculation, in which the last base can interact with a base of the reverse primer, which are found until the first occurrence of a mismatch. All subsequent matches are not counted.
  • the primer to be investigated is tested with the 4 bases AGTC against the reverse primer CTGA as follows: There are 4 superimpositions for the calculation of SEA.
  • the first two overlays to be evaluated are shown, the other 2 overlays are by shifting the reverse primer relative to the primer to be examined in order to form a base.
  • the first overlay is:
  • the second overlay is:
  • Reverse primer GA In contrast to the determination of values in the SA calculation, only the matches that result from the last position in the primer up to the occurrence of the first mismatch are added up in the SEA calculation. Matches after this position are not added.
  • the weighting of the matches found is identical to that of the SA calculation.
  • Table 2 Table with the evaluations to be carried out for the 4 base example in the SEA calculation
  • the values determined are evaluated for each primer generated in the first stage.
  • the values determined for the SA and SEA and for the further calculations are combined with a weighting factor to form an overall result.
  • only the maximum obtained is taken over as the SA / SEA value and added with the weighting factor.
  • the individual results are compared with the transferred parameters.
  • the parameters describe a range in which the results are valid. If one of these areas is violated, the calculated primer is discarded and classified as invalid.
  • the best primers are determined from all valid values and temporarily stored for processing in the second stage.
  • the second stage of the calculation is described below.
  • SA and SEA are used.
  • the parameters to be calculated are a) Pair Annealing (PA) and b) Pair End Annealing (PEA)
  • the calculation methods for PA and PEA essentially correspond to the methods for determining the SA and the SEA value, although obviously deviations also fall within the scope of the present invention. Details of the calculation are explained above.
  • the calculation methods are basically the same, but the calculation method for PA and PEA calculation can also process primers with different lengths, for example.
  • a program runs on the computer 301, or the host computer, which accepts and / or reads in the data to be processed.
  • the entered data is then compressed and converted into a data format suitable for transmission.
  • the data is transferred to the hardware accelerator 302 via the interface 304 and is temporarily stored there in a RAM module 305 via the interface module 322 and the optional sequence controller 323, which can also be replaced by suitable software, for example.
  • the sequence controller 323 controls the reading of the primer data from the RAM module 305.
  • This RAM can be implemented both within the processor element 303 and as an external RAM module. This step is represented by the arrows marked with a "1".
  • This transmission also includes the transmission of parameter data which are required for the later calculation.
  • the processing of the data on the hardware accelerator 302 starts.
  • the individual primers are generated from the sequence data and transferred as input data 324 to the matrix 325 for calculation.
  • Both the values for SA and SEA are calculated within the matrix 325 and then passed on to the evaluation method 328.
  • further calculations 326, 327 are carried out on the basis of the primer data and are also fed to the evaluation method 328.
  • This calculation is shown in FIG. 3 as calculation 1 (326) to calculation N (327).
  • the best 64 results E are then stored in a second RAM module 305 (external or internal). This calculation is carried out for each of the transferred DNA sequences. This step is shown with the arrows marked with a "2".
  • the best pairs of two successive primers are determined.
  • the primer pair data of an even and an odd primer are determined (Pl + P2; P3 + P4; P5 + P6; etc.).
  • the result data (from step 2) are read out from the second RAM 305.
  • the sequence data are also read out from the first RAM 305.
  • the processing of this data is carried out by the same unit of matrix 325, the calculations carried out in parallel not being taken into account in the evaluation.
  • the partial results of the primers from the first stage are then combined with the results determined in this stage.
  • the best 5 primer pairs of a combination are then stored in the second RAM. This step is shown with the arrows marked with a "3".
  • step 4 the data is read from the second RAM and transferred to the host processor 306. Both the results from step 2 and step 3 are read out. This step is represented by the arrows marked with a “4”.
  • the results are subjected to postprocessing.
  • the sequences found are selected and presented to the user on monitor 307 together with the determined results and written to a file.
  • the data are used in special data formats.
  • the data is preprocessed within the host computer 301. This preprocessing converts the input data into the subsequent data format. This data format is prepared in the memory of the computer 301. Data is transferred via DMA access.
  • the data formats for storing the data in the two RAM modules differ due to the data required for the calculation.
  • the formats for the two RAM modules are defined in the following sections. The data format of the sequence data and parameter data after which these data are stored in the RAM bank 1 305 will be described below.
  • the memory is divided into 1024 blocks of 64 words, 32 bits each. Each of these blocks stores a sequence from which the respective primers are extracted. A further block is attached to the 1024 blocks, which contains the parameter data for the second part of the calculation.
  • the block with the parameter data for the second calculation is two 32-bit words for each primer pair that is calculated.
  • the parameter data for the PA and the PEA calculation are stored within the two words.
  • the parameters stored in the two words are: PA minimum, PA maximum and PA optimum, as well as PEA minimum, PEA maximum and PEA Optimum.
  • a block with 64 32-bit addresses is available for storing the sequence.
  • This block is further divided into an area that contains the parameters necessary for the block and a block with the sequence data. This division results in a maximum length of 944 bases per sequence.
  • the sequence data is structured in such a way that 16 bases are encoded for each data word.
  • the sequence controller 323 reads in the data as required and generates the individual primers for the calculation.
  • the parameters for the calculation of the first step are stored in the lowest 5 data words. These parameters are read in by the controller 323 at the beginning of each calculation and stored in the evaluation function.
  • RAM Bank 2 is divided into blocks, each with 256 entries per sequence. The entire area consists exclusively of packets of 256 words each.
  • 128 words are required to temporarily store the results from the first step, because each result is coded in two data words. These results are stored within the block in descending order from address 127.
  • the area between block address 128 and 256 is reserved for the results of the second step. Based on the calculation of a pair of primers (odd and subsequent even primers), only one result is generated for each of these two blocks. This result is only stored within the odd block.
  • the measurements of the software version were carried out on a Pentium III 500 MHz / 128 MB RAM. The total duration of the procedure was 1920 s.
  • the measurements on the hardware accelerator were carried out on a microEnable II system with a Virtex 400 FPGA at 50 MHz.
  • the total duration of the process according to the invention was 3.41 s.
  • a host computer system with the following parameters was used to carry out the measurements: Intel Celeron 500MHz / 128Mbyte.
  • FIG. 4 shows the sequence of the method 400 according to the invention in a hardware accelerator.
  • the method sequence 400 according to the invention is illustrated in more detail by means of a method sequence for determining primer sequences.
  • the flow diagram 400 shown is specific for the processing of parameter sequences on FPGAs according to the invention. Individual parts of the processing are different or unnecessary when using other processor technologies.
  • Figure 4 illustrates the course of the entire calculation and shows the program sequences in the software and on the hardware accelerator in detail.
  • the method sequence 400 within the hardware accelerator 401 is reduced to the illustration in FIG. 4.
  • the hardware accelerator 401 waits until it receives data from the host computer (not shown in FIG. 4). As soon as this data is transferred from the host computer, this data is read in in step 403 and stored in the first RAM bank. Immediately after saving, the calculation of all individual primers of each sequence starts.
  • the primers are generated and then fed to the processing components.
  • the SA and SEA values in the matrix are calculated.
  • Step 406 runs parallel to step 405, in which further calculations are carried out.
  • the results are determined using the evaluation function.
  • the best results are collected.
  • Step 409 involves querying whether the last primer in the sequence has been calculated.
  • step 410 the best results are stored in the second memory, namely in RAM bank 2.
  • step 411 the next sequence is addressed.
  • Step 412 includes the query whether the last sequence with the associated calculated primers has run through.
  • step 413 is carried out.
  • step 413 the second stage for determining the PA and PEA values, which is not shown in detail in FIG. 4, is carried out. After the second stage has been completed, the data is read back from the host computer in step 414 and displayed.
  • FIG. 5a shows the method sequence 500 according to the invention in a matrix 503.
  • the illustration clarifies a particular aspect of the invention, namely the construction of a matrix 503 from the individual combinations of the m parameters from the n parameter sequences, in this case the parameter sequences 501 and the parameter sequence 502, that should be compared with each other. Both parameter sequences have 4 parameters. It goes without saying that, of course, also parameter sequences with more than 4 parameters can only be selected in each case or together 4 parameters without going outside the scope of the invention. The number m of parameters to be compared can be selected as desired and is determined by the logic resources available, for example ALUs.
  • This matrix structure of the matrix 503 finds its correspondence in the matrix of a parallel processing system within a device according to the invention.
  • the matrix 503 has 16 matrix elements 507, which comprise at least one arithmetic logic arithmetic unit. In the matrix elements 507, the calculation of the individual combinations of parameters takes place in parallel, that is to say simultaneously. This simultaneous processing of the individual combinations accelerates the entire process by several orders of magnitude.
  • the processing of the parameter data when comparing the first parameter sequence 501 (also called parameter sequence 1) with the second parameter sequence 502 (also called parameter sequence 2) is shown in three stages, which are denoted by the numbers 1, 2 and 3 in FIG. 5 a. Both parameter sequences 501 and 502 have the same number of parameters, namely 4.
  • the matrix 503 is constructed from the individual combinations of the parameters from the two parameter sequences 501 and 502.
  • the matrix 503 is constructed from elements (i, k), in which case i runs through the values 1 to 4 and likewise k runs through the values 1 to 4.
  • the parameter combinations (i, k) are assigned to the comparison cells, that is to say the matrix elements 507 of the matrix 503 of the parallel processing system.
  • the evaluation of the comparison cells 507 provides the first results, which are shown in FIG. 5a as arrows 508, which have their beginning in each comparison cell 507.
  • first results can optionally be combined with one another according to a second evaluation rule 504 in step 2, it being possible for all or part of the first results to be combined with one another.
  • Each individual 1st result can also be changed individually, whereby the 2nd assessment rule for each 1st result can be the same or different, or can be partially the same or different.
  • the first results can also remain unchanged in their value.
  • the second evaluation rule 504 brings about a combination of the comparison cells 507 in the diagonals of the matrix 503. This combination takes place in accordance with the second evaluation rule 504 and can, for example, be combined by an arbitrarily selectable computing operation, such as addition, subtraction, multiplication, Division. Logarithmic evaluation, etc. or by using arithmetic operations.
  • the second results formed in this way are shown as arrows 505 in FIG. 5a.
  • the second results 505 can optionally be processed according to further optional downstream evaluation rules.
  • the second results can optionally be combined with one another in accordance with a third and further evaluation regulations 506 in stage 3, it being possible for all or part of the second results to be combined with one another.
  • Each individual 2nd result can also be changed individually, whereby the 3rd and further evaluation rules for every 2nd result can be the same or different, or can be partially the same or different.
  • the value of the second results can also remain unchanged.
  • the third and further evaluation regulations 506 in stage 3 alone or in any combination with one another, ultimately lead to the result 509, which can be read by the user as result E.
  • the task of the matrix 503 is to calculate the soap annealing (SA) and the soap end annealing (SEA) value. Due to the functional equality in the calculation, the matrix 503 can also be used in a slightly modified form for the calculation of the pair annealing and pair end annealing value.
  • FIG. 5b explains the structure of the matrix 503 from FIG. 5a for the special embodiment of the primer determination. All possible combinations of overlays of two primers are to be evaluated and the weighted matches have to be added up, depending on the calculation of annealing or end annealing.
  • the first parameter sequence 551 and the second parameter sequence 552 correspond to the first and second primers.
  • the second primer has the exactly opposite base sequence of the first primer.
  • the primers are different in the case of PA and PEA value calculation.
  • a base combination of a base of the 1st and 2nd primer is evaluated according to its binding strength, as explained above according to a 1st evaluation rule.
  • these values are summed up for each diagonal 555 of the matrix 550, formed from the individual diagonally arranged matrix elements or comparison cells 554 according to a second evaluation rule 553 (or 504 in FIG. 5a). The result (505 in FIG.
  • step 3 is the results of each Diagonals 555 compared in pairs.
  • the maximum value that results for a pair of primers is determined.
  • the values can also be obtained by addition subtraction or other mathematical arithmetic operations. Table 3 shown below shows all of the operations that are performed in parallel within the matrix 550.
  • Table 3 Supplementary example for the calculation of the maximum value when performing the SA calculation in the parallel working matrix structure.
  • the overlying base pairs are again carried out using the 4-base primer (AGTC).
  • Homologous proteins are generally referred to as polypeptides that have a similar amino acid composition in common. In most cases, the proteins with a relatively high degree of identity are also structurally and functionally homologous. Changes in the amino acid sequence of a protein could cause a change in the 3-D structure. It is this relationship between the amino acid sequence of a protein and its three-dimensional structure that allows one to compare proteins for which there are no NMR or X-ray crystal structures with their sequence homologists whose structure is known. The sequence homologues with a known structure make it possible to calculate the structure of the homologous sequences, the structure of which is unknown, by means of comparative modeling and thus allow an insight into the protein function.
  • the experimentally determined structures are generally referred to as matrices and the sequence homologue (that is, a new chain of nucleotides that has been identified, for example, in an ongoing genome project) is called the target sequence.
  • the homology-based approach to building models involves four consecutive steps. The first is to identify known structures that have a sequence related to the target sequence. This is typically achieved using software tools such as BLAST, which are used to search for possible matrices.
  • the potential matrices are compared to the target sequence in order to identify the most closely related template.
  • a model of the target sequence is calculated, starting from the most suitable template of the second step.
  • the fourth step is finally to evaluate the model of the target sequence using a number of criteria such as energetics.
  • the method according to the invention and the device according to the invention can now support the calculation of the first and the second step.
  • the computing time can be shortened by a factor of, for example, 1000 by the parallel processing matrix approach according to the invention.
  • the amino acid sequence of the unknown protein is quite similar to that of its structural homologue and there is, for example, in the PDP protein database (Sussman, JL et al. Protein Data Bank (PDB): database of three-dimensional structural information of biological macromolecules. In: Acta. Crystallogr. D. Biol. Crystallogr. 54 (1998) pages 1078-1084) more than one known Homologues from other species. The aim is to find these well-known homologues.
  • the program BLAST of the NCBI makes it possible to find these known homologues.
  • the matrix according to the invention can be constructed from the combinations of two parameter sequences.
  • the two parameter sequences with their parameters to be compared are generally of unequal length.
  • One parameter sequence can be the primary sequence (amino acid sequence) of the target sequence and the other parameter sequence can be a protein sequence in a predefined database.
  • the matrix can take on considerable sizes, so that it can be more suitable to subdivide the matrix into a plurality of sub-matrices depending on the number of matrices that are processed in parallel, or on the number of matrix elements that are processed in parallel. With such a method, for example, each individual sub-matrix can be processed in parallel.
  • the narrowest sequence homologues can be selected by forming meaningful superimpositions of the two parameter sequences and suitable evaluation of the parameter combinations formed and suitable subsequent evaluation instructions.
  • Other applications of the parallel processing matrix according to the invention relate to the second step of the homology search, namely the comparative alignment of the potential matrices with the target sequence. Other applications are sequence comparisons, evaluation of sequences or, for example, also in the determination / calculation of DNAs.
  • the matrix according to the invention also accelerates the search of databases, for example substance databases.
  • Comparative formations often take place within such searches of databases, in the case of substance databases, for example, of substance properties sought and substances in the database with their specific properties.
  • the matrix according to the invention is used here, for example, to compare a parameter sequence whose parameters contain the desired properties with parameter sequences whose parameters the substances contain with their substance properties from the database. This comparison is carried out in parallel by the matrix according to the invention and thus leads to a significantly accelerated database search in substance databases.

Landscapes

  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Biophysics (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

Die Figur betrifft ein Verfahren und eine Vorrichtung zum Vergleich von n Parameterfolgen, wobei jede Parameterfolge m-Parameter enthält und wobei die m-Parameter nach einer vorher definierten Vorschrift untereinander zu Parameterkombinationen kombiniert werden und jeder Parameterkombination nach einer vorher definierten ersten Bewertungsvorschrift ein erster Wert zugeordnet wird und das Ergebnis der Bewertungsvorschrift eine einer Messung zugängliche physikalische Eigenschaft entspricht, und wobei die Kombination aus den m-Parametern der nm-Parameterfolgen eine n-dimensionale Matrix bilden und einen Teil dieser n-dimensionalen Matrix ein aus arithmetischen logischen Recheneinheiten aufgebauten Matrix entspricht, wobei die arithmetischen logischen Recheneinheiten die Bildung der Parameterkombinationen mit Bewertung durchführen nur bei n und m gleich verschieden sein können und eine Zahle grösser als 1 darstellen. Weiter betrifft die vorliegende Erfindung einer Vorrichtung zur Durchführung des erfindungsgemässen Verfahrens, umfassend einen Prozessor und einen Hardwarebeschleuniger zur parallelen Datenverarbeitung, mnit dem ein weiterer Befehl oder Befehlssatz der in dem Befehlsatz des Prozessors nicht enthalten ist, zum Ausführen der Schritte des erfindungsgemässen Verfahrens realisiert wird und einem Speicher, der mit dem Prozessor gekoppelt ist. Das erfindungsgemässe Verfahren und die Vorrichtung finden insbesondere Verwendung zum Design und zur Auswahl von Primern, bei der Auswahl und Bestimmung von Oligonukleotidsequenzen, Materialeigenschaften sowie bei Datenbankabgleichen.

Description

VERFAHREN UND VORRICHTUNG ZUR AUSWAHL UND ZUM VERGLEICH PHYSIKALISCHER
EIGENSCHAFTEN IN PARAMETERFOLGEN
Die Erfindung betrifft ein Verfahren zum Vergleich von n Parameterfolgen, wobei ein Teil der Parameter aller Parameterfolgen nach einer vorher definierten Vorschrift untereinander zu Parameterkombinationen kombiniert werden und jeder Parameterkombination nach einer vorher definierten ersten Bewertungs Vorschrift ein erster Wert zugeordnet wird, und das Ergebnis der Bewertungsvorschrift eine einer Messung zugänglichen Eigenschaft entspricht. Außerdem betrifft die vorliegende Erfindung die Verwendung des erfindungsgemäßen Verfahrens zur Gestaltung, Bildung, Design von/oder zur Selektion von Stoffen.
Auf dem Gebiet der Bio-Informatik und der Materialwissenschaften fallen große Mengen genetischer, biochemischer sowie stoffspezifischer Daten an. Diese Daten, die sich aus vielen Forschungsanstrengungen ergeben, sind durch ihren gemeinsamen Ursprung verbunden: den Eigenschaften von biologischen und anorganischen Stoffen bzw. Molekülen.
Dadurch erfordern die beiden vorgenannten Gebiete große Rechnerleistungen, um diese Einzelinformationen zu katalogisieren, organisieren und sie in sinnvollen Gebilden zu strukturieren.
Im Allgemeinen sind diese Anforderungen an Rechner mit herkömmlichen Systemen nicht mehr zu bewältigen. Schon in der Vergangenheit wurden daher Wege gesucht, um den enormen Datenfluss sinnvoll zu strukturieren, wobei spezielle Hardware- und Softwarekonfigurationen eingesetzt wurden.
So sind beispielsweise aus der EP 1094607A1 FPGA (Field Programmable Gate Arrays) Zellen bekannt, die anwenderprogrammierte Verknüpfungsfelder aufweisen. Diese Zellen weisen ein Feld von Logikelementen und Verdrahtungsabschnitten auf, die aus mehreren Tausend oder sogar hunderttausenden von programmierbaren Verbindungen bestehen, wodurch FPGA's von einem Anwender als integrierte Schaltung für definierte Funktionen programmiert werden können. Jede programmierbare Verbindung kann hierbei als FPGA- Zelle eine Vielzahl von Schaltungsknoten der integrierten Schaltung verbinden oder unterbrechen, wodurch Funktionen von Logikelementen des FPGAs anwenderspezifisch eingestellt werden können. Durch Verkürzung einer Kanalbreite von Kanalgebieten eines Schalttransistors einer FPGA-Zelle, wird ein geringerer Platzbedarf sowie geringere Schreib-/Lesespannungen für das Programmieren von FPGA-Zellen ermöglicht.
Weiter sind aus der DE 19654595A1 und Speicherbussysteme für Bausteine mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen bekannt, wobei das Bussystem durch Bündelung mehrere einzelner Leitungen oder Busse oder Teilbusse innerhalb eines Bausteins der Gattung DFP, FPGA, DPGA, sowie allen Bausteinen mit zwei oder mehr dimensionaler programmierbarer Zellstruktur hergestellt ist, und über welches die Bausteine zu mehreren zusammengefasst werden können und/oder Speicher und/oder Peripheriegeräte anschließbar sind / ist.
Ebenso stellt die DE 19654846A1 ein Verfahren zur dynamischen Konfiguration von konfigurierbaren Bausteinen mit einer zwei- oder mehrdimensionalen Zellanordnung, beispielsweise FPGA's, DPGA's, DFP's oder ähnlichem, zur Verfügung, das ein oder mehrere Switching-Tabellen, bestehend aus einer oder mehrerer Steuerungen, und einen oder mehreren Konfigurationsspeicher, auf denen Bausteine integriert sind oder an diesen angeschlossen werden enthält. Dabei werden Konfigurationsworte von einer Switchingtabelle an ein konfigurierbares Element oder mehrere konfigurierbare Elemente des Bausteins oder der Bausteinübertragung, die eine gültige Konfiguration einstellen, übertragen. Damit ist eine Umkonfigurierung eines programmierbaren Bausteins wesentlich schneller möglich und eine flexible Nutzung von verschiedenen Konfigurationen eines programmierbaren Bausteins zur Laufzeit, ohne dabei die Arbeitsfähigkeit des programmierbaren Bausteins zu beeinträchtigen oder zu stoppen, möglich. Veränderungen an der Konfiguration des Bausteins werden gleichzeitig durchgeführt und stehen somit sehr schnell zur Verfügung, ohne dass, unter Umständen, weite Konfigurationsdaten übertragen werden müssen. Damit werden statische Beschränkungen herkömmlicher Bausteine aufgehoben und eine Verbesserung der Ausnutzung vorhandener konfigurierbarer Elemente erreicht.
Aus der DE 19651527 AI ist weiter eine Rechneranordnung und ein Verfahren zur Durchführung einer Folge von Programmbefehlen bekannt, wobei in der Rechneranordnung ein programmierbarer Logikbaustein, der mit einem Prozessor mit einem begrenzten Befehlssatz gekoppelt ist, wobei der Logikbaustein den Prozessor bzw. den begrenzten Befehlssatz um mindestens einen Befehl erweitert. Der Befehl der nicht in dem Befehlssatz des Prozessors enthalten ist, wird in dem programmierbaren Logikbaustein durch Logikfunktionen realisiert. Damit können in verschiedenen Anwendungsgebieten, beispielsweise bei der Approximation von Funktions werten beliebig stetiger Funktionen, bei der Fliessarithmetik, insbesondere auch bei Prozessoren mit Integer-Format oder auch bei verlustfreien oder verlustbehafteten Datenkompression, die Bearbeitungszeit und die benötigten Ressourcen weiter verringert werden. Allen vorgenannten Systemen und Verfahren des Standes der Technik war jedoch gemein, dass die Rechenzeiten zur Verarbeitung einer Vielzahl von Daten sehr hoch waren.
Dies ist insbesondere auch für den Bereich der Bioinformatik bei der Auswertung z.B. von genetischen Analysen, der Strukturaufklärung von Proteinen etc. ein großer Nachteil, da schnelle Auswertungsergebnisse erwünscht sind.
Aus der EP 1136932 AI ist beispielsweise ein Verfahren zum Design von Primern auf Bio- Chips bekannt, wobei DNA-Nukleotid-Sequenzen von einer Datenbank erhalten werden, die aus einer Mehrzahl von verschiedenen DNA-Nukleotid-Sequenzen besteht, und wobei die Nukleotid-Sequenzen von Primern in der Lage sind, spezifisch in die so erhaltene hybridisierte DNA zu binden. Eine Mehrzahl von Primern, die in der Lage sind spezifisch an verschiedene DNA's zu binden, kann so designt werden.
Bio-Chips sind vor allem nützliche Werkzeuge im Rahmen der Medikamentenentwicklung. Der größte Vorteil besteht dabei in der Expresssionsprofilierung. Hier sind DNA-Mikroarrays aufgrund ihrer Fähigkeit, die Messung von Genaktivität in einem Gewebe in massiv paralleler Weise zu erlauben, bereits heute konkurrenzlos attraktiv. Auch in anderen Bereichen als bei DNA-Chips werden beispielsweise zur Vervielfältigung von bekannten Sequenzen (Polymerase Chain Reaction PCR) so genannte Primer eingesetzt. Bei einem Primer (Oligonukleotid) handelt es sich um eine kurze Oligonukleotidsequenz, die synthetisch in allen beliebigen Kombinationen (A, C, G, T, U, wobei die Großbuchstaben für die entsprechenden Basen Adenin, Cytosin, Guanin, Thymin und Uracil in der DNA bzw. in der RNA stehen) erstellt werden kann. Die Primer sind in der Regel zwischen 15 und 100 Basenpaare lang. Der Begriff Bio-Chip oder Microarray bezeichnet die systematische Anordnung von biomolekularen Sonden, wie beispielsweise Nukleinsäuren, (Oligonukleotiden, beispielsweise cDNA, DNA, RNA, LNA oder Chimären davon) Antikörpern, Peptiden oder Proteinen auf festen Oberflächen aus Glas, Metallen oder Kunststoffen. Das Grundprinzip derartiger biochipbasierter Methoden ist es, durch Sondenarrays parallel arbeitende, miniaturisierte Analysesysteme auf einer möglichst kleinen Fläche zu erhalten, die die gleichzeitige Untersuchung einer großen Zahl von Parametern ermöglichen.
Die Genanalyse mittels Oligonukleotidchips beruht auf der Fähigkeit beispielsweise von Einzelsträngen DNA eine Doppelhelix mit einem komplementären DNA-Fragment auszubilden. Dieser als Hybridisierung bezeichnete Vorgang erlaubt den sequenzspezifischen Nachweis eines DNA-Abschnitts durch ein Sonden-Oligonukleotid (Primer), das auf einer Oberfläche fixiert ist. Es wird jeweils ein Bündel von gleichen Primern auf einen Punkt / Matrixzelle aufgebracht. Diesen Punkt/Zelle bezeichnet man als Spot. Ein DNA-Chip besteht aus vielen verschiedenen Sonden, wodurch eine Detektion mehrerer Tausend DNA-Abschnitte möglich ist.
Die Hybridisierung auf einem DNA-Chip wird beispielsweise mit einem Fluoreszenz- Mikroskop nachgewiesen, in dem die zu untersuchende DNA (oder der gesuchte DNA- Strang) mit Fluoreszenzfarbstoffen (Primer-Marker) markiert wird.
Bisher gibt es nur wenige Programme zur Berechnung von optimalen Primern. Nachteilig auch hierbei ist der derzeit noch enorme Zeitbedarf bei der Ausführung derartiger Programme.
Ebenso sind für die Analyse von Proteinen und (Poly)Peptiden umfangreiche Rechenleistungen erforderlich. Peptid- bzw. Proteinchips, mit deren Hilfe Tausende von Peptiden bzw. Proteinen parallel charakterisiert werden können sind derzeit die einzige Möglichkeit, um der Aufgabe der Peptid bzw. Proteincharakterisierung in einem überschaubaren Zeithorizont Herr zu werden. Dies erfordert eine noch größere Rechenleistung als beispielsweise bei der Analyse von Nukleinsäuren bzw. Oligonukleotiden, denn während die Nukleinsäuren in ihren chemischen und molekularen Eigenschaften sehr ähnlich sind, gibt es eine Vielzahl an äußerst heterogenen Peptiden und Proteinen.
Die Funktion insbesondere der Proteine stützt sich auf ihre 3-dimensionale Struktur. Diese Struktur ist mitunter ausgesprochen empfindlich, wenn die Bedingungen unter denen sich die jeweiligen Proteine natürlicherweise befinden, verändert werden. Darüber hinaus besitzen Proteine enorme Größenunterschiede. Während es beispielsweise bei den DNA-Chips möglich ist, gleichgroße DNA-Fragmente an die Trägermaterialien zu knüpfen, ist dies zur Aufklärung der Aufgabe, die das Protein erfüllt, nicht sinnvoll, da dieses dafür intakt sein und in der richtigen Konformation vorliegen muss.
An Proteinchips werden also weitaus höhere Anforderungen gestellt als an DNA-Chips. Bei den derzeit vorhandenen Proteinarrays handelt es sich überwiegend um Antikörper- arrays, bei denen die spezifischen Fängermoleküle analog den DNA-Mi croarrays auf engstem Raum in Reihen und Spalten auf Trägermaterialien aufgetragen werden, um definierte Proteine aus einem Pool an Proteinen herauszufischen und zu analysieren. Für die Analytik werden enorme Rechenleistungen benötigt. Diese sind derzeit jedoch so, dass die Analyse von definierten Proteinen Tage dauert. Bei der Analyse werden alle Proteine des Proteinpools spezifisch radioaktiv, mit Fluoreszenzfarbstoffen oder mit Biotin markiert und auf dem Microarray mit den Fänger-Molekülen in Kontakt gebracht. Mit entsprechenden Detektionsmethoden können die an den Fängermolekülen gebundenen markierten Proteine nachgewiesen werden. Daher hat die Vorbereitung des Experiments, insbesondere das Design des Experiments einen großen Anteil am Wert des gesamten Experiments. Bei dem Design von Biochips gibt es daher einen großen Bedarf an spezialisierter Rechner bzw. Rechnerleistung.
Beim Design des Experiments müssen mit Computerunterstützung große und unterschiedliche Datenbanken gescreent werden um den Chipcontent festzulegen. Biochips können beispielsweise zur Analytik von Peptiden und/oder DNA-Sequenzen verwendet werden. Dabei ist beispielsweise die Suche nach genau dem Liganden (Oligonukleotide, cDNA-Moleküle, Antikörper) die nach ihrer Immobilisierung auf dem Chip ihren molekularen Partner aus der Probe des Patienten exakt binden, ohne zu sehr mit anderen Molekülen auf dem Chip um die Anlagung eines Partners konkurrieren, von zentraler Bedeutung. Es müssen also möglichst viele strukturelle Details in die Analyse mit eingehen, damit der richtige Chipinhalt ausgewählt und falsche Ergebnisse vermieden werden können.
Durch eine computergestützte Vorbereitung des Experiments lassen sich die experimentellen Bedingungen und insbesondere die Auswahl von Primern in Abhängigkeit von der Art des Biochips optimieren. In vertretbarer Zeit können so Experimente optimal vorbereitet werden und es kann eine Basis geschaffen werden, von der ausgehend eine richtige Interpretation der Meßpunkte ermöglicht wird.
Beispielsweise werden beim Durchsuchen von Datenbanken im allgemeinen Zieleigenschaften mit dem Inhalt der Datenbank verglichen. Ebenfalls sind bei der Optimierung von Experimenten Vergleichsbildungen durchzuführen. Bei solchen Vergleichsbildungen werden normalerweise verschiedene Kombinationen von Parametern gebildet und diese Kombinationen verschiedenen Bewertungsschritten unterzogen. Die Aufgabe der vorliegenden Erfindung bestand daher darin, ein Verfahren zur Verfügung zu stellen, das den Zeitaufwand beim Vergleich von n-Parameterfolgen noch weiter verkürzt, so dass komplexe Berechnungen einer Vielzahl von Daten einfach und schnell durchgeführt werden können.
Diese Aufgabe wird durch ein Verfahren zum Vergleich von n-Parameterfolgen gelöst, wobei ein Teil der Parameter aller Parameterfolgen nach einer vorher definierten Vorschrift untereinander zu Parameterkombinationen kombiniert werden und jeder Parameterkombination nach einer vorher definierten ersten Bewertungsvorschrift ein erster Wert zugeordnet wird, und das Ergebnis der Bewertungsvorschrift eine einer Messung zugänglichen Eigenschaft entspricht, wobei die Kombinationen aus den Parametern der n Parameterfolgen eine m-dimensionale Matrix bilden und ein Teil dieser m-dimensionalen Matrix einer Matrix entspricht, die arithmetische logische Recheneinheiten umfaßt.
Zum besseren Verständnis der vorliegenden Erfindung sind nachstehend die wesentlichen erfindungsgemäß verwendeten Begriffe definiert:
Eine „vorher definierte Vorschrift" im Sinne der Erfindung bedeutet beispielsweise vorgegebene Anweisungen für die Bildung der Parameterkombinationen, die in Form einer Rechenvorschrift innerhalb eines Rechenprogramms oder als Teil der Computerarchitektur in Form von integrierten Schaltkreisen vorliegen können. Weiterhin können die Anweisungen für die Bildung der Parameterkombinationen biologisch, chemisch, physikalisch vorgegeben sein oder von zufälliger Art sein oder auch Kombinationen davon sein. Die vorher definierte Vorschrift liegt dabei im allgemeinen schon vor der Bildung der Parameterkombinationen vor. Eine „vorher definierte erste Bewertungs Vorschrift" im Sinne der Erfindung bedeutet, dass die Bewertungsvorschrift im allgemeinen vor der Durchführung der Bewertung vorhanden ist, und die Bewertungsvorschrift für jede der möglichen Parameterkombinationen gleich oder verschieden sein kann. Die Bewertungsvorschrift bewirkt, dass einer oder mehreren Parameterkombinationen jeweils ein oder mehrere Werte zugewiesen werden. Vor allem bei Kombinationen aus mehr als zwei Parametern kann die Zuweisung mehrerer Werte nützlich sein. Die Bewertungsvorschrift kann in Form von Bewertungsanweisungen innerhalb eines Rechenprogramms oder als Teil der Computerarchitektur in Form von integrierten Schaltkreisen vorliegen. Weiterhin kann die Bewertungs Vorschrift für die Bewertung der Parameterkombinationen biologisch, chemisch, oder physikalisch vorgegeben sein oder von zufälliger Art sein oder auch als Kombinationen davon vorgegeben sein. Beispielsweise könnte die Bewertungsvorschrift in einem biologischen und/oder chemischen System codiert sein. In einem solchen System wird die Bewertung durch die Struktur und Art der Moleküle codiert und die Bewertungsvorschrift durch gegenseitige Beeinflussung der Moleküle ausgeführt.
Unter dem Begriff „Ergebnis" versteht man erfindungsgemäß die den Parameterkombinationen zugewiesenen Werte. Beispielsweise kann das Ergebnis der Bewertungsvorschrift ein Maß für das Zusammenpassen („Matching") der Parameter in den einzelnen Parameterfolgen liefern. Handelt es sich bei den Parametern beispielsweise um Basen von Oligonukeotidsequenzen, so kann das Ergebnis der Bewertung der Basenkombinationen ein Maß für die Bindungsstärke der jeweiligen Basenkombination umfassen. Werden andererseits Parameter miteinander kombiniert, die Teilen von Molekülen (Atome oder funktionelle Gruppen) entsprechen, wobei die Moleküle zum Beispiel Oligonukleotide und/oder Proteine sein können, so kann das Ergebnis der Bewertung, in Abhängigkeit von der Bewertungsvorschrift, ein Maß für die Bindungsfähigkeit zwischen den Parametern in einer Kombination sein oder beispielsweise auch ein Maß für die Übereinstimmung der Parameter sein. In einem anderen nicht beschränkenden Ausführungsbeispiel werden auf dem Gebiet der Bildverarbeitung Parameterfolgen, die Zeichenketten enthalten, miteinander mittels des erfindungsgemäßen Verfahrens verglichen. Solche Zeichenketten können beispielsweise Bildausschnitte oder auch Wort bzw. Wortfolgen darstellen (beispielsweise entsprechen die Parameter dann Grau- oder Farbstufen). Bei der Bildverarbeitung liefert der Vergleich von Zeichenketten als Ergebnis dann beispielsweise ein Maß für die Übereinstimmung und damit kann dem Ergebnis eine Eigenschaft zugeordnet werden, die besagt, dass eine bestimmter Parametersatz einem Bildausschnitt entspricht, dem eine Bedeutung wie zum Beispiel Straße oder Haus zukommt.
Eine „einer Messung zugängliche Eigenschaft" im Sinne der Erfindung bedeutet, dass mit Hilfe einer Meßmethode und geeigneten Systemen ein oder mehrere Messergebnisse erhalten werden, die nach geeigneten Manipulationen einer Eigenschaft des Ergebnisses der Erfindung entsprechen. Die Meßmethode kann dabei biologischer, chemischer oder physikalischer Natur sein, Beispielsweise entspricht dem Ergebnis der ersten Bewertungsvorschrift im Falle eines beispielhaft verstandenen Verfahrens zur Selektion von Primern den Bindungsstärken zwischen den durch Kombination gebildeten Basenpaaren. Das heißt, die einer Messung zugängliche Eigenschaft ist die Wahrscheinlichkeit für Bildung einer chemischen Bindung, bzw. ein Maß für die Stärke der entstandenen chemischen Bindung, oder aber es können die Wahrscheinlichkeiten für das Vorkommen der den Parameterkombinationen entsprechenden gepaarten Oligonukleotidsequenzen sein. Solche Vorkommenswahrscheinlichkeiten für Bindungsbildungen lassen sich beispielsweise mit Gel-Elektrophorese oder Resonanzmethoden (NMR, ESR, μ-SR etc.) nachweisen. Durch Vergleich (beispielsweise Differenzbildung) der Messergebnisse von Systemen mit Bindungsbildungen mit Referenzsystemen ohne Bindungsbildungen werden die den Vorkommenswahr- scheinlichkeiten entsprechenden Messergebnisse erhalten. Im Falle der Bildverarbeitung entsprechen dem Ergebnis, wie beispielsweise die Wahrscheinlichkeit für das Vorhandensein eines bestimmten Gegenstandes (zum Beispiel ein Haus), verschiedene Eigenschaften, wie zum Beispiel Temperatur usw.. Diese Eigenschaft ist geeigneten Meßmethoden, wie zum Beispiel Wärmebildkameraaufnahmen zugänglich.
Eine „m-dimensionale Matrix" im Sinne der Erfindung bedeutet, dass sich im allgemeinen die gebildeten Parameterkombinationen als Matrix oder Teil einer Matrix darstellen lassen, beziehungsweise, dass bei der Bildung der Parameterkombinationen eine Matrix oder ein Teil einer Matrix entsteht. Dabei stellt jedes Matrixelement der entstandenen Matrix oder des entstandenen Teils einer Matrix eine Parameterkombination dar. Die Dimension m der Matrix übersteigt üblicherweise nicht die Anzahl n der Parameterfolgen.
Eine „arithmetisch-logische Recheneinheit" im Sinne der Erfindung bedeutet ein Matrixbeziehungsweise ein Verarbeitungselement, welches in der Lage ist, beispielsweise beliebige Vergleichs-, logische oder arithmetische Operationen durchzuführen. Nicht einschränkende Ausführungsbeispiele für erfindungsgemäße arithmetisch-logische Recheneinheiten sind in der nachstehenden Beschreibung aufgeführt. Das Verarbeitungselement kann dabei biologischer, chemischer oder physikalischer Natur oder Kombinationen davon sein. Ebenso führen die arithmetisch-logischen Recheneinheiten natürlich auch die Bewertung der gebildeten Parameterkombination durch.
Eine „Matrix, die arithmetische logische Recheneinheiten umfaßt" bedeutet erfindungs gemäß eine Logikeinheit, die bevorzugt zur parallelen Datenverarbeitung ausgelegt ist. Nicht einschränkende Ausführungsbeispiele für erfindungsgemäße Matrizen, die arithmetisch-logische Recheneinheiten umfassen sind in der nachstehenden Beschreibung aufgeführt. Durch das erfindungsgemäße Verfahren lässt sich die Geschwindigkeit der Auswertung, beispielsweise bei der Suche nach optimalen physikalischen Eigenschaften eines gesuchten Oligonukleotids, eines Peptids oder ähnlicher Materialien bis um den Faktor 1000 gegenüber herkömmlichen Verfahren beschleunigen.
Bevorzugt ist, wenn die Bildung aller oder eines Teils der Parameterkombinationen gleichzeitig, beispielsweise parallel, in sogenannten Pipelines (in einer Computer-Pipeline wird eine Instruktionsausführung in mehrere Verarbeitungsschritte aufgegliedert, die jeweils von einem dafür bestimmten Stück Hardware abgewickelt werden und alle parallel ablaufen. Die Pipeline entspricht einem Fließband, wobei in jedem Taktzyklus eine Instruktion vervollständigt werden kann) durchgeführt wird, das heißt die gepipelineten Daten werden parallel verarbeitet. Durch den Einsatz des Pipelinings werden Beschleunigungsfaktoren zwischen 10 und 100 im Vergleich zum Einsatz herkömmlicher Verfahren erreicht.
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt die Bewertung aller oder eines Teils der Parameterkombinationen ebenfalls gleichzeitig, beispielsweise parallel in Pipelines. Dadurch kann die Geschwindigkeit des Verfahrens bis zum Erhalt eines Ergebnisses ebenfalls noch um Beschleunigungsfaktoren zwischen 100 und 1000 gesteigert werden.
Bevorzugt erfolgt die Bewertung der gebildeten Parameterkombinationen durch die arithmetischen logischen Recheneinheiten. Dadurch kann beispielsweise jede arithmetische logische Recheneinheit eine individuelle Bewertungsvorschrift ausführen und die Parameterkombinationen können je nach Art oder physikalischer Bedeutung der Parameter individuell sinnvoll bewertet werden. Vorteilhafterweise können die ersten Werte für alle Parameterkombinationen aus den n Parameterfolgen nach einer weiteren Bewertungsvorschrift weiterverarbeitet werden. Damit kann das Ergebnis aus der ersten Bewertungen durch eine weitere Bewertungsvorschrift, die beispielsweise Anweisungen für Summenbildungen oder Extremwertsuchen enthält, weiter verarbeitet werden und beispielsweise auf ein einfacheres zweites Ergebnis reduziert werden. Dieses Ergebnis kann dann noch weiterverarbeitet werden oder auch beispielsweise schon einem Molekül entsprechen, welches die gewünschten Eigenschaften, die in den Bewertungsvorschriften geeignet codiert sind, besitzt.
Besonders bevorzugt wird jede einzelne und/oder mehrere Kombinationen der Parameter in einer oder mehreren logischen Recheneinheiten gebildet und/oder bewertet, beispielsweise in unterschiedlich geprägten Pipelines (eine Pipeline führt z.B. eine Summenbildung, eine andere führt Vergleiche durch, etc.). Dadurch wird die Geschwindigkeit bis um den Faktor 100-1000 im Vergleich zum Einsatz herkömmlicher Verfahren gesteigert.
Vorteilhafterweise ist n eine ganze Zahl, die größer oder gleich 2 ist. So können zwei Parameterfolgen oder auch wesentlich mehr Parameterfolgen miteinander verglichen werden.
In einer weiteren vorteilhaften Ausführungsform des Verfahrens besteht jede Folge von Parametern aus einer Abfolge von diskreten Parametern. Dadurch können beliebige Parameterkombinationen direkt durch Kombination der diskreten Parameter aus den Parameterfolgen gebildet werden. Bevorzugt umfassen Folgen die gleiche und/oder eine unterschiedliche Anzahl von Parametern. Dadurch können auch Folgen, die beispielsweise verschiedenen Stoffen oder verschiedenen Molekülen oder Molekülteilen entsprechen miteinander verglichen werden.
Vorteilhafterweise weisen die Folgen eine bestimmte vorab definierte Anordnung der Parameter innerhalb der Folgen auf. Damit sind beispielsweise Stoffe oder Moleküle in ihrem Aufbau definiert.
Bevorzugt weisen die Parameter eine einer Messung zugängliche Eigenschaft auf. Dadurch können beispielsweise die Parameter Eigenschaften von Messwerten (zum Beispiel Temperatur, Druck) aufweisen und/oder auch ganzen oder teilweisen biologischen Gebilden wie zum Beispiel Zellen entsprechen und/oder Teilen von Substanzen wie zum Beispiel den Basen von Primern entsprechen.
Besonders bevorzugt können die Werte aus der ersten Zuordnung von Werten (erste Bewertungsvorschrift) weiteren Bewertungs Vorschriften unterworfen werden. Damit kann das Ergebnis aus der ersten Bewertung weiter verarbeitet werden, wobei es beliebig viele weitere Zwischenergebnisse geben kann, bis schließlich ein Endergebnis zu Verfügung gestellt wird. In die weiteren Bewertungsschritte können verschiedene Auswahlkriterien für die Gestaltung, Bildung von/oder zur Selektion von Stoffen mit einfließen.
Vorteilhafterweise weist das Ergebnis eine einer Messung zugängliche Eigenschaft auf. So kann das Ergebnis beispielsweise ein oder mehrere Moleküle umfassen, welche beispielsweise bestimmte gewünschte Eigenschaften besitzen und/oder auch beispielsweise Eigenschaften, die mit dem/den Molekül/en in Zusammenhang stehen umfassen. Bevorzugt dient das Verfahren zum Vergleich von n Parameterfolgen zur Gestaltung, Bildung, Design von/oder zur Selektion von Stoffen. Dadurch können Parameterfolgen beispielsweise aus Stoffdatenbanken, die Stoffdaten enthalten durch geeignete Bewertungsschritte im Hinblick auf gewünschte Eigenschaften analysiert werden, wobei dann beispielsweise Stoffe selektiert oder designt oder neu gebildet bzw. gestaltet werden können.
Vorteilhafterweise sind die Stoffe biologische Moleküle. Dadurch kann beispielsweise das das Design von geeigneten Biochips evaluiert werden, oder beispielsweise auch biologische Eigenschaften Gensequenzen zugeordnet werden.
Bevorzugt sind die Moleküle Oligonukleotide. Dadurch werden bevorzugt beispielsweise Primer einfach designt oder selektiert werden.
Besonders bevorzugt umfassen die Parameter in den Parameterfolgen der Schritte des Verfahrens die Basen der Oligonukleotide. Dadurch entsprechen die Parameterkombinationen Kombinationen von einfach zugänglichen und identifizierbaren Basen.
Vorteilhafterweise werden die Parameterkombinationen dadurch gebildet, indem jeweils zwei Parameterfolgen, der n Parameterfolgen zueinander einen Teil aller möglichen Anordnungen durchlaufen, und wobei die Anordnungen durch Verschiebung um jeweils einen diskreten Parameter zustande kommen. Eine Anordnung im Sinne der Erfindung kann sowohl eine räumliche Anordnung der Parameter, als auch eine beliebige Permutation der Parameter in n-dimensionalen realen oder virtuellen Räumen bedeuten. Dadurch können beispielsweise jeweils zwei Primer bei einer bestimmten Anordnung so miteinander in Wechselwirkung treten, dass es zu Kombination von Basen oder auch anderer Eigenschaften kommen kann. Durch das Verschieben der Primer um einen diskreten Parameter können alle sinnvollen Anordnungen durchlaufen werden.
Bevorzugt umfassen die Parameterkombinationen aus dem Teil aller möglichen Anordnungen der Parameterfolgen Basenpaare. Dadurch können beispielsweise chemische Wechselwirkungen wie Wasserstoffbrückenbindungen zwischen den Basen eines Basenpaares bewertet werden.
Besonders bevorzugt wird den Basenpaaren ein hierarchisierbarer Wert zugeordnet. Damit können beispielsweise chemische Wechselwirkungen im Hinblick auf die Stabilität der möglicherweise gebildeten Bindung bewertet werden.
Vorteilhafterweise wird ein Teil der Parameterkombinationen gleichzeitig gebildet und diesem Teil und/oder einem Teil dieser gleichzeitig gebildeten Kombinationen zur gleichen Zeit ein hierarchisierbarer Wert zugeordnet. Dadurch wird die Geschwindigkeit bis um Faktoren von 10-100 im Vergleich zum Einsatz herkömmlicher Verfahren gesteigert.
Bevorzugt entspricht der zugeordnete Wert der Bindungsstärke der chemischen Bindung zwischen den komplementären Basen zwischen Primer und einer Oligonukleotidsequenz. Dadurch kann die Bindungsstärke als Basis für mögliche weitere Berechnungen, die der Selektion von beispielsweise Oligonukleotiden oder Primern dienen, herangezogen werden.
Besonders bevorzugt werden die, den Bindungsstärken entsprechenden Werte weiteren Berechnungsverfahren unterzogen, so dass das Ergebnis ein oder mehrere Auswahlkriterien für ein oder mehrere Oligonukleotide darstellt. Damit können Oligonukeotide, die den gewünschten Bindungseigenschaften entsprechen ausgewählt werden.
Die Aufgabe der vorliegenden Erfindung wird weiter durch eine Vorrichtung zur Durchführung des erfindungsgemäßen Verfahrens gelöst, wobei die Vorrichtung einen Prozessor und einen Hardware-Beschleuniger zur parallelen Datenverarbeitung und einen Speicher, der mit dem Prozessor und/oder dem Hardwarebeschleuniger gekoppelt ist, umfasst, um das Verfahren oder Schritte des erfindungsgemäßen Verfahrens durchzuführen. Damit kann eine Vielzahl von Befehlen zur Ausführung des erfindungsgemäßen Verfahrens in den Hardwarebeschleuniger ausgelagert werden, was die Geschwindigkeit der Datenverarbeitung signifikant erhöht.
Die spezielle Hardwarestruktur erlaubt somit die parallele, das heißt gleichzeitige Durchführung von vielen Rechenoperationen auf einen Schritt, wodurch auch hier die Geschwindigkeit der Verarbeitung der Daten entsprechend gesteigert wird.
Bevorzugt weist der Speicher einen Teil der Programmbefehle zum Ausführen des Verfahrens und/oder für den Betrieb der Vorrichtung auf, wodurch das Verfahren direkt und ohne Verzögerung ausgeführt werden kann und somit auch hier die Geschwindigkeit der Bearbeitung der Daten entsprechend gesteigert werden kann.
Vorteilhafterweise ist der Hardwarebeschleuniger mit dem Prozessor gekoppelt. Durch die Kopplung des Hardwarebeschleunigers mit der CPU ist man in der Lage, rechenintensive Prozesse auf den Hardwarebeschleuniger auszulagern. Eine enge Kopplung ist notwendig, um einen schnellen Datenaustausch zwischen CPU und Hardwarebeschleuniger durchzuführen. Besonders bevorzugt enthält der Hardwarebeschleuniger einen Logikbaustein zur parallelen Datenverarbeitung. Durch den Einsatz eines Logikbausteins wird die Ausführung der Berechnungen des Verfahrens direkt mit dem Logikbaustein kodiert und unter Berücksichtigung einer parallelen und gepipelinter Ausführung der Operation wird die Geschwindigkeit bei der Ausführung um einen Faktor 100-1000 im Vergleich zum Einsatz herkömmlicher Verfahren erreicht.
Bevorzugt ist der Logikbaustein ein programmierbarer Logikbaustein. Dadurch ist eine besondere Flexibilität in den Bewertungs Vorschriften bei den verschiedenen Bewertungsschritten erreichbar.
Vorzugsweise ist der programmierbare Logikbaustein ein field-programmable-gate-array (FPGA). Der FPGA besitzt eine besondere Flexibilität im Bezug auf die Auswahl der Bewertungsvorschrift und ist somit in der Lage, diese in nur wenigen Millisekunden zu wechseln. Zudem ist die interne Struktur des FPGAs besonders geeignet, um die Verarbeitungsmatrix und die Bewertungsvorschrift parallel und gepipelined auszuführen. Daraus ergibt sich ein Geschwindigkeitsfaktor von 100-1000.
Bevorzugt ist der Logikbaustein ein ASIC. Die Ausführung als ASIC ist besonders bei einem sich nicht weiter veränderten Verfahren von Vorteil, da durch den Einsatz eines ASICs eine höhere Verarbeitungsgeschwindigkeit erreicht werden kann und aufgrund der höheren Packungsdichte weniger Siliziumfläche benötigt wird.
Besonders bevorzugt enthält die Vorrichtung eine computerlesbare Speichereinheit oder ein computerlesbares Speichermedium. Diese können sowohl in einem Host Rechner und/oder in dem Hardwarebeschleuniger angeordnet sein. Durch den Einsatz des Speichers werden die zu verarbeitenden Daten gespeichert und können während der Berechnungsvorschrift schnell und ohne große Verzögerung direkt für die Berechnungen eingesetzt werden. Der Speicher auf dem Host Prozessor enthält neben den Daten auch die Programmbefehle und kann auch dort ohne Verzögerungen arbeiten.
Vorteilhafterweise umfaßt die Speichereinheit oder das Speichermedium aufgezeichnete Daten der Parameterfolgen des Verfahrens. Der Vorteil, der sich durch die Speicherung der Daten der Parameterfolge ergibt, ist zum einen der direkte und nicht verzögerte Zugriff auf die Daten. Zum anderen kann der Speicher auf dem Hardwarebeschleuniger sowohl für die zu verarbeitenden Daten und gleichzeitig auch für die Ergebnisdaten genutzt werden. Dieser Speicher wird somit zweimal verwendet.
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
Vorteilhafte, nicht einschränkende, Ausgestaltungen der Erfindung, sind weiter in den Zeichnungen und der dazugehörigen Beschreibung erläutert. Hierbei zeigen:
Fig. 1 eine schematische Darstellung der erfindungsgemäßen Vorrichtung;
Fig. 2 den Aufbau eines Verarbeitungselements (Matrixzelle); Figur 3 eine schematische Darstellung der erfindungsgemäßen Vorrichtung und den
Ablauf des erfϊndungsgemäßen Verfahrens darin;
Figur 4 ein Flussdiagramm zur Darstellung des Ablaufs des erfindungsgemäßen
Verfahrens;
Figur 5a einen Ausschnitt aus dem schematisierten Verfahrensablauf;
Figur 5b eine Matrix der erfindungsgemäßen Vorrichtung und das darin ablaufende
Verfahren beim Vergleich zweier Oligonukleotidketten.
Figur 1 zeigt eine schematische Darstellung der erfindungsgemäßen Vorrichtung 100. Die erfindungsgemäße Vorrichtung .100 umfaßt dabei eine Kombination einer CPU (central processing unit) 101 in Kombination mit einem Hardwarebeschleuniger 102, wobei diese beiden Komponenten 101 und 102 über eine Schnittstelle 103 miteinander verbunden sind.
Die CPU 101 kann sich in einem nicht dargestellten sogenannten Host-Computer befinden. Der Host-Computer kann dabei beispielsweise ein PC, eine Workstation, ein embedded processor oder ein Server sein oder aber auch in Peripheriegeräten, bsp. Analysegeräten vorliegen. Der Host-Computer umfaßt Komponenten wie CPU, Speicher, Ein/Ausgabegeräte und/oder weitere dem Fachmann an sich bekannte Peripheriegeräte, sowie Busse und Schnittstellen. Ein Anwendungsablauf mit der erfindungsgemäßen Vorrichtung 100 erfolgt folgendermaßen: Daten werden durch einen Benutzer in den Host- Computer eingegeben und/oder aus schon vorhandenen Dateien gelesen. Die dort eingegebenen Daten können auf dem Host-Computer in der CPU 101 vorverarbeitet werden oder alternativ dazu im Hardwarebeschleuniger 102 Die vorverarbeiteten Daten werden dann über die Schnittstelle 103 an den Hardwarebeschleuniger 102 übertragen. Auf dem Hardwarebeschleuniger 102 erfolgt die Berechnung dieser Daten unter Verwendung einer oder mehrerer in Figur 1 nicht dargestellter Logikeinheiten oder in einer in Figur 1 ebenfalls nicht dargestellten parallelen Struktur zur parallelen Datenverarbeitung. Nach Beendigung der Berechnung werden die Ergebnisdaten über die Schnittstelle 103 an den Host-Computer/CPU 101 zurück übertragen. Dort erfolgt eine Nachbearbeitung der Daten und die Ergebnisse werden einem Benutzer auf einem Bildschirm angezeigt und vorzugsweise in einer Datei abgespeichert.
Die Komponenten der erfindungsgemäßen Vorrichtung 101 sind nachstehend weiter erläutert:
CPU 101:
Unter CPU wird eine „Central Processing Unit", das heißt eine zentrale Recheneinheit verstanden. Die CPU 101 führt in den Hauptspeicher geladene Programme aus. Die CPU 101 ruft die Anweisungen der Programme ab, prüft sie und führt sie nacheinander aus. Die CPU 101 kann verschiedene Komponenten umfassen, wie zum Beispiel eine Steuereinheit, eine arithmetische logische Einheit (ALU) und Register. Die Komponenten sind über einen Bus miteinander verbunden. Er besteht aus mehreren parallel verlaufenden Leitungen für die Übertragung von Adressen, Daten und Steuersignalen. Busse können auch außerhalb der CPU liegen und verbinden diese mit dem Speicher und verschiedenen Ein- /Ausgabegeräten. Die CPU 101 kann weiterhin vorzugsweise standardisierte Schnittstellen zu Gerätekomponenten wie beispielsweise einem Hardwarebeschleuniger aufweisen. Die CPU 101 kann eine herkömmliche CPU sein, die sich auf einem einzigen herkömmlichen CPU-Chip befindet, wie zum Beispiel ein INTEL Pentium I/II/III/IV Prozessor-Chip, Intel PowerPC, embedded Prozessor strongARM von ARM.
Schnittstelle 103:
Weiter ist in der erfindungsgemäßen Vorrichtung gemäß Figur 1 eine Schnittstelle 103 dargestellt. Die Schnittstelle 103 hat die Aufgabe, eine bidirektionale Datenübertragung zu ermöglichen. Alternativ dazu sind natürlich auch zwei unidirektionale Verbindungen möglich. In dem erfindungsgemäßen Zusammenhang bedeutet „bidirektionale Datenübertragung", dass sowohl Daten von Host-Computer/CPU 101 auf den Hardwarebeschleuniger 102, als auch von Hardwarebeschleuniger 102 auf den Host- Computer/CPU 101 übertragen werden können.
Schnittstellen 103 im Sinne der Erfindung sind beispielsweise ein PCI Bus oder sie können auch Bestandteil der CPU 101 des Host-Computers oder Bestandteil der parallelen Recheneinheit im Hardwarebeschleuniger 102 sein, sind aber nicht beschränkt darauf. Unter einem PCI Bus versteht man einen sogenannten „Peripheral Component Interconnect" Bus. In der erfindungsgemäßen Vorrichtung 100 wird dieser Bus zur Kommunikation von CPU 101 und Hardwarebeschleunigerl02 eingesetzt. An den PCI Bus können auch weitere Geräte angeschlossen werden. Außerdem können weitere solcher Busse in der Vorrichtung enthalten sein, die zur Kommunikation auch zwischen anderen Gerätekomponenten dienen. Der PCI Bus ist ein sehr beliebter Bus, der sich praktisch in jedem Intel-basierten Computer seit dem Pentium befindet. Der PCI Bus wird ausführlich in Shanley, T. und Anderson, D.: PCI System Architecture, 3. Aufl., Reading, MA, Addison-Wesley, 1995b und Solari E. und Willse, G.: PCI Hardware and Software Architecture and Design, 4. Aufl. San Diego, CA, Annabooks 1998 beschrieben. Der PCI Bus läuft mit ungefähr 32/33 oder aber auch 64/66 MHz, was einer Zykluszeit von 15 ns entspricht. Er handhabt 32 oder 64-Bit-Transfers, das heißt, es werden 32 bzw. 64 Bit pro Zyklus befordert. Er hat eine sehr hohe Bandbreite von insgesamt 528 Mbyte/s.
Andere mögliche Schnittstellen können beispielsweise ein ISA Bus (ISA bedeutet „Industry Standard Architecture") oder ein EISA Bus (EISA bedeutet „Extended ISA"), USB, PCI-X, Fire Wire, PCMCIA, ein Bussystem innerhalb eines Systems-on-a-Chip, Verbindungsnetzwerk auf dem Chip Die sein. Dabei können die Schnittstellen Bestandteil einer CPU oder eines Prozessors zur parallelen Datenverarbeitung sein.
Hardwarebeschleuniger 102:
Weiter ist in der erfindungsgemäßen Vorrichtung 100 gemäß Figur 1 ein Hardwarebeschleuniger 102 dargestellt. Der Hardwarebeschleuniger 102, der auch mit dem Begriff „Koprozessor" bezeichnet werden kann, kann eine Vielzahl von Komponenten umfassen. Kern des Hardwarebeschleunigers 102 ist eine in Figur 1 nicht dargestellte Logikeinheit zur parallelen Datenverarbeitung. Diese Logikeinheit kann beispielsweise aus ein oder mehreren programmierbare FPGA-Chips (FPGA bedeutet „Field Programmable Gate Array, siehe auch The Programmable Logic Data Book, 1999; Xilinx Inc. 2100 Logic Drive, San Jose, California 95124, USA), ein oder mehreren hybriden FPGA-Chips, ein oder mehreren ASIC-Chips, Logikbausteinen, analogen Schaltungen oder CPU-Clustern oder aus Kombinationen davon zusammengesetzt sein. Unter einem hybrider Chip versteht man eine Kombination aus einem „traditionellen" CPU und einem FPGA Baustein. Diese beiden Prozessorelemente sind in einem Gehäuse untergebracht. Der Datenaustausch zwischen der CPU und dem FPGA Gore wird über entsprechende Interconnects ausgeführt. (Xilinx Virtex II Pro Data Book http://www.xilinx.com/publications/products/v2pro/ds pdf/ds083.htm )
Falls im Hardwarebeschleuniger ein FPGA-Chip zum Einsatz kommt, so sind für den Betrieb des Hardwarebeschleunigers folgende Komponenten typischerweise, aber nicht ausschließlich, notwendig: ein FPGA-Baustein, ein RAM-Baustein, ein Takt-Generator, ein PCI-Schnittstellenbaustein, eine PCI-Karte, eine programmierbare Kontrolllogikeinheit sowie ein Betriebssystem. Bei anderen Hardwarebeschleunigerarchitekturen, beispielsweise bei der Verwendung eines ASICs oder eines CPU-Clusters werden verschiedene Bausteine nicht, beziehungsweise nicht in der vorstehenden Konfiguration oder aber andere Bausteine benötigt.
Die Parallelität in der erfindungsgemäßen Vorrichtung 100 kann auf verschiedenen Ebenen eingeführt werden. Auf der Instruktionsebene (Anweisungen) können zum Beispiel Pipelining (paralleles Verarbeiten in pipelines und paralleles pipelining) angewandt werden. Siehe Agerwala, T. und Cocke, J.: High Performance Induced Instruction Set Processors, IBM T.J. Watson Research Center Technical Report RC12434, 1987. Mit einem sogenannten „gepipelinten" Design kann die Leistung des Computers gegenüber einem rein sequenziellen Design um ungefähr einem Faktor 10-100 gesteigert werden. Um eine Leistungssteigerung mit einem Faktor 100 bis zu mehreren 1000 zu erzielen zu können, müssen jedoch eine Vielzahl von Instruktionspipelines parallel verwendet werden, die alle effizient miteinander arbeiten müssen. Im Rahmen der Erfindung wird neben der Parallelität der Datenverarbeitung auf Instruktionsebene besonders eine Parallelität der Datenverarbeitung in den Pipelines bevorzugt angewendet. Dabei kann die Parallelität der Datenverarbeitung durch gleichzeitiges Arbeiten vieler ALUs, die sich entweder auf einem Chip, wie beispielsweise auf einem FPGA-Chip, befinden und/oder, wie es bei Mehrprozessorsystemen oder Mehrrechnersystemen der Fall ist, auf viele Chips verteilt sind, bewirkt werden. Solche Mehrprozessor- oder Mehrrechnersysteme besitzen mehrere unabhängige CPUs, die als Teil eines größeren Systems arbeiten.
Die Datenübertragung von der CPU 101 zum Hardwarebeschleuniger 102 über die Schnittstelle 103 ist abhängig von der Richtung der Übertragung, die durch die Pfeile in Figur 1 zwischen der CPU 101 und dem Hardwarebeschleuniger 102 dargestellt sind und zwei nachstehende beschriebene zwei Datentransferwege umfassen, die jedoch nur beispielhafte aber nicht einschränkend verstanden werden sollen. Alternativ zu der Übertragung der Daten als Datenworte kann die Übertragung der Daten auch bitseriell erfolgen. Die Daten können als ASCII (Standardisierter Zeichensatz) Zeichenstrom, als binär kodierter Bitstrom oder unter Verwendung einer anderen geeigneten Kodierung übertragen werden. Auch eine Übertragung mit verschlüsselten Daten ist mit einzubeziehen.
Datentransfer 1: Der Datentransfer von der CPU 101 zum Hardwarebeschleuniger 102 benutzt ein in Figur 1 nicht dargestelltes Datenpaket, das von der CPU 101 auf den Hardwarebeschleuniger 102 übertragen wird. Das Datenpaket umfaßt beispielsweise einen sogenannten Header, der aus zwei Datenworten besteht und die Anzahl der nachfolgenden Daten und die Offset-Position, ab der die Daten in den ersten RAM gespeichert werden definiert. Die darauf folgenden Daten werden in einer aufsteigenden Reihenfolge in den RAM gespeichert. Natürlich ist jeder andere dazu äquivalente, dem Fachmann an sich bekannte Aufbau ebenfalls für den vorstehend beschriebenen Datentransfer geeignet.
Datentransfer 2: der Datentransfer vom Hardwarebeschleuniger 102 zur CPU 101 fordert die Daten durch das Schreiben eines Datenpakets, das nur einen Header enthält an. Die Daten werden dann von der CPU 101 direkt gelesen und im Speicher eines dazugehörigen Host-Computers abgelegt. Natürlich ist jeder andere dazu äquivalente, dem Fachmann an sich bekannte Aufbau ebenfalls für den vorstehend beschriebenen Datentransfer geeignet.
Vorteilhafterweise werden die Daten zwischen dem Host-Computer und dem Hardwarebeschleuniger per DMA Mode in einem Burst übertragen, um eine minimale Datenübertragungszeit erreiche, wobei natürlich auch andere, dem Fachmann an sich bekannte Übertragungsweisen erfindungsgemäß eingesetzt werden können. Figur 2 zeigt den Aufbau eines Matrixelements 200, das ein Bestandteil einer in Figur 2 nicht dargestellten Matrix ist. Diese Matrix wiederum ist Bestandteil eines in Figur 2 nicht dargestellten Hardwarebeschleunigers, beispielsweise eines Hardwarebeschleunigers 102 gemäß Figur 1. Die Pfeile in Figur 2 zeigen schematisch den Ablauf des erfindungsgemäßen Verfahrens in einem derartigen Matrixelement 200. Ein Matrixelement 200 definiert ein Verarbeitungselement innerhalb einer Prozessoreinheit in dem Hardwarebeschleuniger. Das Matrix- bzw. Verarbeitungselement in einer speziellen Ausführungsform ist beispielsweise eine 8-Bit-Multiplikator (Arithmetische Logische Einheit), es kann aber auch eine beliebige arithmetische und oder logische Einheit, oder eine CPU, mehrere Zellen, ein ASIC oder ein Cluster verschiedener oder gleicher Prozessoren sein. Es kann beispielsweise ebenfalls ein hybrider Chip sein. Unter einem hybriden Chip versteht man eine Kombination aus einer „traditionellen" CPU und einem FPGA-Baustein. Diese beiden Prozessorelemente sind in einem Gehäuse untergebracht. Der Datenaustausch zwischen der CPU und dem FPGA-Core wird über entsprechende Interconnects ausgeführt (siehe z.B. Xilinx Virtex II Pro Data Book http:// www.xilinx.com/publications/products/v2pro/ds pdf/ds083.htm . Ein Verarbeitungselement kann aus einer Gruppe von Registern (1 bis 32 Bit), die einen lokalen Speicher bilden, und einer arithmetischen logischen Schaltung, die man ALU nennt, zusammengesetzt sein. Die ALU kann einfache arithmetische Operationen durchführen. Die Register sind mit der ALU verbunden; dies ist der Datenweg, über den die Daten fließen. Als grundlegende Operation wählt der Datenweg eines oder zwei Register. Der Datenweg besteht weiterhin aus mehreren Bussen, die diese Teile miteinander verbinden. Die ALU selbst führt Additionen, Subtraktionen und andere einfache Operationen mit den ihr zugeführten Eingaben aus und liefert so, beispielsweise im Ausgaberegister, ein Ergebnis. Das Ergebnis kann auch in einen anderen Speicher abgelegt werden. Diese arithmetischen Rechenoperationen werden durch logische Schaltungen verwirklicht. Diese Schaltungen sind winzige Schaltelemente, die in integrierten Schaltchips, beispielsweise dem Chip der Matrix, die beispielsweise ein FPGA-Chip sein kann, einzeln oder in Kombination enthalten sind. Diese Schaltelemente, die man auch Gates nennt sind üblicherweise AND, EXOR, OR, NAND, NOR und NOT. AND, EXOR, OR, NAND und NOT sind, Symbole der Boolschen Algebra. Einfache Schaltungen können durch Kombination einzelner Gates realisiert werden. Die Komponenten von Speichern können Flip-Flop Schaltungen, oder auch Latches sein. Diese Schaltungen lassen sich zu mehreren und auch untereinander zu komplexeren Speichern kombinieren. Die verschiedenen Komponenten, wie Schaltungen für arithmetische Operationen und Speicher werden über Busse verbunden.
Der Pfeil A in Figur 2 stellt das i-te Element einer ersten in Figur 2 nicht dargestellten Parameterfolge 1 dar. In einer speziellen Ausführungsform ist das i-te Element beispielsweise eine Base eines Oligonukleotids, wie zum Beispiel eine DNA/RNA/LNA oder Chimären davon. Der Pfeil B in Figur 2 stellt das j-te Element einer zweiten ebenfalls in Figur 2 nicht dargestellten Parameterfolge 2 dar. Dabei können j und i gleich oder verschieden sein. In einer speziellen Ausführungsform ist das j-te Element beispielsweise eine Base eine Oligonukleotids, wie zum Beispiel einer DNA/RNA/LNA oder Chimären davon.
Die Parameterfolgen werden jeweils an die beiden Eingänge 208 für die Parameterfolge lund 209 für die Parameterfolge 2 der Matrix angelegt. Der Aufbau der Datenverarbeitung ist beispielsweise bei einem Vergleich so angelegt, dass mit jedem Takt ein Datenwort in die Matrix eingespeist werden kann. Innerhalb der einzelnen Zellen der Matrix werden die Vergleiche auf eine komplementäre Übereinstimmung ausgeführt. Dieser Vergleich wird über eine sogenannte LookUp Tabelle (LUT) ausgeführt, die als Ergebnis den Gewichtungsfaktor der Übereinstimmung ausgibt. Eine LUT (LookUp Table) entspricht einem ROM (Read Only Memory) oder einem RAM (Random Access Memory), das anwenderspezifisch Werte gespeichert hat. Beim Vergleich von mehreren möglichen Eingangsparametern ist man in der Lage, innerhalb eines Taktes eine Übereinstimmung oder eine komplementäre Übereinstimmung zu ermitteln und als Ergebnis auszugeben. Die zu vergleichenden Parameter werden dabei als Adressen an die LUT angelegt und der adressierte Wert, der für diese Adresse in der LUT gespeichert ist, entspricht dem Ergebnis des Vergleichs.
Bei der besonderen, vorstehend erwähnten Ausführungsform der Matrix sind die Parameterfolgen 1 und 2 Basen eines Oligonukleotids, wie zum Beispiel einer DNA/RNA/LNA oder Chimären davon. Dabei werden die einzelnen Basen der Parameterfolgen 1 und 2 mit jeweils zwei Bits kodiert und an die Matrixzelle 200 angelegt. Der Vergleicher ist als eine LookUp Tabelle angelegt, die einem ROM (Read Only Memory) oder einem RAM (Random Access Memory) entsprechen. Die beiden Inputs der beiden Parameterelemente i und j werden als Adresse der LookUp Tabelle verwendet. In dem adressierten Eintrag ist das Ergebnis kodiert, das dann sofort an den Ausgang weitergeleitet wird. Die Gewichtungsfunktion ist somit direkt mit dem Vergleich in der LookUp Tabelle integriert.
Ganz allgemein kann der Vergleich und die anschließende Gewichtung auch durch beliebige arithmetische Funktionen wie Addition, Multiplikation, usw. oder aber auch durch Kombinationen aus diesen entstehen. Auch die Gewichtung des Ausgangs kann eine komplexere Funktion darstellen, die zum Beispiel durch weitere Eingangssignale beeinflusst werden kann. Jede Matrixzelle 200 ermittelt das Ergebnis parallel und stellt es der nachfolgenden Stufe zur Verfügung. Das Register 207 zur Zwischenspeicherung der Ergebnisse ist optional.
Figur 3 zeigt eine detaillierte Darstellung der erfindungsgemäßen Vorrichtung 300. Es sind die beteiligten Komponenten innerhalb des Host-Computers 301, insbesondere der Host- Prozessor (CPU) 306, der Schnittstelle 304 und des Hardwarebeschleunigers 302 dargestellt. Weiterhin veranschaulicht Figur 3 den Ablauf des erfindungsgemäßen Verfahrens, insbesondere den Datenfluß in den Hardwarekomponenten der erfindungsgemäßen Vorrichtung 300.
Auf der Seite des Host-Prozessors 306 zeigt Figur 3 einen Arbeitsplatzrechner Host- Computer 301 mit einer üblichen, dem Fachmann an sich bekannten Ausstattung. Diese Ausstattung beinhaltet den Host-Computer 301, Eingabegeräte wie Maus und Tastatur 308, einen Monitor 307 als Anzeigegerät und eine Netzwerkkarte 309 und weiteren optionalen üblichen Hardwarekomponenten 310. Derartige Hardwarekomponenten 310 können Peripheriegeräte, wie zum Beispiel ein CD-ROM-Laufwerk, ein Diskettenlaufwerk, Videokarte, Grafikbeschleuniger, und ähnliches sein. Bei der Darstellung in Figur 3 handelt es sich um eine mögliche Konfiguration. Denkbar ist auch ein Host-Computer 301 mit nur einer Netzwerkkarte, der dann „Remote", das heißt durch entfernte Steuerung, über das Netzwerk von einem zweiten Rechner aus benutzt wird. Ebenso ist auch ein sogenanntes „embedded processing" mittels embedded Systems (eingebettete Systeme/Prozessoren) beispielsweise in peripheren Analysegeräten möglich. Auf der Seite des Hardwarebeschleunigers 302 zeigt die Figur 3 einen Hardwarebeschleuniger 302, der mit einem FPGA-Baustein 303 ausgestattet ist und mit den dafür notwendigen Komponenten. Natürlich sind auch mehrere FPGA Bausteine in einer erfindungsgemäßen Vorrichtung 302 einsetzbar. Im folgenden sind die Aufgabe und Funktionsweise der Komponenten erläutert: PCI-Schnittstellenbaustein 322 und PCI-Bus 304:
Bei dem PCI-Bus 304 handelt es sich um ein Medium, über das mehrere Karten/Geräte Daten austauschen. Der PCI-Schnittstellenbaustein 322 hat die Aufgabe, die Datenübertragung über den PCI-Bus 304 zu managen und nur die für den Hardwarebeschleuniger 302 relevanten Daten an die auf dem Hardwarebeschleuniger 302 angeschlossenen Bausteine weiterzuleiten.
Kontrolllogik 320:
Die Kontrolllogik 320 hat die Aufgabe, eine grundlegende Funktionalität zum Betreiben des Hardwarebeschleunigers 302 bereitzustellen. Zu dieser Funktionalität gehört u.a. die Konfiguration des FPGA-Bausteins 303. Diese Grundfunktionalität kann als ein „quasi Betriebssystem" für den Hardwarebeschleuniger 302 gesehen werden. Die Kontrolllogik 320 wird beispielsweise vom Host-Computer 301 aus oder direkt vom Hardwarebeschleuniger 302 angesteuert. Es gilt zu beachten, dass diese Kontrollogik 320 insbesondere beim Einsatz der FPGA-Technologie notwendig ist. In dem erfindungsgemäßen Hardwarebeschleuniger 303 wird bevorzugt eine programmierbare lokale oder externe (host library) Kontrolllogik 320 verwendet. Beim Einsatz eines Konfigurationsspeichers, z.B. eines EEPROM, der sich sowohl außerhalb, aber auch innerhalb, des FPGAs befinden kann, ist die Kontrolllogik nicht in vollem Umfang notwendig und kann für diese Fälle auch komplett entfallen.
Taktgenerator 321:
Zum Betreiben, insbesondere zum synchronen Betreiben, der Bausteine auf dem Hardwarebeschleuniger 302 ist ein Taktgenerator notwendig. Dieser kann in der Frequenz eingestellt werden. Der Taktgenerator 321 wird von Host-Computer 301 aus kontrolliert. Alternativ kann auch ein fest eingestellter Taktgenerator 321 zum Einsatz kommen. Der Taktgenerator 321 dient der Synchronisation digitaler Schaltungen. Mit Hilfe des Taktgenerators 321 können Zeitrelationen definiert werden, um beispielsweise die zeitliche Reihenfolge, in der Ereignisse passieren sollen festzulegen oder die Gleichzeitigkeit von Ereignissen zu synchronisieren.
RAM-Bausteine 305:
Mit Hilfe der RAM Bausteine 305 werden Daten gespeichert. Die RAM-Bausteine 305 können sowohl innerhalb des Prozessorelements als auch extern vorhanden sein. Ihre Anzahl ist beliebig wählbar und wird entsprechend den Rechenanforderungen ausgewählt sein.
Prozessor Element (FPGA) 303:
Die Matrix 325 im Hardwarebeschleuniger 302, die als Prozessor Element definiert ist kann in einer speziellen Ausführungsform der Erfindung ein FPGA-Baustein 303 sein. Ein FPGA-Baustein, bzw. -Prozessor gehört zu der Klasse der Arrayprozessoren. Ein Arrayprozessor basiert auf dem Grundkonzept, dass eine Steuereinheit zur Lenkung vieler Matrixelemente, die auch als Verarbeitungselemente definiert sind, Signale bereitstellt, das heißt sie sendet Instruktionen. Jedes Verarbeitungselement besteht aus einer CPU oder einer erweiterten ALU und kann einen lokalen Speicher besitzen. Da alle Teile von einer Steuereinheit gesteuert werden, marschieren die Verarbeitungselemente in dicht geschlossenen Gliedern. In dem in Figur 3 dargestellten Ausführungsbeispiel ist ein FPGA-Prozessor 303 dargestellt. Der bei dem Ausführungsbeispiel verwendete FPGA Baustein besitzt Verarbeitungselemente, die als Configurable Logic Block (CLB konfigurierbare logische Zellen) bezeichnet werden und die über eine oder mehrere 4 Bit LookUp Tabellen, eine oder mehrere 1 Bit Register und weitere logische Grundschaltungen verfügen. Die physikalische Matrixgröße der CLB ist typischerweise zwischen 10x10 und 106xl0 r>66.
Weitere nicht beschränkende Beispiele für die Matrix erfindungsgemäßer Verarbeitungselemente (FPGA Bausteine) sind in der nachfolgenden Tabelle 1 angegeben:
Tabelle 1: Beispiele für Verarbeitungselemente und deren Matrixgröße.
Figure imgf000034_0001
Ein Matrixelement besitzt dabei 4 x 4 Bit LUTs (The Programmable Logic Data Book 2000; Xilinx Inc.) Die Verarbeitungselemente aus Tabelle 1 sind von der Firma Xilinx erhältlich. Es versteht sich von selbst, dass erfindungsgemäß auch andere Verarbeitungselemente mit anderen, beispielsweise noch größeren Matrizen verwendet werden können.
Durch das Zusammenschalten mehrerer CLBs kann so innerhalb des FPGAs eine Verarbeitungsmatrix aufgebaut werden, deren physikalische Matrixgröße zwischen lxl und 106xl06, bevorzugt zwischen 16x16 und 30x30 liegt. Die Größe der Verarbeitungsmatrix und der einzelnen Matrixelemente selbst sind bevorzugt vorab fest definiert, aber auch variabel definiert. Innerhalb der Zellen der Verarbeitungsmatrix werden logische Vergleiche mittels einer LUT und den beiden anliegenden Werten ausgeführt. Natürlich ist jede logische oder arithmetische Operation, z.B. eine Multiplikation, innerhalb einer Zelle der Verarbeitungsmatrix denkbar und durch Zusammenschalten von zwei oder mehreren CLB des FPGA Bausteins erreichbar.
In einem FPGA-Prozessor 303 sind die Verarbeitungselemente innerhalb einer Matrix 325 angeordnet und sind auf komplexe Weise miteinander verbunden. Solche Prozessoren sind besonders geeignet für die Bearbeitung zweidimensionaler Probleme und passen besonders gut zu Matrizen. Sie lassen sich auch gut höherskalieren, indem weitere Prozessoren zu dem im Hardwarebeschleuniger vorhandenen Prozessoren hinzugefügt werden. Damit steigt die Rechenleistung an, das heißt es können damit wesentlich mehr Parameter zur gleichen Zeit bearbeitet werden. Die Hardware lässt sich damit an die Problemstellung anpassen: Durch die Anzahl und Anordnung der verwendeten Prozessoren können damit auch höherdimensionale Matrixprobleme bearbeitet werden, wie zum Beispiel bei einem gleichzeitigen Vergleich von mehr als zwei Parameterfolgen. Außerdem können mit einer größeren Anzahl an Prozessoren längere Parameterfolgen verarbeitet oder verglichen werden. Bei den erfindungsgemäßen Datenflussprozessoren kann entweder die Steuereinheit bestimmen, welche Instruktionen auszuführen sind, oder aber jedes Verarbeitungselement 303 selbst entscheiden, ob es eine Instruktion ausführen will oder nicht, meist auf der Grundlage lokaler Daten, wie Bedingungscodebits. In dem Ausführungsbeispiel in Figur 3 ist innerhalb des Prozessorelements 303 ein Ablaufcontroller 323 vorhanden. Dieser steuert den Datenfluß im Prozessorelement 303. Er steuert die Verarbeitungselemente und Speicherelemente 305, die sowohl innnerhalb des Prozessors 303 als auch extern vorhanden sein können.
Die Pfeile symbolisieren den Ablauf des erfindungsgemäßen Verfahrens in einer erfindungsgemäßen Vorrichtung 300.
Das erfindungsgemäße Verfahren wird weiter anhand eines Verfahrens zur Bestimmung von Primersequenzen beispielhaft veranschaulicht, ohne daß darunter eine Beschränkung des erfindungsgemäßen Verfahrens verstanden werden soll.
Für die Bestimmung der Primer werden zunächst jeweils zwei Sequenzbereiche aus jeder zu detektierenden Sequenz (Target Sequenz) ausgewählt. Diese Bereiche sind in der regel länger als der zu findende optimale Primer für jeweils eine Targetsequenz. Zusätzlich werden für die Bestimmung der Primer weitere Parameter berücksichtigt (u.a. Primerlänge, Temperatur etc.). Diese Parameter bestimmen die Auswahlkriterien für die Bewertungsfunktion. Innerhalb der Berechnung durchlaufen die potentiellen Primerkandidaten für jede gegebene Targetsequenz mehrere Berechnungsverfahren. Eines dieser Bewertungsverfahren ist der eins zu eins Vergleich einzelner Basenpaare. Die Teilergebnisse werden in einer Gesamtbewertung zu einem Ergebnis zusammengefügt. Die gesamte Berechnung unterteilt sich in zwei Stufen. In der ersten Stufe werden die einzelnen Primer separat evaluiert und die optimalen Primer ermittelt. In der zweiten Stufe wird die Interaktion zwischen den Primern jeder einzelnen Targetsequenz mit den Primern aller anderen Targetsequenzen untersucht.
Im folgenden wird die erste Stufe der Berechnung beschrieben. Dabei sind diese Berechnungen weiter unterteilt in die Bereiche a) Primergenerierung, b) Berechnung der Parameter des Primers c) Bewertung der ermittelten Werte. Diese drei Bereiche a), b) und c) werden in den nachfolgenden Abschnitten näher erläutert.
Die Primergenerierung,, das heißt die Zusammenstellung der Primer erfolgt folgendermaßen: Aus einer vorgegebenen DNA-Sequenz sind einzelne Primer zu extrahieren, die der Berechnung zugeführt werden. Die Extrahierung der Primer erfolgt auf der Basis der gegebenen DNA-Sequenz und der Längenvorgabe für die Primer. Für jede Länge wird eine vorab bestimmbare Anzahl an Primern erzeugt. Die Anzahl berechnet sich durch:
Anzahl Primer = (DNA-Sequenzlänge) - (Primerlänge) + 1
Bedingung: die DNA Sequenz ist länger, d.h. weist mehr Nukleosidbausteine auf als der Primer.
Beginnend an der ersten Sequenzposition werden die Primer ermittelt. Dieser Vorgang wird für jede gegebene Primerlänge wiederholt.
Ist die DNA Sequenz beispielsweise:
agtcagtcgatgcgatgtacgtgtacgta und soll die Primerlänge bei 10-11 Basen liegen, so werden folgende Primer ermittelt: 10 Basen besitzen sind folgenden Primer:
agtcagtcga, gtcagtcgat, tcagtcgatg,..., cgtgtacgta,
und 11 Basen besitzen die folgenden Primer:
agtcagtcgat, gtcagtcgatg, tcagtcgatgc,..., acgtgtacgta.
Es müssen nun die Parametersätze für das optimale Primerset bestimmt werden. Dazu gibt es folgende wichtige Randbedingungen: Die Primer dürfen nicht mit sich selbst binden, aber auch nicht mit den weiteren auf dem Chip. Die Primer dürfen ebenfalls nicht mit den Markern binden. Die erste und zweite Randbedingung gilt ebenfalls für Marker.
Bei der Berechnung werden alle möglichen Kombinationen des Primers (die durch die erste Stufe „Primergenerierung" ermittelt werden) mit den Reverse Primer untersucht.
Die zu berechnenden Parameter sind: a) Seif Annealing (SA), b) Seif End Annealing (SEA), c) Weitere Berechnungen (Zusatzfunktionalitäten wie beispielsweise Temperatur und GC- Verhältnis).
Die Berechnung der SA Werte wird durchgeführt, um eine Bindung (Reaktion) mit den gleichen Primer zu untersuchen. Erfolgt eine Bindung mit sich selbst, so wird die Bindung mit der zu suchenden Sequenz verhindert und ein falsches Untersuchungsergebnis wird produziert. Es gibt folgende Berechnungsvorschrift: Die Berechnung erfolgt durch die Ermittlung aller möglicher Kombinationen der Überlagerung. Bei der Ermittlung des SA- Wertes werden nur die komplementären Übereinstimmungen (A<=>T und C<= G) zusammengezählt. Bei der Aufsummierung ist es unerheblich, wo sich die Übereinstimmungen befinden. Nur das Vorhandensein einer Übereinstimmung ist relevant. Die Gewichtung der gefundenen Kombination ist unterschiedlich (A«=»T = 2; G<=>C = 4). Es versteht sich von selbst, dass im Rahmen der Erfindung auch andere Gewichtungen möglich sind. Aufgrund der biologischen Eigenschaften muß der Primer nur in der reversen Abfolge gegen den Primer getestet werden. Beispielsweise wird der zu untersuchende Primer mit den 4 Basen AGTC gegen den reversen Primer CTGA folgendermaßen getestet: Für die Berechnung von SA gibt es 7 Überlagerungen zu bilden. In dem Beispiel werden die ersten beiden zu bewertenden Überlagerungen gezeigt, die weiteren 5 Überlagerungen sind durch Verschiebung des Reverse Primers gegenüber dem zu untersuchenden Primer, um jeweils eine Base zu bilden. Die erste Überlagerung ist:
Zu untersuchender Primer:
Reverse Primer:
Figure imgf000039_0001
Die zweite Überlagerung ist:
Zu untersuchender Primer:
Reverse Primer:
Figure imgf000039_0002
Die insgesamt durchzuführenden Berechnungen für das Beispiel mit einer Länge von 4 Basen sind in der nachfolgenden Tabelle dargestellt:
Tabelle 1: Tabelle mit den für das 4 Basen Beispiel durchzuführenden Bewertungen bei der SA Berechnung
Figure imgf000040_0001
Übereinstimmungen sind fett markiert
Bei der Berechnung des SEA Wertes wird ebenfalls die Bindung der einzelnen Primer mit sich selbst getestet, um die Einsetzbarkeit des Primers zu bestimmen. Für die Berechnung der SEA Werte kommt ein sehr ähnliches Berechnungs verfahren wie im Fall der Bestimmung der SA Werte zur Anwendung. Für die Ermittlung der SEA werte sind nur die Primerkombinationen interessant, die am Ende des Primers beginnen. Das heißt, für die Berechnung sind nur die Primerkombinationen zu berücksichtigen, bei denen die letzte Base mit einer Base des Reverse Primers interagieren kann, die bis zum ersten Auftreten einer Nicht-Übereinstimmung gefunden werden. Alle nachfolgenden Übereinstimmungen werden nicht hinzugezählt..
Beispielsweise wird wieder, wie im Falle der SA Werte Berechnung, der zu untersuchende Primer mit den 4 Basen AGTC gegen den Reversen Primer CTGA folgendermaßen getestet: Für die Berechnung von SEA gibt es 4 Überlagerungen zu bilden. In dem Beispiel werden die ersten beiden zu bewertenden Überlagerungen gezeigt, die weiteren 2 Überlagerungen sind durch Verschiebung des Reverse Primers gegenüber dem zu untersuchenden Primer, um jeweils eine Base zu bilden. Die erste Überlagerung ist:
Zu untersuchender Primer:
Reverse Primer:
Figure imgf000041_0001
Die zweite Überlagerung ist:
Zu untersuchender Primer: A G
Reverse Primer: G A Im Gegensatz zu der Werteermittlung bei der SA Berechnung, werden bei der SEA Berechnung nur die Übereinstimmungen aufaddiert, die sich beginnend bei der letzten Position im Primer bis zum Vorkommen der ersten Nichtübereinstimmung ergeben. Übereinstimmungen nach dieser Position werden nicht mit addiert.
Die Gewichtung der gefundenen Übereinstimmungen ist identisch mit der bei der SA Berechnung.
Zur Verdeutlichung dieser Berechnung sind die sich ergebenden Berechnungen in der nachfolgenden Tabelle zusammengefasst.
Tabelle 2: Tabelle mit den für das 4 Basen Beispiel durchzuführenden Bewertungen bei der SEA Berechnung
Figure imgf000042_0001
Übereinstimmungen sind fett markiert Für jeden ermittelten Primer werden weitere Berechnungen ausgeführt, die für die spätere Gesamtbewertung des Primers hinzugezogen werden.
Die Bewertung der ermittelten Werte erfolgt für jeden in der ersten Stufe generierten Primer. Die ermittelten Werte für das SA und SEA und für die weiteren Berechnungen werden jeweils mit einem Gewichtungsfaktor zu einem Gesamtergebnis zusammengeführt. In einer speziellen Ausführungsform wird nur das erhaltenen Maximum als SA/SEA Wert übernommen und mit dem Gewichtungsfaktor addiert. Es versteht sich von selbst, daß eine andere Gewichtung und/oder Berechnungsvorschrift entsprechende Modifikationen erfordern , die der Fachmann ohne erfinderisch tätig zu werden sofort implementieren kann.
Zusätzlich zu der Ermittlung des Gesamtergebnisses werden die Einzelergebnisse mit den übergebenen Parametern verglichen. Die Parameter beschreiben dabei einen Bereich, in dem die Ergebnisse gültig sind. Bei einer Verletzung eines dieser Bereiche wird der berechnete Primer verworfen und als ungültig eingestuft.
Aus allen gültigen Werten werden die jeweils besten Primer ermittelt und für die Verarbeitung in der zweiten Stufe zwischengespeichert.
Im Folgenden wird die zweite Stufe der Berechnung beschrieben. Um die Interaktion zwischen Primern der einzelnen Spots, zwischen Primern und Primermarkern und zwischen den Markern zu bewerten, kommen wiederum die Berechnungsverfahren SA und SEA zum tragen.
In dieser Stufe werden jedoch nicht die gleichen Primer gegen sich selbst getestet, sondern jeweils ein Primer (entspricht einem Ergebnis aus der ersten Stufe) wird gegen einen anderen Primer verglichen. Es wird also ein paarweiser Vergleich über alle möglichen Primerkombinationen durchgeführt.
Die zu berechnenden Parameter sind a) Pair Annealing (PA) und b) Pair End Annealing (PEA)
Die Berechnungsverfahren für PA und PEA entsprechen im Wesentlichen mit den Verfahren bei der Ermittlung des SA und des SEA Wertes, wobei offensichtlich Abweichungen natürlich auch unter den Umfang der vorliegenden Erfindung fallen. Details der Berechnung sind vorstehend erläutert. Die Berechnungsverfahren sind im Grundsatz gleich, jedoch kann das Berechnungs verfahren für die PA und PEA Berechnung beispielsweise auch Primer mit unterschiedlicher Länge verarbeiten.
Für jeden ermittelten Primer werden wiederum weitere Berechnungen ausgeführt, die für die spätere Gesamtbewertung des Primers hinzugezogen werden. Im Folgenden wird dieser Verfahrensablauf mittels der erfindungsgemäßen Vorrichtung 300 durchgeführt. In dem speziellen nicht beschränkenden Ausführungsbeispiel wird das spezielle Verfahren der Primerbestimmung anhand von Figur 3 erläutert. Im nachfolgend beschriebenen Ausführungsbeispiel wurde das spezielle Verfahren zur Primerberechnung auf einem PC System (Pentium III 500 MHz) und einem FPGA Prozessor (microEnable 2 / 2 x 1 Mbyte RAM) umgesetzt. Dieses Ausführungsbeispiel beschreibt exemplarisch eine Umsetzung. Bei der Verwendung anderer Komponenten ändert sich natürlich das nachfolgend beschriebene Verfahren, ohne den Rahmen der Erfindung zu verlassen. Das Verfahren gliedert sich in fünf Schritte, die nachstehend beschrieben werden.
Schritt 1:
Auf dem Rechner 301, beziehungsweise dem Host Computer, läuft ein Programm, das die zu verarbeitenden Daten entgegennimmt und/oder einliest. Die eingegebenen Daten werden dann komprimiert und in ein, zur Übertragung geeignetes Datenformat umgewandelt. Nach erfolgter Erstellung des Datenformats, werden die Daten über die Schnittstelle 304 an den Hardwarebeschleuniger 302 übertragen und dort über den Schnittstellenbaustein 322 und den optionalen Ablauf Controller 323, der z.B. auch durch geeignete Software ersetzt werden kann in einem RAM Baustein 305 zwischengespeichert. Der Ablauf Controller 323 steuert das Einlesen der Primerdaten aus dem RAM Baustein 305. Dieses RAM kann sowohl innerhalb des Prozessor Elements 303 als auch als externer RAM Baustein ausgeführt sein. Dieser Schritt ist mit den mit einer „1" gekennzeichneten Pfeilen dargestellt. Mit zu dieser Übertragung gehört auch die Übertragung von Parameterdaten, die für die spätere Berechnung benötigt werden. Schritt 2:
Nach der Übertragung startet die Verarbeitung der Daten auf dem Hardwarebeschleuniger 302. In diesem zweiten Schritt werden die einzelnen Primer aus den Sequenzdaten erzeugt und als Eingangsdaten 324 an die Matrix 325 zur Berechnung übergeben. Innerhalb der Matrix 325 werden sowohl die Werte für SA als auch SEA berechnet und anschließend an das Bewertungsverfahren 328 weitergegeben. Parallel dazu werden weitere Berechnungen 326, 327 auf der Basis der Primerdaten durchgeführt und ebenfalls dem Bewertungsverfahren 328 zugeführt. Diese Berechnung sind in Figur 3 als Berechnung 1 (326) bis Berechnung N (327) dargestellt. Die besten 64 Ergebnisse E werden dann in einem zweiten RAM Baustein 305 (extern oder intern) abgelegt. Diese Berechnung wird für jede der übergebenen DNA-Sequenzen durchgeführt. Dieser Schritt ist mit den mit einer „2" gekennzeichneten Pfeilen dargestellt.
Schritt 3:
Nach der Berechnung der einzelnen Primer werden die besten Paare von jeweils zwei aufeinanderfolgenden Primern ermittelt. Ermittelt werden jeweils die Primer Paar Daten eines geraden und eines ungeraden Primers (Pl + P2; P3 + P4; P5 + P6; usw.). Die Ergebnisdaten (von Schritt 2) werden aus dem zweiten RAM 305 ausgelesen. Parallel dazu werden auch die Sequenzdaten aus dem ersten RAM 305 ausgelesen. Die Verarbeitung dieser Daten übernimmt die gleiche Einheit der Matrix 325, wobei die parallel ausgeführten Berechnungen bei der Bewertung nicht berücksichtigt werden. Die Teilergebnisse der Primer aus der ersten Stufe werden dann mit den in dieser Stufe ermittelten Ergebnissen kombiniert. Die jeweils besten 5 Primerpaare einer Kombination (geraden mit ungeraden Primer) werden dann in dem zweiten RAM gespeichert. Dieser Schritt ist mit den mit einer „3" gekennzeichneten Pfeilen dargestellt. Schritt 4:
In dem vierten Schritt der Verarbeitung werden die Daten aus dem zweiten RAM ausgelesen und an den Host Prozessor 306 übertragen. Ausgelesen werden sowohl die Ergebnisse aus Schritt 2 und Schritt 3. Dieser Schritt ist mit den mit einer „4" gekennzeichneten Pfeilen dargestellt.
Schritt 5:
Sobald die Übertragung der Daten zum Host Prozessor 306 beendet ist, werden die Ergebnisse einer Nachbearbeitung unterzogen. Bei der Nachbearbeitung werden die gefundenen Sequenzen selektiert und zusammen mit den ermittelten Ergebnissen dem Benutzer auf dem Monitor 307 dargestellt und in eine Datei geschrieben.
In dem speziellen Ausführungsbeispiel der Primerbestimmung des erfindungsgemäßen Verfahrensablaufs in Figur 3 werden die Daten in speziellen Datenformaten verwendet.
Die Daten werden innerhalb des Host-Computers 301 vorverarbeitet. Diese Vorverarbeitung konvertiert die Eingangsdaten in das nachfolgende Datenformat. Dieses Datenformat wird im Speicher des Rechners 301 vorbereitet. Die Datenübertragung erfolgt per DMA Zugriff. Die Datenformate für das Speichern der Daten in den beiden RAM- Bausteinen unterscheidet sich aufgrund der für die Berechnung benötigten Daten. Die Formate für die beiden RAM-Bausteine sind in den nachfolgenden Abschnitten definiert. Das Datenformat der Sequenzdaten und Parameterdaten nach dem diese Daten in der RAM Bank 1 305 gespeichert sind, wird nachfolgend beschrieben.
Der Speicher ist unterteilt in 1024 Blöcke zu je 64 Worten ä 32 Bit. Jedes dieser Blöcke speichert eine Sequenz, aus der die jeweiligen Primer extrahiert werden. Im Anschluß an die 1024 Blöcke ist ein weiterer Block angehängt, der die Parameterdaten für den zweiten Teil der Berechnung enthält.
Es versteht sich von selbst, dass die Limitierung auf 1024 Blöcke und 64 Worte je Block keine grundsätzliche Limitierung darstellt, sondern eine frei gewählte Grenze für das spezielle Ausführungsbeispiel ist und je nach beabsichtigter Anwendung frei gewählt werden kann..
Bei dem Block mit den Parameterdaten für die zweite Berechnung handelt es sich um jeweils zwei 32Bit Worte für jedes Primerpaar, das berechnet wird. Innerhalb der beiden Worte werden die Parameterdaten für die PA und die PEA Berechnung gespeichert. Die in den beiden Worten gespeicherten Parameter sind: PA minimum, PA maximum und PA optimum, sowie PEA minimum, PEA maximum und PEA Optimum.
Zur Speicherung der Sequenz steht jeweils ein Block mit 64 Adressen ä 32 Bit bereit. Dieser Block unterteilt sich weiterhin in einen Bereich, der die für den Block notwendigen Parameter enthält und einen Block mit den Sequenzdaten. Aus dieser Aufteilung ergibt sich eine maximale Länge von 944 Basen pro Sequenz. Die Sequenzdaten sind so aufgebaut, dass pro Datenwort jeweils 16 Basen kodiert sind. Der Ablauf Controller 323 liest die Daten nach Bedarf ein und generiert die einzelnen Primer für die Berechnung.
Die Parameter für die Berechnung des ersten Schrittes sind in den untersten 5 Datenworten gespeichert. Diese Parameter werden zu Beginn jeder Berechnung vom Ablauf Controller 323 eingelesen und in der Bewertungsfunktion gespeichert.
Das Datenformat, das die Ergebnisdaten aus dem ersten und zweiten Schritt speichert, wird nachfolgend beschrieben.
Die RAM Bank 2 ist unterteilt in Blöcke mit jeweils 256 Einträgen pro Sequenz. Der gesamte Bereich besteht ausschließlich aus Paketen zu jeweils 256 Wörtern.
Für die Zwischenspeicherung der Ergebnisse aus dem ersten Schritt werden 128 Wörter benötigt, denn jedes Ergebnis ist in zwei Datenwörtern kodiert. Diese Ergebnisse sind innerhalb des Blocks in absteigender Reihenfolge ab Adresse 127 abgelegt.
Der Bereich zwischen der Block Adresse 128 und 256 ist den Ergebnissen des zweiten Schrittes vorbehalten. Aufgrund der Berechnung jeweils eines Primerpaars (ungerade und nachfolgende gerade Primer) entsteht für diese beiden Blöcke nur jeweils ein Ergebnis. Dieses Ergebnis ist nur innerhalb des ungeraden Blocks gespeichert.
Das nachstehende nicht einschränkende Ausführungsbeispiel des erfindungsgemäßen Verfahrens zeigt die Beschleunigung bei der Berechnung von Primern gegenüber einem Verfahren mit sequenzieller Ausführung der Verfahrensschritte:
Ausführungsbeispiel
Die Messungen der Softwareausführung wurden auf einem Pentium III 500 MHZ/128 MByte RAM ausgeführt. Die Gesamtdauer des Verfahrens betrug 1920 s.
Die Messungen auf dem Hardwarebeschleuniger wurden auf einem microEnable II System mit einem Virtex 400 FPGA bei 50 MHz ausgeführt. Die Gesamtdauer des erfindungsgemäßen Verfahren betrug 3,41 s. Zur Durchführung der Messungen wurde ein Host Computer System eingesetzt mit den folgenden Parametern: Intel Celeron 500MHz / 128Mbyte.
Der sich ergebende Beschleunigungsfaktor des erfindungsgemäßen Verfahrens im Vergleich zu einem herkömmlichen Verfahren beträgt 563,05. Figur 4 zeigt den Ablauf des erfindungsgemäßen Verfahrens 400 in einem Hardwarebeschleuniger. Der erfindungsgemäße Verfahrensablauf 400 wird anhand eines Verfahrensablaufs zur Bestimmung von Primersequenzen genauer veranschaulicht. Weiterhin ist das gezeigte Ablaufdiagramm 400 spezifisch für die erfindungsgemäße Verarbeitung von Parameterfolgen auf FPGAs. Einzelne Teile der Verarbeitung sind bei Verwendung anderer Prozessorentechnologien andersartig beziehungsweise überflüssig. Figur 4 verdeutlicht den Ablauf der gesamten Berechnung und stellt die Programmabläufe in der Software und auf dem Hardwarebeschleuniger detailliert dar.
Der Verfahrensablauf 400 innerhalb des Hardwarebeschleunigers 401 reduziert sich auf die Darstellung in Figur 4. Beim Verfahrensschritt 402 wartet der Hardwarebeschleuniger 401, bis er Daten von dem in Figur 4 nicht dargestellten Host-Rechner übertragen bekommt. Sobald diese Daten vom Host-Rechner übertragen werden, werden im Schritt 403 diese Daten eingelesen und in der ersten RAM Bank abgelegt. Sofort nach der Speicherung startet die Berechnung aller einzelnen Primer einer jeden Sequenz. Im Schritt 404 werden die Primer generiert und anschließend den verarbeitenden Komponenten zugeführt. Im Schritt 405 werden die SA und SEA Werte in der Matrix berechnet. Zum Schritt 405 verläuft parallel dazu Schritt 406, in dem weitere Berechnungen ausgeführt werden. Im Schritt 407 werden die Ergebnisse über die Bewertungsfunktion ermittelt. Im Schritt 408 werden die besten Ergebnisse gesammelt. Schritt 409 beinhaltet die Abfrage, ob der letzte Primer in der Sequenz berechnet wurde. Im Falle eines Neins auf diese Frage werden nochmals die Verfahrensschritte 404 bis 409 durchlaufen. Im Falle eines Jas auf die Abfrage im Schritt 409, das heißt nach Berechnung aller Primer, werden im Schritt 410 die besten Ergebnisse in der zweiten Speicher, nämlich in der RAM Bank 2 abgelegt. Im Schritt 411 wird die nächste Sequenz adressiert. Schritt 412 beinhaltet die Abfrage, ob die letzte Sequenz mit den dazugehörigen berechneten Primern durchgelaufen ist. Im Falle eines Neins auf diese Frage werden nochmals die Verfahrensschritte 404 bis 412 durchlaufen. Im Falle eines Jas auf die Abfrage im Schritt 412 wird Schritt 413 ausgeführt. Im Schritt 413 wird die zweite Stufe zur Ermittlung der PA und PEA Werte, die in Figur 4 nicht weiter ausführlich dargestellt ist, ausgeführt. Nach Beendigung der zweiten Stufe, werden im Schritt 414 die Daten vom Host Rechner zurückgelesen und zur Anzeige gebracht.
Figur 5a zeigt den erfindungsgemäßen Verfahrensablauf 500 in einer Matrix 503. Die Darstellung verdeutlicht einen besonderen Aspekt der Erfindung, nämlich den Aufbau einer Matrix 503 aus den einzelnen Kombinationen der m Parameter aus den n Parameterfolgen, in diesem Falle der Parameterfolgen 501 und der Parameterfolge 502, die miteinander verglichen werden sollen. Beide Parameterfolgen weisen 4 Parameter auf. Es versteht sich von selbst, dass natürlich auch aus Parameterfolgen mit mehr als 4 Parametern nur jeweils oder zusammen 4 Parameter ausgewählt werden können, ohne den Rahmen der Erfindung zu verlassen. Die Anzahl m der zu vergleichenden Parameter ist beliebig wählbar und wird von den zur Verfügung stehenden Logik Ressourcen beispielsweise ALUs bestimmt. Dieser Matrixaufbau der Matrix 503 findet seine Entsprechung in der Matrix eines parallel verarbeitenden Systems innerhalb einer erfindungsgemäßen Vorrichtung. Die Matrix 503 weist 16 Matrixelemente 507 auf, die mindestens eine arithmetische logische Recheneinheit umfassen. In den Matrixelementen 507 findet die Berechnung der einzelnen Kombinationen an Parametern parallel, das heißt gleichzeitig statt. Durch diese gleichzeitige Verarbeitung der einzelnen Kombinationen wird eine Beschleunigung des gesamten Ablaufs um mehrere Größenordnungen eπeicht. Die Verarbeitung der Parameterdaten beim Vergleich der ersten Parameterfolge 501 (auch Parameterfolge 1 genannt) mit der zweiten Parameterfolge 502 (auch Parameterfolge 2 genannt) ist in drei Stufen, die in Figur 5 a mit den Ziffern 1, 2 und 3 bezeichnet sind, dargestellt. Beide Parameterfolgen 501 und 502 haben die gleiche Anzahl Parameter, nämlich 4. Die Matrix 503 wird aus den einzelnen Kombinationen der Parameter aus den beiden Parameterfolgen 501 und 502 aufgebaut. Wichtig im Zusammenhang mit der vorliegenden Erfindung ist dabei, dass alle denkbaren möglichen Kombinationen der zu vergleichenden m Parameter der n-Parameterfolgen zur gleichen Zeit gebildet werden, wobei natürlich auch andere Verarbeitungsmöglichkeiten im Rahmen der Erfindung verwendet werden können. Bezeichnet man die Parameterkombinationen mit (i,k), wobei i der i-te Parameter der Parameterfolge 501 ist und k der k-te Parameter der Parameterfolge
502 ist, so wird die Matrix 503 aus Elementen (i,k) aufgebaut, wobei in diesem Fall i die Werte 1 bis 4 durchläuft und ebenfalls k die Werte 1 bis 4 durchläuft. Die Parameterkombinationen (i,k) sind den Vergleichszellen, das heißt den Matrixelementen 507 der Matrix 503 des parallel verarbeitenden Systems zugeordnet. Die aufgebaute Matrix
503 mit den Vergleichszellen 507 ist in Figur 5a in der 1. Stufe der Berechnung zu sehen. In den Vergleichszellen 507 findet in der 1. Stufe der Berechnung eine gleichzeitige Bewertung jeder Parameterkombination (i,k) statt. Diese Bewertung geschieht anhand einer 1. Bewertungsvorschrift. Die 1. Bewertungs Vorschrift kann dabei für jede Vergleichszelle 507 gleich sein, sie kann aber auch für jede Vergleichszelle 507 eine individuelle Bewertung bewirken, wobei diese individuellen Bewertungen gleich oder verschieden voneinander sein können, oder aber teilweise gleich oder teilweise verschieden voneinander sein können. Die Bewertung der Vergleichszellen 507 liefert die ersten Ergebnisse, die in Figur 5a als Pfeile 508, die ihren Anfang in jeder Vergleichszelle 507 haben, dargestellt sind. Diese ersten Ergebnisse können optional nach einer 2. Bewertungsvorschrift 504 in Schritt 2 untereinander kombiniert werden, wobei alle oder ein Teil der ersten Ergebnisse miteinander kombiniert werden kann. Jedes einzelne 1. Ergebnis kann auch für sich verändert werden, wobei die 2. Bewertungsvorschrift für jedes 1. Ergebnis gleich oder voneinander verschieden sein kann, oder teilweise gleich oder verschieden sein kann. Die ersten Ergebnisse können aber auch in ihrem Wert unverändert bleiben. In Figur 5a bewirkt die 2. Bewertungs Vorschrift 504 eine Kombination der Vergleichszellen 507 in den Diagonalen der Matrix 503. Diese Kombination geschieht dabei gemäß der 2. Bewertungsvorschrift 504 und kann beispielsweise eine Kombination durch eine beliebig wählbare Rechenoperation, wie Addition, Subtraktion, Multiplikation, Division. Logarithmische Bewertung etc. oder auch durch daraus zusammengesetzte Rechenoperationen bewirken. Die auf diese Weise gebildeten zweiten Ergebnisse sind in Figur 5a als Pfeile 505 dargestellt.
Die zweiten Ergebnisse 505 können optional nach weiteren optionalen nachgeschalteten Bewertungs Vorschriften verarbeitet werden. Dabei können die zweiten Ergebnisse optional nach einer 3. und weiteren Bewertungs Vorschriften 506 in Stufe 3 untereinander kombiniert werden, wobei alle oder ein Teil der zweiten Ergebnisse miteinander kombiniert werden kann. Jedes einzelne 2. Ergebnis kann auch für sich verändert werden, wobei die 3. und weitere Bewertungs Vorschriften für jedes 2. Ergebnis gleich oder voneinander verschieden sein kann, oder teilweise gleich oder verschieden sein kann. Die zweiten Ergebnisse können aber auch in ihrem Wert unverändert bleiben. Die 3. und weiteren Bewertungsvorschriften 506 in Stufe 3 führen alleine oder in beliebiger Kombination untereinander schließlich zum Ergebnis 509, welches als Ergebnis E vom Benutzer gelesen werden kann. In dem speziellen Ausführungsbeispiel der Primerbestimmung ist die Aufgabe der Matrix 503 die Berechnung des Seif Annealing (SA) und des Seif End Annealing (SEA) Wertes. Aufgrund der funktionalen Gleichheit bei der Berechnung kann die Matrix 503 in leicht abgewandelter Form auch für die Berechnung des Pair Annealing und Pair End Annealing Wertes verwendet werden.
Figur 5b erläutert den Aufbau der Matrix 503 aus Figur 5a für das spezielle Ausführungsbeispiel der Primerbestimmung. Dabei sind alle möglichen Kombinationen von Überlagerungen von zwei Primern zu bewerten und die gewichteten Übereinstimmungen sind, abhängig von der Berechnung Annealing oder End Annealing, aufzuaddieren.
Die erste Parameterfolge 551 und die zweite Parameterfolge 552 entsprechen dabei dem ersten und zweiten Primer. Im Falle der wie vorstehenden ausgeführten Berechnung des SA und SEA Wertes, besitzt der zweite Primer die genau umgekehrte Basensequenz des ersten Primers. Wie vorstehenden erläutert, sind für den Fall der PA und PEA Werte- Berechnung die Primer unterschiedlich. In jeder Vergleichszelle 554 der Matrix 550 wird eine Basenkombination aus einer Base des 1. und 2. Primers ihrer Bindungsstärke entsprechend, wie vorstehend erläutert nach einer 1. Bewertungsvorschrift bewertet. In der zweiten Stufe werden diese Werte für jede Diagonale 555 der Matrix 550, gebildet aus den einzelnen diagonal angeordneten Matrixelementen, bzw. Vergleichszellen 554 nach einer 2. Bewertungs Vorschrift 553 (bzw. 504 in Figur 5a) aufsummiert. Das Ergebnis (505 in Figur 5a) ist dabei die Summe der gewichteten Übereinstimmungen, die in der jeweiligen Diagonalen 555 ermittelt worden sind. Die Anzahl der Werte, die pro Diagonale 555 addiert werden müssen ist abhängig von der Position der Diagonale 555 in der Matrix 550. Pro Diagonale 555 wird jeweils der aufsummierte Wert an die nachfolgende dritte Stufe (Schritt 3) weitergegeben. In der dritten Stufe werden die Ergebnisse der einzelnen Diagonalen 555 jeweils paarweise verglichen. Ermittelt wird in dieser speziellen Ausführungsform des Verfahrens der maximale Wert, der sich bei einem Primerpaar ergibt. Natürlich sind die Werte auch durch Addition Subtraktion oder andere mathematische Rechenoperationen erhältlich. Die nachstehende gezeigte Tabelle 3 zeigt alle Operationen, die innerhalb der Matrix 550 parallel ausgeführt werden.
Tabelle 3: Ergänzende Beispiel für die Berechnung des Maximalen Wertes bei der Durchführung der SA Berechnung in der parallel arbeitenden Matrix Struktur. Die überlagernden Basenpaare werden wieder anhand des Primers mit 4 Basen (AGTC) durchgeführt.
Figure imgf000056_0001
Übereinstimmungen sind fett markiert Ein anderes Ausführungsbeispiel für die Verwendung des erfindungsgemäßen Verfahrens und der erfindungsgemäßen Vorrichtung stellt Homologiesuche in Datenbanken oder Identitätsvergleiche bei weiteren Bioinformatikanwendungen dar.
Da die Rate der Strukturaufklärung über Röntgenstrahlkristallographie oder NMR viel niedriger ist als die Zahl neuer DNA- oder Proteinsequenzen, die jeden Tag bekannt werden, wird ein alternativer berechenbarer einigermaßen zuverlässiger Ansatz zur Strukturfindung benötigt. Ziel ist es, Schlüsselmakromoleküle (das heißt Proteine) zu identifizieren, die pathologische Vorgänge verursachen und potenzielle Inhibitoren für diese Makromoleküle vorzuschlagen. Um das Molekül zu verstehen und so mögliche Wechselwirkungen mit seinem Substrat oder anderen Substanzen vorzuschlagen zu können, muss man die Struktur des Makromoleküls kennen. Das größte Hindernis ist dabei oftmals das Fehlen struktureller Daten über das betreffende Molekül. Handelt es sich bei den untersuchten Makromolekülen um Proteine, so kann man homologe Proteine von anderen Arten benutzen, deren Struktur bekannt ist. Das Modellieren unbekannter Proteinstrukturen basierend auf ihren Homologen ist als homologiebasiertes strukturelles Modellieren bekannt.
Als homologe Proteine bezeichnet man im allgemeinen Polypeptide, die eine ähnliche Aminosäurenzusammensetzung gemeinsam haben. In den meisten Fällen sind die Proteine mit einem relativ hohen Grad an Identität auch strukturell und funktionell homolog. Änderungen der Aminosäuresequenz eines Proteins könnten eine Änderung der 3-D- Struktur bewirken. Es ist diese Beziehung zwischen der Aminosäuresequenz eines Proteins und seiner dreidimensionalen Struktur, die es einem erlaubt, Proteine, für die es keine NMR oder Röntgenkristallstrukturen gibt, mit ihren Sequenzhomologen zu vergleichen, deren Struktur man kennt. Die Sequenzhomologen mit bekannter Struktur ermöglichen es, die Struktur der homologen Sequenzen, deren Struktur unbekannt ist, durch komparative Modellbildung zu berechnen und erlauben so einen Einblick in die Proteinfunktion. Beim homologiebasierten Proteinmodellieren bezeichnet man die experimentell bestimmten Strukturen im allgemeinen als Matrizen und das Sequenzhomologe (das heißt eine neue Kette von Nukleotiden, die man beispielsweise in einem laufenden Genomprojekt identifiziert hat) wird Zielsequenz genannt. Der homologiebasierte Ansatz zum Erstellen von Modellen umfasst vier aufeinander folgende Schritte. Der erste besteht in der Identifikation bekannter Strukturen, die eine zu der Zielsequenz verwandte Sequenz aufweisen. Das erreicht man typischerweise durch Softwarewerkzeuge wie BLAST, die der Suche nach möglichen Matrizen dienen. Im zweiten Schritt werden die potentielle Matrizen vergleichend mit der Zielsequenz ausgerichtet, um die am nächsten verwandte Matrize zu identifizieren. Im dritten Schritt berechnet man ein Modell der Zielsequenz, wobei man von der am besten geeigneten Matrize des zweiten Schrittes ausgeht. Der vierte Schritt besteht schließlich in einer Bewertung des Modells der Zielsequenz, wobei man eine Reihe von Kriterien, wie zum Beispiel Energetik heranzieht.
Das erfindungsgemäße Verfahren sowie die erfindungsgemäße Vorrichtung kann nun die Berechnung des ersten und des zweiten Schrittes unterstützen. Im Vergleich zu herkömmlichen sequentiellen Rechenmethoden kann die Rechenzeit durch den erfindungsgemäßen parallel verarbeitenden Matrixansatz um einen Faktor von beispielsweise 1000 verkürzt werden.
Im idealen Fall ist die Aminosäuresequenz des unbekannten Proteins der seines Strukturhomologen recht ähnlich und es gibt zum Beispiel in der PDP-Proteindatenbank (Sussman, J.L. et al. Protein Data Bank (PDB): database of three-dimensional structural information of biological macromolecules. In: Acta. Crystallogr. D. Biol. Crystallogr. 54 (1998) Seiten 1078-1084) mehr als einen bekannten Homologen aus anderen Arten. Ziel ist es nun diese bekannten Homologen zu finden.
Das Programm BLAST des NCBI (Altschul, S.F. et al. Basic local alignment search tool. In: J. Mol Biol. 215 (1990) S. 403-410) ermöglicht es, diese bekannten Homologen zu finden. Damit der erfindungsgemäße parallel verarbeitende Matrixansatz innerhalb des Programms BLAST eine wesentliche Beschleunigung des Rechenverfahrens bewirken kann, sind jedoch Anpassungen des Rechenverfahrens notwendig. In dem Beispiel der Homologiesuche kann die erfindungsgemäße Matrix aus den Kombinationen zweier Parameterfolgen aufgebaut werden. Dabei sind im allgemeinen die beiden Parameterfolgen mit ihren zu vergleichenden Parametern von ungleicher Länge. Eine Parameterfolge kann die Primärsequenz (Aminosäuresequenz) der Zielsequenz sein und die andere Parameterfolge eine Proteinsequenz in einer vorgegebenen Datenbank sein. Dabei kann die Matrix beachtliche Größen annehmen, so, dass es geeigneter sein kann, in Abhängigkeit von der Anzahl der parallel verarbeitenden Matrizen, beziehungsweise von der Anzahl der parallel verarbeitenden Matrixelemente, die Matrix in mehrere Sub-Matrizen zu unterteilen. Bei einer solchen Methode kann beispielsweise jede einzelne Sub-Matrix für sich parallel verarbeitet werden. Durch Bildung sinnvoller Überlagerungen der beiden Parameterfolgen und geeigneter Bewertung der gebildeten Parameterkombinationen sowie geeigneter nachfolgender Bewertungsvorschriften können die engsten Sequenzhomologen ausgewählt werden. Andere Anwendungen der erfindungsgemäßen parallel verarbeitenden Matrix betreffen den zweiten Schritt der Homologiesuche nämlich die vergleichende Ausrichtung der potenziellen Matrizen mit der Zielsequenz. Andere Anwendungen sind Sequenzvergleiche, Bewertung von Sequenzen oder beispielsweise auch bei der Bestimmung/ Berechnung von DNAs. Ebenfalls beschleunigt die erfindungsgemäße Matrix auch die Durchsuchung von Datenbanken, beispielsweise Stoffdatenbanken.
Oftmals findet innerhalb solcher Durchsuchungen von Datenbanken Vergleichsbildungen statt, im Falle von Stoffdatenbanken beispielsweise von gesuchten Stoffeigenschaften und Stoffen der Datenbank mit ihren spezifischen Eigenschaften. Die erfindungsgemäße Matrix wird hierbei beispielsweise dazu verwendet, eine Parameterfolge, deren Parameter die erwünschten Eigenschaften enthält mit Parameterfolgen, deren Parameter die Stoffe mit ihren Stoffeigenschaften aus der Datenbank enthält zu vergleichen. Dieser Vergleich wird durch die erfindungsgemäße Matrix parallel durchgeführt und führt somit zu einer wesentlich beschleunigten Datenbankrecherche in Stoffdatenbanken.

Claims

PATENTANSPRÜCHE
1. Verfahren zum Vergleich von n Parameterfolgen, wobei jede Parameterfolge Parameter enthält und wobei ein Teil der Parameter aller n Parameterfolgen nach einer vorher definierten Vorschrift untereinander zu Parameterkombinationen kombiniert werden und jeder Parameterkombination nach einer vorher definierten ersten Bewertungsvorschrift ein erster Wert zugeordnet wird, und das Ergebnis der Bewertungsvorschrift eine einer Messung zugänglichen Eigenschaft entspricht,
dadurch gekennzeichnet, dass
die Kombinationen aus den Parametern der n Parameterfolgen eine m-dimensionale Matrix bilden und ein Teil dieser m-dimensionalen Matrix einer Matrix entspricht, die arithmetische logische Recheneinheiten umfaßt.
2. Verfahren nach Anspruch 1, wobei die arithmetischen logischen Recheneinheiten die Bewertung der gebildeten Parameterkombinationen durchführen.
3. Verfahren nach Anspruch 1 oder 2, wobei die Bildung aller oder eines Teiles der Parameterkombinationen gleichzeitig durchgeführt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Bewertung aller oder eines Teiles der Parameterkombinationen gleichzeitig durchgeführt wird.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die ersten Werte für alle Parameterkombinationen aus den n Parameterfolgen nach einer weiteren Bewertungs Vorschrift weiterverarbeitet werden können
6. Verfahren nach einem der vorhergehenden Ansprüche, wobei jede einzelne und/oder mehrere Kombinationen der Parameter in einer oder mehreren logischen Recheneinheiten gebildet und/oder bewertet wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass n eine ganze Zahl ist, die größer oder gleich 2 ist und dass m eine ganze Zahl ist, die gleich n ist oder von n verschieden ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei jede Folge von Parametern aus einer Abfolge von diskreten Parametern besteht.
9. Verfahren nach Anspruch 8, wobei die Folgen die gleiche und/oder eine unterschiedliche Anzahl von Parametern umfassen.
10. Verfahren nach Anspruch 9, wobei die Folgen eine bestimmte vorab definierte Anordnung der Parameter innerhalb der Folgen aufweisen.
11. Verfahren nach einem der Ansprüche 8-10, wobei die Parameter eine einer Messung zugängliche Eigenschaft aufweisen.
12. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Werte aus der 1. Zuordnung von Werten weiteren Bewertungsvorschriften unterworfen werden können.
13. Verfahren nach Anspruch 12, wobei das Ergebnis eine einer Messung zugängliche Eigenschaft aufweist.
14. Verfahren nach einem der vorhergehenden Ansprüche zur Gestaltung, Bildung, Design von/oder zur Selektion von Stoffen.
15. Verfahren nach Anspruch 14, wobei die Stoffe biologische Moleküle sind.
16. Verfahren nach Anspruch 15, wobei die Moleküle Oligonukleotide sind.
17. Verfahren nach Anspruch 16, wobei die Parameter in den Parameterfolgen der Schritte des Verfahrens nach einem der Ansprüche 1 bis 15 die Basen der Oligonukleotide umfassen.
18. Verfahren nach Anspruch 17, wobei die Parameterkombinationen dadurch gebildet werden, indem jeweils zwei Parameterfolgen, der n Parameterfolgen zueinander einen Teil aller möglichen Anordnungen durchlaufen, und wobei die Anordnungen durch Verschiebung um jeweils einen diskreten Parameter zustande kommen.
19. Verfahren nach Anspruch 18, wobei die Parameterkombinationen aus dem Teil aller möglichen Anordnungen der Parameterfolgen Basenpaare umfassen.
20. Verfahren nach Anspruch 19, wobei den Basenpaaren ein hierarchisierbarer Wert zugeordnet wird.
21 Verfahren nach Anspruch 20, wobei ein Teil der Parameterkombinationen gleichzeitig gebildet wird und diesem Teil und/oder einem Teil dieser gleichzeitig gebildeten Kombinationen zur gleichen Zeit ein hierarchisierbarer Wert zugeordnet wird.
22. Verfahren nach Anspruch 21, wobei der zugeordnete Wert der Bindungsstärke entspricht.
23. Verfahren nach Anspruch 22, wobei die, den Bindungsstärken entsprechenden Werte weiteren Berechnungsverfahren unterzogen werden, so dass das Ergebnis ein oder mehrere Auswahlkriterien für ein oder mehrere Oligonukleotide darstellt
24. Verwendung der Schritte des Verfahrens nach einem der vorhergehenden Ansprüche zur Gestaltung, Bildung, Design von/oder zur Selektion von Stoffen.
25. Verwendung nach Anspruch 24, wobei die Stoffe biologische Moleküle sind.
26. Verwendung nach Anspruch 25, wobei die Moleküle OUgonukleotidsequenzen sind.
27. Verwendung nach Anspruch 26, wobei die Parameter in den Parameterfolgen der Schritte des Verfahrens nach einem der Ansprüche 1-23 die Basen C, G, T, A, U der OUgonukleotidsequenzen umfassen.
28. Verwendung nach Anspruch 27, wobei die Parameterkombinationen dadurch gebildet werden, indem jeweils zwei Parameterfolgen, der n Parameterfolgen zueinander einen Teil aller möglichen Anordnungen durchlaufen, wobei die Anordnungen durch Verschiebung um jeweils einen diskreten Parameter zustande kommen.
29. Verwendung nach Anspruch 28, wobei die Parameterkombinationen aus allen oder aus einem Teil aller Anordnungen der Parameterfolgen Basenpaare umfassen.
30. Verwendung nach Anspruch 29, wobei den Basenpaaren ein hierarchisierbarer Zahlenwert zugeordnet wird.
3 1 Verwendung nach einem der Ansprüche 27-30, wobei ein Teil der Parameterkombinationen gleichzeitig gebildet wird und diesem Teil oder einem Teil dieser gleichzeitig gebildeten Kombinationen allen zur gleichen Zeit ein Wert zugeordnet wird.
32. Verwendung nach Anspruch 30 und/oder 31, wobei der zugeordnete Wert der Bindungsstärke entspricht.
33. Verwendung nach Anspruch 32, wobei die, den Bindungsstärken entsprechenden Werten weiteren Berechnungs verfahren unterzogen werden, so dass das Ergebnis ein oder mehrere Auswahlkriterien für ein oder mehrere Oligonukleotide darstellt
34. Verwendung nach Anspruch 33, wobei ein oder mehrere Auswahlkriterien einem oder mehreren Moleküldesigns entsprechen.
35.Voπichtung zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, umfassend einen Prozessor und einen Hardwarebeschleuniger zur parallelen Datenverarbeitung und einen Speicher, der mit dem Prozessor und/oder dem Hardwarebeschleuniger gekoppelt ist, zum Ausführen der Schritte des Verfahrens nach einem der Ansprüche 1 bis 23.
3 6 Vorrichtung nach Anspruch 35, wobei der Speicher einen Teil der Programmbefehle zum Ausführen des Verfahrens nach einem der Ansprüche 1 bis 23 und/oder für den Betrieb der Vorrichtung aufweist.
37. Vorrichtung nach Anspruch 35 und/oder 36, wobei der Hardwarebeschleuniger mit dem Prozessor gekoppelt ist.
38 .Vorrichtung nach Anspruch 37, wobei der Hardwarebeschleuniger einen
Logikbaustein zur parallelen Datenverarbeitung enthält.
39. Vorrichtung nach Anspruch 38, wobei der Logikbaustein ein programmierbarer Logikbaustein ist.
40. Vorrichtung, nach Anspruch 39, wobei der programmierbare Logikbaustein ein field-programmable-gate-array (FPGA) ist.
41. Vorrichtung nach Anspruch 38, wobei der Logikbaustein ein ASIC ist.
42. Vorrichtung nach einem der vorhergehenden Ansprüche, die eine computerlesbare Speichereinheit oder ein computerlesbares Speichermedium enthält.
43 Vorrichtung nach Anspruch 42, wobei die Speichereinheit oder das
Speichermedium aufgezeichnete Daten der Parameterfolgen des Verfahrens nach einem der Ansprüche 1 bis 23 umfaßt.
44. Verfahren zur Durchführung einer Folge von Programmbefehlen mit einer Vorrichtung nach einem der Ansprüche 35-43.
45. Verfahren nach Anspruch 44, wobei Bereitstellen, Übertragen und Empfangen von Daten über ein Netzwerk erfolgen kann.
46. Verfahren nach einem der Ansprüche 1 bis 23 und/oder 44 bis 45, das auf einem computerlesbaren Speichermedium oder in einer computerlesbaren Speichereinheit gespeichert ist.
47. Softwareprogrammprodukt mit Programmierbefehlen zum Ausführen der Schritte des Verfahrens nach einem der Ansprüche 1 bis 23 und/oder 44 bis 45.
48. Softwareprogrammprodukt nach Anspruch 47, das auf einem computerlesbaren Speichermedium oder in einer computerlesbaren Speichereinheit gespeichert ist.
PCT/EP2003/008898 2002-08-20 2003-08-11 Verfahren und vorrichtung zur auswahl und zum vergleich physikalischer eigenschaften in parameterfolgen WO2004027675A2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003266973A AU2003266973A1 (en) 2002-08-20 2003-08-11 Method and device for selecting and comparing physical characteristics in parameter strings

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10238057A DE10238057A1 (de) 2002-08-20 2002-08-20 Verfahren und Vorrichtung zur Auswahl und zum Vergleich physikalischer Eigenschaften in Parameterfolgen
DE10238057.0 2002-08-20

Publications (3)

Publication Number Publication Date
WO2004027675A2 true WO2004027675A2 (de) 2004-04-01
WO2004027675A8 WO2004027675A8 (de) 2004-06-24
WO2004027675A3 WO2004027675A3 (de) 2005-02-03

Family

ID=31197120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2003/008898 WO2004027675A2 (de) 2002-08-20 2003-08-11 Verfahren und vorrichtung zur auswahl und zum vergleich physikalischer eigenschaften in parameterfolgen

Country Status (3)

Country Link
AU (1) AU2003266973A1 (de)
DE (1) DE10238057A1 (de)
WO (1) WO2004027675A2 (de)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19651527A1 (de) * 1996-12-11 1998-06-25 Siemens Ag Rechneranordnung und Verfahren zur Durchführung von einer Folge von Programmbefehlen
DE19654595A1 (de) * 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
ATE347750T1 (de) * 1999-10-20 2006-12-15 Infineon Technologies Ag Programmierbare fpga-zelle
DE60002824T2 (de) * 2000-03-20 2004-03-11 Hitachi, Ltd. System zum Entwerfen von Primern

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HOANG D T ET AL: "FPGA implementation of systolic sequence alignment" FIELD-PROGRAMMABLE GATE ARRAYS: ARCHITECTURES AND TOOLS FOR RAPID PROTOTYPING. SECOND INTERNATIONAL WORKSHOP ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS SPRINGER-VERLAG BERLIN, GERMANY, 31. August 1992 (1992-08-31), Seiten 1-4, XP002307542 ISBN: 3-540-57091-8 *
K[MPKE T KIENINGER M MECKLENBURG M: "Efficient primer design algorithms" BIOINFORMATICS, OXFORD UNIVERSITY PRESS, OXFORD,, GB, Bd. 17, Nr. 3, M{rz 2001 (2001-03), Seiten 214-225, XP002959105 ISSN: 1367-4803 *
LIENHART, G, ET AL.: "Simulation mit konfigurierbarer Hardware" SIMULATION IN PHYSIK, INFORMATIK UND INFORMATIONSTECHNIK. TAGUNGSBAND., [Online] 19. März 2002 (2002-03-19), XP002307541 ISSN: 0944-7121 *
YAMAGUCHI YOSHIKI; MARUYAMA TSUTOMU; KONAGAYA AKIHIKO: "High speed homology search with FPGAs" PACIFIC SYMPOSIUM ON COMPUTING, 3. Juli 2002 (2002-07-03), Seiten 271-282, XP002307540 SINGAPORE *

Also Published As

Publication number Publication date
AU2003266973A1 (en) 2004-04-08
DE10238057A1 (de) 2004-03-04
WO2004027675A3 (de) 2005-02-03
WO2004027675A8 (de) 2004-06-24

Similar Documents

Publication Publication Date Title
DE112005002331B4 (de) Verfahren, System und Vorrichtung zur Zusammenstellung und Nutzung von biologischem Wissen
DE69827154T2 (de) Polymorphismuserkennung mit hilfe cluster-analyse
CN108604260A (zh) 用于现场或基于云的dna和rna处理和分析的基因组学基础架构
DE112020001105T5 (de) Erkennung einer genetischen mutation unter verwendung von deep learning
Bhandary et al. Raising orphans from a metadata morass: A researcher's guide to re-use of public’omics data
CN103348350A (zh) 核酸信息处理装置及其处理方法
WO2003012135A2 (de) Verfahren zur konfigurierung paralleler nukleinsäureanalyseverfahren zur sequenzmengenklassifikation
WO2004027675A2 (de) Verfahren und vorrichtung zur auswahl und zum vergleich physikalischer eigenschaften in parameterfolgen
DE602005001850T2 (de) Computersoftware zur unterstützung der identifikation von snps mit microarrays
CN103339632A (zh) 核酸信息处理装置及其处理方法
Chavda et al. Role of Data Mining in Bioinformatics
WO2021228578A1 (de) Früherkennung von krankheitserregern bei pflanzen
DE60103682T2 (de) Systeme und Verfahren zur Genexpressionsanalyse
McKnight et al. Exploring lossy compression of gene expression matrices
Bremer et al. Introduction to the statistical analysis of two-color microarray data
EP1234056B1 (de) Dynamische bestimmung von analyten durch arrays auf inneren oberflächen
WO2001040510A2 (de) Dynamische sequenzierung durch hybridisierung
Berger et al. Studying DNA microarray data using independent component analysis
DE102020215979A1 (de) Verfahren und Vorrichtung zum Zuordnen eines spezifischen Reagenz zu einem Reaktionsplatz
Ferrés et al. Straightforward and reproducible analysis of bacterial pangenomes using Pagoo
Hofmann 3D organization of eukaryotic and prokaryotic genomes
DE69829493T2 (de) Techniken zur identifizierung, bestätigung, kartierung und kategorisierung von polymeren
Fehlmann From tools and databases to clinically relevant applications in miRNA research
EP1451750B1 (de) Verfahren zur identifikation von pharmakophoren
WO2007079875A2 (de) Verfahren zur identifizierung von prediktiven biomarkern aus patientendaten

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
CFP Corrected version of a pamphlet front page

Free format text: UNDER (54) PUBLISHED TITLE IN GERMAN REPLACED BY CORRECT TITLE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP