package util
Routines and classes for managing sequence and k-mer representations.
- Alphabetic
- By Inheritance
- util
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
class
InvalidNucleotideException extends Exception
Thrown when we encounter a letter in the sequence input that we do not expect to see
-
abstract
class
KmerTable extends IndexedSeq[Array[Long]]
A k-mer table is a collection of k-mers, stored in column-major format.
A k-mer table is a collection of k-mers, stored in column-major format. The first k-mer is stored in kmers(0)(0), kmers(1)(0), ... kmers(n)(0); the second in kmers(0)(1), kmers(1)(1)... kmers(n)(1) and so on. This layout enables fast radix sort. The KmerTable is optionally sorted by construction (by KmerTableBuilder). Each k-mer may contain additional annotation data ("tags") in longs following the sequence data itself.
-
final
class
KmerTable1 extends KmerTable
Specialized KmerTable for n = 1 (k <= 32)
-
final
class
KmerTable2 extends KmerTable
Specialized KmerTable for n = 2 (k <= 64)
-
final
class
KmerTable3 extends KmerTable
Specialized KmerTable for n = 3 (k <= 96)
-
final
class
KmerTable4 extends KmerTable
Specialized KmerTable for n = 4 (k <= 128)
-
class
KmerTableBuilder extends AnyRef
Builder for k-mer tables.
Builder for k-mer tables. K-mers are built by gradually adding longs in order. The builder is not reusable.
-
final
class
KmerTableBuilder1 extends KmerTableBuilder
A KmerTableBuilder where each row is 1 Long.
A KmerTableBuilder where each row is 1 Long. This subclass optimizes addRow() to avoid a loop.
-
final
class
KmerTableBuilder2 extends KmerTableBuilder
A KmerTableBuilder where each row is 2 Longs.
A KmerTableBuilder where each row is 2 Longs. This subclass optimizes addRow() to avoid a loop.
-
final
class
KmerTableBuilder3 extends KmerTableBuilder
A KmerTableBuilder where each row is 3 Longs.
A KmerTableBuilder where each row is 3 Longs. This subclass optimizes addRow() to avoid a loop.
-
final
class
KmerTableN extends KmerTable
General KmerTable for any value of n
- trait KmerVisitor extends AnyRef
-
final
case class
NTBitArray(data: Array[Long], size: Int) extends Ordered[NTBitArray] with Product with Serializable
A bit-packed sequence of nucleotides, where each letter is represented by two bits.
A bit-packed sequence of nucleotides, where each letter is represented by two bits. Some operations mutate this object, and others return a new object instead. A new copy can always be obtained with clone(). No operations can change the size of the contained sequence.
- data
the encoded data. Array of longs, each storing up to 32 nts, with optional padding at the end. The data is left-aligned inside the long, starting from MSB.
- size
the size of this data represented (in NTs)
-
final
class
NTBitArrayBuilder extends AnyRef
A builder for NTBitArrays.
A builder for NTBitArrays. It is the user's responsibility to ensure that they do not write past the end of the array. The array is built from the left to the right end.
-
class
NTBitDecoder extends AnyRef
Methods for decoding NT sequences with reusable buffers.
-
class
NestedRowTagProvider extends RowTagProvider
Wrap a TagProvider into a RowTagProvider by fixing the row
-
trait
RowTagProvider extends AnyRef
Source of tags for a single row (super-mer) of k-mers
-
trait
TagProvider extends AnyRef
Source of tags for a set of k-mers arranged in two dimensions, where the row identifies a super-mer and the col identifies a k-mer position in the super-mer
Value Members
- object Arrays
-
object
BitRepresentation
Helper functions for working with a low level bit representation of nucleotide sequences.
- object DNAHelpers
- object EmptyKmerTable extends KmerTable
- object EmptyRowTagProvider extends RowTagProvider
- object KmerTable
- object NTBitArray extends Serializable