#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 | |
| static const NCode_t | NCODE = M_KMER |
| The NCode type identifier for this object. | |
| static 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 | readRecordFix (std::istream &fix) |
| Read selected class members from a fixed store only. | |
| virtual void | writeRecord (std::ostream &fix, std::ostream &var) const |
| Write selected class members to a biserial record. | |
Static Protected Member Functions | |
| static uint8_t | compress (char seqchar) |
| Compresses a sequence char into two bits. | |
| static 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 | |
| static const uint8_t | ADENINE_BITS = 0x0 |
| 'A' bit | |
| static const uint8_t | CYTOSINE_BITS = 0x40 |
| 'C' bit | |
| static const uint8_t | GUANINE_BITS = 0x80 |
| 'G' bit | |
| static const uint8_t | THYMINE_BITS = 0xC0 |
| 'T' bit | |
| static 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.
| AMOS::Kmer_t::Kmer_t | ( | ) | [inline] |
Constructs an empty Kmer_t object.
Sets all members to 0 or NULL
Definition at line 122 of file Kmer_AMOS.hh.
| AMOS::Kmer_t::Kmer_t | ( | const Kmer_t & | source | ) | [inline] |
| AMOS::Kmer_t::~Kmer_t | ( | ) | [inline] |
Destroys a Kmer_t object.
Frees the memory used for the compressed sequence
Definition at line 144 of file Kmer_AMOS.hh.
| void Kmer_t::clear | ( | ) | [virtual] |
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().
| static uint8_t AMOS::Kmer_t::compress | ( | char | seqchar | ) | [inline, static, protected] |
Compresses a sequence char into two bits.
| seqchar | The sequence base character |
| ArgumentException_t |
Definition at line 59 of file Kmer_AMOS.hh.
References ADENINE_BITS, AMOS_THROW_ARGUMENT, CYTOSINE_BITS, GUANINE_BITS, and THYMINE_BITS.
Referenced by setBase().
| char AMOS::Kmer_t::getBase | ( | Pos_t | index | ) | const [inline] |
Get a single sequence base from the kmer.
Retrieves and uncompresses the sequence base for the requested index.
| index | The index of the requested base |
| ArgumentException_t |
Definition at line 175 of file Kmer_AMOS.hh.
References AMOS_THROW_ARGUMENT, and uncompress().
| const std::string& AMOS::Universal_t::getComment | ( | ) | const [inline, inherited] |
Get the comment string.
Definition at line 116 of file Universal_AMOS.hh.
Referenced by AMOS::operator<<().
| uint32_t AMOS::Kmer_t::getCount | ( | ) | const [inline] |
Get the number of this Kmer's occurrences.
Definition at line 188 of file Kmer_AMOS.hh.
| const std::string& AMOS::IBankable_t::getEID | ( | ) | const [inline, inherited] |
Get the external ID.
Definition at line 174 of file Bank_AMOS.hh.
References AMOS::IBankable_t::eid_m.
Referenced by AMOS::TiledRead_t::TiledRead_t().
| ID_t AMOS::IBankable_t::getIID | ( | ) | const [inline, inherited] |
Get the internal ID.
Definition at line 185 of file Bank_AMOS.hh.
References 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<<().
| uint8_t AMOS::Kmer_t::getLength | ( | ) | const [inline] |
| virtual NCode_t AMOS::Kmer_t::getNCode | ( | ) | const [inline, virtual] |
Get the AMOS NCode type identifier.
Reimplemented from AMOS::Universal_t.
Definition at line 206 of file Kmer_AMOS.hh.
References NCODE.
| std::vector<ID_t>& AMOS::Kmer_t::getReads | ( | ) | [inline] |
Get the containing read IIDs.
Definition at line 228 of file Kmer_AMOS.hh.
| const std::vector<ID_t>& AMOS::Kmer_t::getReads | ( | ) | const [inline] |
Get the containing read IIDs.
Definition at line 217 of file Kmer_AMOS.hh.
| string Kmer_t::getSeqString | ( | ) | const |
Get the Kmer sequence string.
Uncompresses the Kmer sequence and returns a string representation.
Definition at line 34 of file Kmer_AMOS.cc.
References AMOS::NULL_CHAR, and uncompress().
Referenced by writeMessage().
| const Status_t AMOS::Universal_t::getStatus | ( | ) | const [inline, inherited] |
| bool AMOS::IBankable_t::isFlagA | ( | ) | const [inline, inherited] |
Check the value of flag A.
Definition at line 228 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
Referenced by AMOS::Universal_t::writeMessage(), and AMOS::Overlap_t::writeMessage().
| bool AMOS::IBankable_t::isFlagB | ( | ) | const [inline, inherited] |
Check the value of flag B.
Definition at line 239 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
Referenced by AMOS::Universal_t::writeMessage(), and AMOS::Overlap_t::writeMessage().
| bool AMOS::IBankable_t::isModified | ( | ) | const [inline, inherited] |
Check if the object has been modified.
Definition at line 217 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
| bool AMOS::IBankable_t::isRemoved | ( | ) | const [inline, inherited] |
Check if the object is waiting to be removed from the bank.
Definition at line 206 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
| Kmer_t& AMOS::Kmer_t::operator++ | ( | int | ) | [inline] |
Increments kmer count by 1 (postfix).
Increment the kmer count by 1 using postfix notation, i.e. mykmer ++;
Definition at line 334 of file Kmer_AMOS.hh.
Assignment (copy) operator.
Efficiently copies the compressed data from the another Kmer_t.
| source | The Kmer_t object to copy |
Definition at line 231 of file Kmer_AMOS.cc.
References AMOS::SafeRealloc().
| void Kmer_t::readMessage | ( | const Message_t & | msg | ) | [virtual] |
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.
| msg | The Message to read from |
| ArgumentException_t |
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::Universal_t::readMessage(), and setSeqString().
| virtual void AMOS::Kmer_t::readRecord | ( | std::istream & | fix, | |
| std::istream & | var | |||
| ) | [protected, virtual] |
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.
| fix | The fixed length stream (stores all fixed length members) | |
| var | The variable length stream (stores all var length members) |
The get pointer of var is at the beginning of the record
Reimplemented from AMOS::Universal_t.
| virtual void AMOS::Kmer_t::readRecordFix | ( | std::istream & | fix | ) | [protected, virtual] |
Read selected class members from a fixed store only.
Reads the fixed stream and initializes the class members to the values stored within. Used to fetch the fixed portion of a biserial IBankable object, and needed to retrieve objects from a bank.
| fix | The fixed length stream (stores all fixed length members) |
Reimplemented from AMOS::Universal_t.
| void AMOS::Kmer_t::setBase | ( | char | seqchar, | |
| Pos_t | index | |||
| ) | [inline] |
Set a single sequence base for the kmer.
Only the characters A,C,G,T are allowed, all other characters will throw an exception.
| seqchar | The sequence base character | |
| index | The index to assign this character |
seqchar is A,C,G,T (case insensitive)
| ArgumentException_t |
Definition at line 272 of file Kmer_AMOS.hh.
References AMOS_THROW_ARGUMENT, compress(), and SEQ_BITS.
| void AMOS::Universal_t::setComment | ( | const std::string & | comment | ) | [inline, inherited] |
Set the comment string.
| comment | The new comment string |
Definition at line 150 of file Universal_AMOS.hh.
| void AMOS::Kmer_t::setCount | ( | uint32_t | count | ) | [inline] |
Set the number of this Kmer's occurrences.
| count | The new number of occurrences |
Definition at line 292 of file Kmer_AMOS.hh.
| void AMOS::IBankable_t::setEID | ( | const std::string & | eid | ) | [inline, inherited] |
Set the external ID.
Will only use the characters up to but not including the first newline.
Definition at line 252 of file Bank_AMOS.hh.
References AMOS::IBankable_t::eid_m, and AMOS::NL_CHAR.
| void AMOS::IBankable_t::setFlagA | ( | bool | flag | ) | [inline, inherited] |
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.
| flag | The new flag A value |
Definition at line 272 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
Referenced by AMOS::Universal_t::readMessage(), and AMOS::Overlap_t::readMessage().
| void AMOS::IBankable_t::setFlagB | ( | bool | flag | ) | [inline, inherited] |
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.
| flag | The new flag B value |
Definition at line 288 of file Bank_AMOS.hh.
References AMOS::IBankable_t::flags_m.
Referenced by AMOS::Universal_t::readMessage(), and AMOS::Overlap_t::readMessage().
| void AMOS::IBankable_t::setIID | ( | ID_t | iid | ) | [inline, inherited] |
Set the internal ID.
| iid | The new internal ID |
Definition at line 300 of file Bank_AMOS.hh.
References AMOS::IBankable_t::iid_m.
| void AMOS::Kmer_t::setReads | ( | const std::vector< ID_t > & | reads | ) | [inline] |
Set the list of containing read IIDs.
| reads | The new vector of read IIDs that contain this Kmer |
Definition at line 304 of file Kmer_AMOS.hh.
| void AMOS::Kmer_t::setSeqString | ( | const std::string & | seq | ) |
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).
| seq | The new Kmer sequence string |
seqchar is A,C,G,T (case insensitive)
| ArgumentException_t |
Referenced by readMessage().
| void AMOS::Universal_t::setStatus | ( | Status_t | status | ) | [inline, inherited] |
Set the status value.
| status | The new status value |
Definition at line 162 of file Universal_AMOS.hh.
Referenced by AMOS::Universal_t::readMessage().
| static char AMOS::Kmer_t::uncompress | ( | uint8_t | byte | ) | [inline, static, protected] |
Uncompresses two bits into a sequence char.
| byte | The compressed sequence bits (in highest two bit positions) |
| Exception_t |
Definition at line 82 of file Kmer_AMOS.hh.
References ADENINE_BITS, AMOS_THROW_ARGUMENT, CYTOSINE_BITS, GUANINE_BITS, SEQ_BITS, and THYMINE_BITS.
Referenced by getBase(), and getSeqString().
| void Kmer_t::writeMessage | ( | Message_t & | msg | ) | const [virtual] |
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.
| msg | The Message to write to |
Reimplemented from AMOS::Universal_t.
Definition at line 177 of file Kmer_AMOS.cc.
References clear(), AMOS::F_COUNT, AMOS::F_READS, AMOS::F_SEQUENCE, getSeqString(), NCODE, AMOS::NULL_STRING, and AMOS::Universal_t::writeMessage().
| virtual void AMOS::Kmer_t::writeRecord | ( | std::ostream & | fix, | |
| std::ostream & | var | |||
| ) | const [protected, virtual] |
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.
| fix | The fixed length stream (stores all fixed length members) | |
| var | The variable length stream (stores all var length members) |
Reimplemented from AMOS::Universal_t.
const uint8_t AMOS::Kmer_t::ADENINE_BITS = 0x0 [static, protected] |
const uint8_t AMOS::Kmer_t::CYTOSINE_BITS = 0x40 [static, protected] |
std::string AMOS::IBankable_t::eid_m [protected, inherited] |
external ID (anything you want sans newlines)
Definition at line 66 of file Bank_AMOS.hh.
Referenced by AMOS::Bank_t::append(), AMOS::IBankable_t::clear(), AMOS::IBankable_t::getEID(), AMOS::BankStream_t::operator<<(), AMOS::BankStream_t::operator>>(), AMOS::Universal_t::readMessage(), AMOS::BankStream_t::replace(), AMOS::Bank_t::replace(), AMOS::BankStream_t::replaceByBID(), AMOS::IBankable_t::setEID(), and AMOS::Universal_t::writeMessage().
BankFlags_t AMOS::IBankable_t::flags_m [protected, inherited] |
bank flags, derived classes may use "nibble"
Definition at line 68 of file Bank_AMOS.hh.
Referenced by AMOS::Bank_t::appendBID(), AMOS::Sequence_t::clear(), AMOS::IBankable_t::clear(), AMOS::Sequence_t::compress(), AMOS::Bank_t::fetchBID(), AMOS::Bank_t::fetchBIDFix(), AMOS::Overlap_t::getAdjacency(), AMOS::Link_t::getAdjacency(), AMOS::Sequence_t::isCompressed(), AMOS::IBankable_t::isFlagA(), AMOS::IBankable_t::isFlagB(), AMOS::Overlap_t::isFlagC(), AMOS::IBankable_t::isModified(), AMOS::IBankable_t::isRemoved(), AMOS::BankStream_t::operator<<(), AMOS::BankStream_t::operator>>(), AMOS::Bank_t::replaceBID(), AMOS::Overlap_t::setAdjacency(), AMOS::Link_t::setAdjacency(), AMOS::IBankable_t::setFlagA(), AMOS::IBankable_t::setFlagB(), AMOS::Overlap_t::setFlagC(), and AMOS::Sequence_t::uncompress().
const uint8_t AMOS::Kmer_t::GUANINE_BITS = 0x80 [static, protected] |
ID_t AMOS::IBankable_t::iid_m [protected, inherited] |
internal ID (integer AMOS identifier)
Definition at line 64 of file Bank_AMOS.hh.
Referenced by AMOS::Bank_t::append(), AMOS::IBankable_t::clear(), AMOS::IBankable_t::getIID(), AMOS::IBankable_t::IBankable_t(), AMOS::BankStream_t::operator<<(), AMOS::BankStream_t::operator>>(), AMOS::Universal_t::readMessage(), AMOS::BankStream_t::replace(), AMOS::Bank_t::replace(), AMOS::BankStream_t::replaceByBID(), AMOS::IBankable_t::setIID(), and AMOS::Universal_t::writeMessage().
const uint8_t Kmer_t::MAX_LENGTH = 255 [static] |
const NCode_t Kmer_t::NCODE = M_KMER [static] |
The NCode type identifier for this object.
Reimplemented from AMOS::Universal_t.
Definition at line 111 of file Kmer_AMOS.hh.
Referenced by getNCode(), and writeMessage().
const uint8_t AMOS::Kmer_t::SEQ_BITS = 0xC0 [static, protected] |
sequence bit mask
Definition at line 46 of file Kmer_AMOS.hh.
Referenced by setBase(), and uncompress().
const uint8_t AMOS::Kmer_t::THYMINE_BITS = 0xC0 [static, protected] |
1.4.7