# US 8,751,166 B2 · Parallelization of surprisal data reduction and genome construction from genetic data for transmission, storage, and analysis

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,166 B2
- Document ID: US8751166B2
- Status: Granted
- Kind: B2
- Application number: 13/428,339
- Filed: 2012-03-23
- Published: 2013-09-26
- Granted: 2014-06-10
- Earliest claimed: 2012-03-23
- Assignees: International Business Machines Corporation
- Applicants: Robert R. Friedlander; James R. Kraemer
- Inventors: Robert R. Friedlander; James R. Kraemer
- Web page: https://patentgrep.com/patent/US8751166B2

## CPC

- G16B 50/00: ICT programming tools or database systems specially adapted for bioinformatics
- G16B 30/00: ICT specially adapted for sequence analysis involving nucleotides or amino acids
- G16B: BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY

## Abstract

A method, computer product, and computer system of reducing an amount of data representing a genetic sequence of an organism, comprising: a computer dividing a reference genome and a sequence of the organism into parts and assigning the parts to one of a plurality of computer processing elements. Within each computer processing element, comparing nucleotides of the genetic sequence of the organism to nucleotides from a part of the reference genome, to find differences where nucleotides of the genetic sequence of the organism which are different from the nucleotides of the reference genome; and storing the surprisal data in a repository. Combining the parts of the surprisal data from the repository to form a complete set of surprisal data representing the differences between the genetic sequence of the organism and the reference genome; and storing the complete set of surprisal data in the repository.

## Claims

### Claim 1

A method of reducing an amount of data representing a genetic sequence of an organism using a computer having a plurality of computer processing elements, the method comprising:
the computer dividing a reference genome and the genetic sequence of the organism into parts and assigning each of the parts of the reference genome and the parts of the genetic sequence of the organism to one of the plurality of computer processing elements;
within each computer processing element, comparing the nucleotides of the assigned part of the genetic sequence of the organism to nucleotides of the assigned part of the reference genome, to find differences where nucleotides of the genetic sequence of the organism are different from the nucleotides of the assigned part of the reference genome, and storing surprisal data in a repository, the surprisal data comprising at least a starting location of the differences within the assigned part of the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the assigned part of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the assigned part of the reference genome;
the computer retrieving the parts of the surprisal data from the repository;
the computer combining the parts of the surprisal data from the repository to form a complete set of surprisal data representing the differences between the genetic sequence of the organism and the reference genome;
the computer storing the complete set of surprisal data in the repository;
the computer recreating an entire genome of the organism by:
the computer retrieving the surprisal data from the repository and dividing the surprisal data into parts;
the computer retrieving the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
the computer assigning parts of the reference genome and corresponding parts of the surprisal data to each of a plurality of computer processing elements;
each computer processing element altering the parts of the assigned reference genome based on the corresponding part of the surprisal data, by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location, and storing the altered parts of the reference genome in the repository;
the computer retrieving the altered parts of the reference genome from the repository; and
the computer combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 2 (depends on 1)

The method of claim 1, further comprising a computer receiving at least one sequence of an organism from a source and storing the at least one sequence in a repository.

### Claim 3 (depends on 1)

The method of claim 1, further comprising a computer obtaining a reference genome corresponding to the organism and storing the reference genome in a repository.

### Claim 4 (depends on 1)

The method of claim 1, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 5 (depends on 1)

The method of claim 1, wherein the organism is an animal.

### Claim 6 (depends on 5)

The method of claim 5, wherein the organism is human.

### Claim 7 (depends on 1)

The method of claim 1, wherein the organism is a microorganism.

### Claim 8 (depends on 1)

The method of claim 1, wherein the organism is a plant.

### Claim 9 (depends on 1)

The method of claim 1, wherein the organism is a fungus.

### Claim 10 (depends on 1)

The method of claim 1, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 11 (depends on 1)

The method of claim 1, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 12 (depends on 1)

The method of claim 1, further comprising a computer processing element controller monitoring completion of the comparison of the nucleotides of the genetic sequence of the organism to the nucleotides of part of the reference genome by each of the computer processing elements.

### Claim 13 (depends on 1)

The method of claim 1, further comprising a computer processing element controller monitoring completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.

### Claim 14 (depends on 1)

A computer program product comprising one or more computer-readable, tangible storage devices and computer-readable program instructions which are stored on the one or more storage devices and when executed by one or more processors, implement all the steps of claim 1.

### Claim 15 (depends on 1)

A computer system comprising one or more processors, one or more computer-readable memories, one or more computer-readable, tangible storage devices and program instructions which are stored on the one or more storage devices for execution by the one or more processors via the one or more memories and when executed by the one or more processors implement all the steps of claim 1.

### Claim 16

A method of recreating an entire genome of the organism from a reference genome and surprisal data using a computer having a plurality of computer processing elements, the surprisal data comprising a starting location of the differences within the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the reference genome, the method comprising the steps of:
the computer retrieving surprisal data from a repository and dividing the surprisal data into parts;
the computer retrieving the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
the computer assigning parts of the reference genome and corresponding parts of the surprisal data to a plurality of computer processing elements;
the computer within each computer processing element, altering the parts of the assigned reference genome based on the corresponding part of the surprisal data by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location and storing the altered parts of the reference genome in the repository; and
the computer retrieving the altered parts of the reference genome in the repository combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 17 (depends on 16)

The method of claim 16, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 18 (depends on 16)

The method of claim 16, wherein the organism is an animal.

### Claim 19 (depends on 18)

The method of claim 18, wherein the organism is human.

### Claim 20 (depends on 16)

The method of claim 16, wherein the organism is a microorganism.

### Claim 21 (depends on 16)

The method of claim 16, wherein the organism is a plant.

### Claim 22 (depends on 16)

The method of claim 16, wherein the organism is a fungus.

### Claim 23 (depends on 6)

The method of claim 6, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 24 (depends on 16)

The method of claim 16, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 25 (depends on 16)

The method of claim 16, further comprising a computer processing element controller monitoring completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.

### Claim 26

A computer program product for reducing an amount of data representing a genetic sequence of an organism using a computer having a plurality of computer processing elements, the computer program product comprising:
one or more computer-readable, tangible storage devices;
program instructions, stored on at least one of the one or more storage devices, to divide a reference genome and the genetic sequence of the organism into parts and assign each of the parts of the reference genome and the parts of the genetic sequence of the organism to one of the plurality of computer processing elements;
within each computer processing element, program instructions, stored on at least one of the one or more storage devices, to compare the nucleotides of the assigned part of the genetic sequence of the organism to nucleotides of the assigned part of the reference genome, to find differences where nucleotides of the genetic sequence of the organism are different from the nucleotides of the assigned part of the reference genome, and store surprisal data in a repository, the surprisal data comprising at least a starting location of the differences within the assigned part of the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the assigned part of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the assigned part of the reference genome;
program instructions, stored on at least one of the one or more storage devices, to retrieve the parts of the surprisal data from the repository;
program instructions, stored on at least one of the one or more storage devices, to combine the parts of the surprisal data from the repository to form a complete set of surprisal data representing the differences between the genetic sequence of the organism and the reference genome;
program instructions, stored on at least one of the one or more storage devices, to store the complete set of surprisal data in the repository;
program instructions, stored on at least one of the one or more storage devices, to recreate an entire genome of the organism by:
retrieving the surprisal data from the repository and dividing the surprisal data into parts;
retrieving the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
assigning parts of the reference genome and corresponding parts of the surprisal data to each of a plurality of computer processing elements;
within each computer processing element altering the parts of the assigned reference genome based on the corresponding part of the surprisal data, by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location, and storing the altered parts of the reference genome in the repository;
retrieving the altered parts of the reference genome from the repository; and
combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 27 (depends on 26)

The computer program product of claim 26, wherein the organism is human.

### Claim 28 (depends on 26)

The computer program product of claim 26, further comprising program instructions, stored on at least one of the one or more storage devices, to receive at least one sequence of an organism from a source and store the at least one sequence in a repository.

### Claim 29 (depends on 26)

The computer program product of claim 26, further comprising program instructions, stored on at least one of the one or more storage devices, to obtain a reference genome corresponding to the organism and store the reference genome in a repository.

### Claim 30 (depends on 26)

The computer program product of claim 26, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 31 (depends on 26)

The computer program product of claim 26, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 32 (depends on 26)

The computer program product of claim 26, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 33 (depends on 26)

The computer program product of claim 26, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices, to monitor completion of the comparison of the nucleotides of the genetic sequence of the organism to the nucleotides of part of the reference genome by each of the computer processing elements.

### Claim 34 (depends on 26)

The computer program product of claim 26, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices, to monitor completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.

### Claim 35

A computer program product for recreating an entire genome of the organism from a reference genome and surprisal data using a computer having a plurality of computer processing elements, the surprisal data comprising a starting location of the differences within the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the reference genome, the computer program product comprising:
one or more computer-readable, tangible storage devices;
program instructions, stored on at least one of the one or more storage devices, to retrieve surprisal data from a repository and dividing the surprisal data into parts;
program instructions, stored on at least one of the one or more storage devices, to retrieve the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
program instructions, stored on at least one of the one or more storage devices, to assign parts of the reference genome and corresponding parts of the surprisal data to a plurality of computer processing elements;
within each computer processing element, program instructions, stored on at least one of the one or more storage devices, to alter the parts of the assigned reference genome based on the corresponding part of the surprisal data by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location and store the altered parts of the reference genome in the repository; and
program instructions, stored on at least one of the one or more storage devices, to retrieve the altered parts of the reference genome in the repository combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 36 (depends on 35)

The computer program product of claim 35, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 37 (depends on 35)

The computer program product of claim 35, wherein the organism is human.

### Claim 38 (depends on 35)

The computer program product of claim 35, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 39 (depends on 35)

The computer program product of claim 35, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 40 (depends on 35)

The computer program product of claim 35, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices, to monitor completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.

### Claim 41

A computer system for reducing an amount of data representing a genetic sequence of an organism, using a computer having a plurality of computer processing elements, the computer system comprising:
one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to divide a reference genome and the genetic sequence of the organism into parts and assign each of the parts of the reference genome and the parts of the genetic sequence of the organism to one of the plurality of computer processing elements;
within each computer processing element, program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to compare the nucleotides of the assigned part of the genetic sequence of the organism to nucleotides of the assigned part of the reference genome, to find differences where nucleotides of the genetic sequence of the organism are different from the nucleotides of the assigned part of the reference genome, and store surprisal data in a repository, the surprisal data comprising at least a starting location of the differences within the assigned part of the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the assigned part of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the assigned part of the reference genome;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the parts of the surprisal data from the repository;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to combine the parts of the surprisal data from the repository to form a complete set of surprisal data representing the differences between the genetic sequence of the organism and the reference genome;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to store the complete set of surprisal data in the repository;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to recreate an entire genome of the organism by:
retrieving the surprisal data from the repository and dividing the surprisal data into parts;
retrieving the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
assigning parts of the reference genome and corresponding parts of the surprisal data to each of a plurality of computer processing elements;
each computer processing element altering the parts of the assigned reference genome based on the corresponding part of the surprisal data, by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location, and storing the altered parts of the reference genome in the repository;
retrieving the altered parts of the reference genome from the repository; and
combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 42 (depends on 41)

The computer system of claim 41, wherein the organism is human.

### Claim 43 (depends on 41)

The computer system of claim 41, further comprising program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to receive at least one sequence of an organism from a source and store the at least one sequence in a repository.

### Claim 44 (depends on 41)

The computer system of claim 41, further comprising program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to obtain a reference genome corresponding to the organism and store the reference genome in a repository.

### Claim 45 (depends on 41)

The computer system of claim 41, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 46 (depends on 41)

The computer system of claim 41, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 47 (depends on 41)

The computer system of claim 41, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 48 (depends on 41)

The computer system of claim 41, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to monitor completion of the comparison of the nucleotides of the genetic sequence of the organism to the nucleotides of part of the reference genome by each of the computer processing elements.

### Claim 49 (depends on 41)

The computer system of claim 41, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to monitor completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.

### Claim 50

A computer system for recreating an entire genome of the organism from a reference genome and surprisal data using a computer having a plurality of computer processing elements, the surprisal data comprising a starting location of the differences within the reference genome, and the nucleotides from the genetic sequence of the organism which are different from the nucleotides of the reference genome, discarding sequences of nucleotides that are the same in the genetic sequence of the organism and the reference genome, the computer system comprising:
one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve surprisal data from a repository and dividing the surprisal data into parts;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the reference genome from the repository and dividing the reference genome into parts corresponding to the parts of the surprisal data;
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to assign parts of the reference genome and corresponding parts of the surprisal data to a plurality of computer processing elements;
within each computer processing element, program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to alter the parts of the assigned reference genome based on the corresponding part of the surprisal data by replacing nucleotides at each location in the assigned parts of the reference genome specified by the corresponding parts of surprisal data with the nucleotides from the genetic sequence of the organism in the surprisal data associated with the location and store the altered parts of the reference genome in the repository; and
program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to retrieve the altered parts of the reference genome in the repository combining the altered parts of the reference genome together, resulting in an entire genome of the organism.

### Claim 51 (depends on 50)

The computer system of claim 50, in which the surprisal data further comprises a number of differences at the location within the reference genome.

### Claim 52 (depends on 50)

The computer system of claim 50, wherein the organism is human.

### Claim 53 (depends on 50)

The computer system of claim 50, wherein the multiple computer processing elements are field programmable gate arrays.

### Claim 54 (depends on 50)

The computer system of claim 50, wherein the multiple computer processing elements are computer programmable logic devices.

### Claim 55 (depends on 50)

The computer system of claim 50, further comprising a computer processing element controller with program instructions, stored on at least one of the one or more storage devices, to monitor completion of the alteration of the parts of the assigned reference genome by each of the computer processing elements.
