#include <Kmer_AMOS.hh>
Inheritance diagram for AMOS::Kmer_t:
Public Member Functions | |
Kmer_t () | |
Constructs an empty Kmer_t object. | |
Kmer_t (const Kmer_t &source) | |
Copy constructor. | |
~Kmer_t () | |
Destroys a Kmer_t object. | |
virtual void | clear () |
Clears all object data, reinitializes the object. | |
char | getBase (Pos_t index) const |
Get a single sequence base from the kmer. | |
uint32_t | getCount () const |
Get the number of this Kmer's occurrences. | |
uint8_t | getLength () const |
Gets the length of the Kmer. | |
virtual NCode_t | getNCode () const |
Get the AMOS NCode type identifier. | |
const std::vector< ID_t > & | getReads () const |
Get the containing read IIDs. | |
std::vector< ID_t > & | getReads () |
Get the containing read IIDs. | |
std::string | getSeqString () const |
Get the Kmer sequence string. | |
virtual void | readMessage (const Message_t &msg) |
Reads in data from a Message object. | |
void | setBase (char seqchar, Pos_t index) |
Set a single sequence base for the kmer. | |
void | setCount (uint32_t count) |
Set the number of this Kmer's occurrences. | |
void | setReads (const std::vector< ID_t > &reads) |
Set the list of containing read IIDs. | |
void | setSeqString (const std::string &seq) |
Set the Kmer sequence string. | |
Kmer_t & | operator++ (int) |
Increments kmer count by 1 (postfix). | |
virtual void | writeMessage (Message_t &msg) const |
Writes data to a Message object. | |
Kmer_t & | operator= (const Kmer_t &source) |
Assignment (copy) operator. | |
const std::string & | getComment () const |
Get the comment string. | |
const Status_t | getStatus () const |
Get the status value. | |
void | setComment (const std::string &comment) |
Set the comment string. | |
void | setStatus (Status_t status) |
Set the status value. | |
const std::string & | getEID () const |
Get the external ID. | |
ID_t | getIID () const |
Get the internal ID. | |
bool | isRemoved () const |
Check if the object is waiting to be removed from the bank. | |
bool | isModified () const |
Check if the object has been modified. | |
bool | isFlagA () const |
Check the value of flag A. | |
bool | isFlagB () const |
Check the value of flag B. | |
void | setEID (const std::string &eid) |
Set the external ID. | |
void | setFlagA (bool flag) |
Set flag A. | |
void | setFlagB (bool flag) |
Set flag B. | |
void | setIID (ID_t iid) |
Set the internal ID. | |
Static Public Attributes | |
const NCode_t | NCODE = M_KMER |
The NCode type identifier for this object. | |
const uint8_t | MAX_LENGTH = 255 |
Maximum Kmer length. | |
Protected Member Functions | |
virtual void | readRecord (std::istream &fix, std::istream &var) |
Read selected class members from a biserial record. | |
virtual void | writeRecord (std::ostream &fix, std::ostream &var) const |
Write selected class members to a biserial record. | |
Static Protected Member Functions | |
uint8_t | compress (char seqchar) |
Compresses a sequence char into two bits. | |
char | uncompress (uint8_t byte) |
Uncompresses two bits into a sequence char. | |
Protected Attributes | |
ID_t | iid_m |
internal ID (integer AMOS identifier) | |
std::string | eid_m |
external ID (anything you want sans newlines) | |
BankFlags_t | flags_m |
bank flags, derived classes may use "nibble" | |
Static Protected Attributes | |
const uint8_t | ADENINE_BITS = 0x0 |
'A' bit | |
const uint8_t | CYTOSINE_BITS = 0x40 |
'C' bit | |
const uint8_t | GUANINE_BITS = 0x80 |
'G' bit | |
const uint8_t | THYMINE_BITS = 0xC0 |
'T' bit | |
const uint8_t | SEQ_BITS = 0xC0 |
sequence bit mask |
A string of K bases that is present in one or more occurrences throught a set of sequencing reads.
Definition at line 29 of file Kmer_AMOS.hh.
|
Constructs an empty Kmer_t object. Sets all members to 0 or NULL Definition at line 118 of file Kmer_AMOS.hh. |
|
Copy constructor. Definition at line 128 of file Kmer_AMOS.hh. |
|
Destroys a Kmer_t object. Frees the memory used for the compressed sequence Definition at line 140 of file Kmer_AMOS.hh. |
|
Clears all object data, reinitializes the object.
Reimplemented from AMOS::Universal_t. Definition at line 23 of file Kmer_AMOS.cc. References AMOS::Universal_t::clear(). Referenced by readMessage(), and writeMessage(). |
|
Compresses a sequence char into two bits.
References ADENINE_BITS, AMOS_THROW_ARGUMENT, CYTOSINE_BITS, GUANINE_BITS, and THYMINE_BITS. Referenced by setBase(), and setSeqString(). |
|
Get a single sequence base from the kmer. Retrieves and uncompresses the sequence base for the requested index.
References AMOS_THROW_ARGUMENT, AMOS::Pos_t, and uncompress(). |
|
Get the comment string.
Referenced by AMOS::operator<<(). |
|
Get the number of this Kmer's occurrences.
|
|
Get the external ID.
References AMOS::IBankable_t::eid_m. Referenced by AMOS::Contig_t::writeUMD(). |
|
Get the internal ID.
References AMOS::ID_t, and AMOS::IBankable_t::iid_m. Referenced by AMOS::Index_t::buildContigFeature(), AMOS::Index_t::buildContigScaffold(), AMOS::Index_t::buildReadContig(), AMOS::Index_t::buildReadLibrary(), AMOS::Index_t::buildScaffoldFeature(), and AMOS::operator<<(). |
|
Gets the length of the Kmer.
|
|
Get the AMOS NCode type identifier.
Reimplemented from AMOS::Universal_t. Definition at line 202 of file Kmer_AMOS.hh. References AMOS::NCode_t. |
|
Get the containing read IIDs.
|
|
Get the containing read IIDs.
|
|
Get the Kmer sequence string. Uncompresses the Kmer sequence and returns a string representation.
References AMOS::NULL_CHAR, AMOS::Pos_t, and uncompress(). Referenced by writeMessage(). |
|
Get the status value.
References AMOS::Status_t. |
|
Check the value of flag A.
References AMOS::IBankable_t::flags_m. Referenced by AMOS::Universal_t::writeMessage(), and AMOS::Overlap_t::writeMessage(). |
|
Check the value of flag B.
References AMOS::IBankable_t::flags_m. Referenced by AMOS::Universal_t::writeMessage(), and AMOS::Overlap_t::writeMessage(). |
|
Check if the object has been modified.
References AMOS::IBankable_t::flags_m. |
|
Check if the object is waiting to be removed from the bank.
References AMOS::IBankable_t::flags_m. |
|
Increments kmer count by 1 (postfix). Increment the kmer count by 1 using postfix notation, i.e. mykmer ++;
|
|
Assignment (copy) operator. Efficiently copies the compressed data from the another Kmer_t.
References AMOS::SafeRealloc(), and AMOS::Size_t. |
|
Reads in data from a Message object. Reads the data contained in a Message object and stores it in the Messagable object. Will not complain if incoming message is of the wrong type, will only try and suck out the fields it recognizes. All previous data in the Messagable object will be cleared or overwritten.
Reimplemented from AMOS::Universal_t. Definition at line 55 of file Kmer_AMOS.cc. References AMOS_THROW_ARGUMENT, clear(), AMOS::F_COUNT, AMOS::F_READS, AMOS::F_SEQUENCE, AMOS::ID_t, AMOS::Universal_t::readMessage(), and setSeqString(). |
|
Read selected class members from a biserial record. Reads the fixed and variable length streams from a biserial record and initializes the class members to the values stored within. Used in translating a biserial IBankable object, and needed to retrieve objects from a bank.
Reimplemented from AMOS::Universal_t. Definition at line 102 of file Kmer_AMOS.cc. References AMOS::NULL_ID, AMOS::Pos_t, AMOS::readLE(), AMOS::Universal_t::readRecord(), AMOS::SafeRealloc(), and AMOS::Size_t. |
|
Set a single sequence base for the kmer. Only the characters A,C,G,T are allowed, all other characters will throw an exception.
References AMOS_THROW_ARGUMENT, compress(), AMOS::Pos_t, and SEQ_BITS. |
|
Set the comment string.
|
|
Set the number of this Kmer's occurrences.
|
|
Set the external ID. Will only use the characters up to but not including the first newline.
References AMOS::IBankable_t::eid_m, and AMOS::NL_CHAR. Referenced by AMOS::Contig_t::readUMD(). |
|
Set flag A. Has no effect on the actual object in memory other than setting a flag. This is one of two user accessible flags to be used as needed, the other is flag B.
References AMOS::IBankable_t::flags_m. Referenced by AMOS::Universal_t::readMessage(), and AMOS::Overlap_t::readMessage(). |
|
Set flag B. Has no effect on the actual object in memory other than setting a flag. This is one of two user accessible flags to be used as needed, the other is flag A.
References AMOS::IBankable_t::flags_m. Referenced by AMOS::Universal_t::readMessage(), and AMOS::Overlap_t::readMessage(). |
|
Set the internal ID.
References AMOS::ID_t, and AMOS::IBankable_t::iid_m. |
|
Set the list of containing read IIDs.
|
|
Set the Kmer sequence string. Compresses the string and updates the Kmer sequence. Does not alter Kmer count or read list, these must be reset manually. Only the characters A,C,G,T are allowed, all other characters will throw an exception (except for newlines, which will be discarded).
References AMOS_THROW_ARGUMENT, compress(), AMOS::NL_CHAR, AMOS::Pos_t, AMOS::SafeRealloc(), and AMOS::Size_t. Referenced by readMessage(). |
|
Set the status value.
References AMOS::Status_t. Referenced by AMOS::Universal_t::readMessage(). |
|
Uncompresses two bits into a sequence char.
References ADENINE_BITS, AMOS_THROW_ARGUMENT, CYTOSINE_BITS, GUANINE_BITS, SEQ_BITS, and THYMINE_BITS. Referenced by getBase(), and getSeqString(). |
|
Writes data to a Message object. Writes the data contained in a Messagable object to a Message object. All previous data in the Message will be cleared or overwritten.
Reimplemented from AMOS::Universal_t. Definition at line 160 of file Kmer_AMOS.cc. References clear(), AMOS::F_COUNT, AMOS::F_READS, AMOS::F_SEQUENCE, getSeqString(), AMOS::NULL_STRING, and AMOS::Universal_t::writeMessage(). |
|
Write selected class members to a biserial record. Writes the fixed and variable length streams to a biserial record. Used in generating a biserial IBankable object, and needed to commit objects to a bank. Should not write the flags, EID, or IID of the object because the bank will handle the storage of these fields on its own.
Reimplemented from AMOS::Universal_t. Definition at line 196 of file Kmer_AMOS.cc. References AMOS::Pos_t, AMOS::Size_t, AMOS::writeLE(), and AMOS::Universal_t::writeRecord(). |
|
'A' bit Definition at line 42 of file Kmer_AMOS.hh. Referenced by compress(), and uncompress(). |
|
'C' bit Definition at line 43 of file Kmer_AMOS.hh. Referenced by compress(), and uncompress(). |
|
external ID (anything you want sans newlines) Definition at line 66 of file Bank_AMOS.hh. Referenced by AMOS::IBankable_t::clear(), AMOS::IBankable_t::getEID(), and AMOS::IBankable_t::setEID(). |
|
bank flags, derived classes may use "nibble" Definition at line 68 of file Bank_AMOS.hh. Referenced by AMOS::IBankable_t::clear(), AMOS::IBankable_t::isFlagA(), AMOS::IBankable_t::isFlagB(), AMOS::IBankable_t::isModified(), AMOS::IBankable_t::isRemoved(), AMOS::IBankable_t::setFlagA(), and AMOS::IBankable_t::setFlagB(). |
|
'G' bit Definition at line 44 of file Kmer_AMOS.hh. Referenced by compress(), and uncompress(). |
|
internal ID (integer AMOS identifier) Definition at line 64 of file Bank_AMOS.hh. Referenced by AMOS::IBankable_t::clear(), AMOS::IBankable_t::getIID(), AMOS::IBankable_t::IBankable_t(), and AMOS::IBankable_t::setIID(). |
|
Maximum Kmer length. Definition at line 19 of file Kmer_AMOS.cc. |
|
The NCode type identifier for this object.
Reimplemented from AMOS::Universal_t. Definition at line 18 of file Kmer_AMOS.cc. |
|
sequence bit mask Definition at line 46 of file Kmer_AMOS.hh. Referenced by setBase(), and uncompress(). |
|
'T' bit Definition at line 45 of file Kmer_AMOS.hh. Referenced by compress(), and uncompress(). |