Method for the compression of genome sequence data
AssigneeIllumina, Inc.
InventorGuillaume Alexandre Pascal Rizk
Life of this patent
Estimating the term…
Abstract
The invention relates to a reference-based method for the compression of genome sequence data produced by a sequencing machine. A read record is determined to correspond to a read that is imperfectly mapped to a reference sequence and then selectively encoded based on a number of mismatches of the imperfectly mapped read and a predetermined byte size, where the encoding selectively uses offset-based encoding or another encoding method depending on whether the number of mismatches exceeds a predetermined threshold number.
Claims20
A method for compressing genomic sequence data, the method including:
- obtaining, by one or more computers, a read record;
- determining, by the one or more computers, that the read record corresponds to a read that is imperfectly mapped to a reference sequence;
- determining, by the one or more computers, a number of mismatches of the imperfectly mapped read;
- and
- selectively encoding the read record by the one or more computers, the selectively encoding the read record comprising (i) selecting an encoding process to use based on the number of mismatches of the imperfectly mapped read and on a predetermined byte size, the selecting being between one encoding process and another encoding process, and (ii) encoding bases of the read record using the selected encoding process, wherein the selecting the encoding process and the encoding the bases using the selected encoding process comprises:
- determining that the number of mismatches does not exceed a predetermined threshold number of mismatches, and encoding the read record according to the one encoding process, the one encoding process including, for each mismatch of the imperfectly mapped read, obtaining a respective offset from a previous mismatch that is lower than a maximum encodable offset value controlled by a size of a portion of a field of a compressed read record, of the predetermined byte size, that is to be allocated for storing the obtained offset, and encoding the mismatch and the obtained offset into the compressed read record of the predetermined byte size;
- or
- determining that the number of mismatches exceeds the predetermined threshold number, and encoding the read record according to the another encoding process, the another encoding process including encoding each base of the imperfectly mapped read individually in a compressed read record for the read.
A hardware processor that includes hardware processing circuitry that is configured to perform one or more operations, the one or more operations including:
- obtaining, by the hardware processing circuitry, a read record;
- determining, by the hardware processing circuitry, that the read record corresponds to a read that is imperfectly mapped to a reference sequence;
- determining, by the hardware processing circuitry, a number of mismatches of the imperfectly mapped read;
- and
- selectively encoding the read record by the hardware processing circuitry, the selectively encoding the read record comprising (i) selecting an encoding process to use based on the number of mismatches of the imperfectly mapped read and on a predetermined byte size, the selecting being between one encoding process and another encoding process, and (ii) encoding bases of the read record using the selected encoding process, wherein the selecting the encoding process and the encoding the bases using the selected encoding process comprises:
- determining that the number of mismatches does not exceed a predetermined threshold number of mismatches, and encoding the read record according to the one encoding process, the one encoding process including, for each mismatch of the imperfectly mapped read, obtaining a respective offset from a previous mismatch that is lower than a maximum encodable offset value controlled by a size of a portion of a field of a compressed read record, of the predetermined byte size, that is to be allocated for storing the obtained offset, and encoding the mismatch and the obtained offset into the compressed read record of the predetermined byte size;
- or
- determining that the number of mismatches exceeds the predetermined threshold number, and encoding the read record according to the another encoding process, the another encoding process including encoding each base of the imperfectly mapped read individually in a compressed read record for the read.
A system for compressing genomic sequence data, the system comprising:
- one or more computers and one or more storage devices storing instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform operations including:
- obtaining, by the hardware processing circuitry, a read record;
- determining, by the hardware processing circuitry, that the read record corresponds to a read that is imperfectly mapped to a reference sequence;
- determining, by the hardware processing circuitry, a number of mismatches of the imperfectly mapped read;
- and
- selectively encoding the read record by the one or more computers, the selectively encoding the read record comprising (i) selecting an encoding process to use based on the number of mismatches of the imperfectly mapped read and on a predetermined byte size, the selecting being between one encoding process and another encoding process, and (ii) encoding bases of the read record using the selected encoding process, wherein the selecting the encoding process and the encoding the bases using the selected encoding process comprises:
- determining that the number of mismatches does not exceed a predetermined threshold number of mismatches, and encoding the read record according to the one encoding process, the one encoding process including, for each mismatch of the imperfectly mapped read, obtaining a respective offset from a previous mismatch that is lower than a maximum encodable offset value controlled by a size of a portion of a field of a compressed read record, of the predetermined byte size, that is to be allocated for storing the obtained offset, and encoding the mismatch and the obtained offset into the compressed read record of the predetermined byte size;
- or
- determining that the number of mismatches exceeds the predetermined threshold number, and encoding the read record according to the another encoding process, the another encoding process including encoding each base of the imperfectly mapped read individually in a compressed read record for the read.
A non-transitory computer-readable storage device having stored thereon instructions, which, when executed by a data processing apparatus, cause the data processing apparatus to perform operations for compressing genomic sequence data, the operations including:
- obtaining a read record;
- determining that the read record corresponds to a read that is imperfectly mapped to a reference sequence;
- determining a number of mismatches of the imperfectly mapped read;
- and
- selectively encoding the read record, the selectively encoding the read record comprising (i) selecting an encoding process to use based on the number of mismatches of the imperfectly mapped read and on a predetermined byte size, the selecting being between one encoding process and another encoding process, and (ii) encoding bases of the read record using the selected encoding process, wherein the selecting the encoding process and the encoding the bases using the selected encoding process comprises:
- determining that the number of mismatches does not exceed a predetermined threshold number of mismatches, and encoding the read record according to the one encoding process, the one encoding process including, for each mismatch of the imperfectly mapped read, obtaining a respective offset from a previous mismatch that is lower than a maximum encodable offset value controlled by a size of a portion of a field of a compressed read record, of the predetermined byte size, that is to be allocated for storing the obtained offset, and encoding the mismatch and the obtained offset into the compressed read record of the predetermined byte size;
- or
- determining that the number of mismatches exceeds the predetermined threshold number, and encoding the read record according to the another encoding process, the another encoding process including encoding each base of the imperfectly mapped read individually in a compressed read record for the read.
Dependencies are inferred from the claim text.