#include <Index_AMOS.hh>
Inheritance diagram for AMOS::Index_t:
Public Types | |
| typedef HASHMAP::hash_multimap< ID_t, ID_t >::iterator | iterator |
| Un-mutable index iterator, only itr -> second can be modified. | |
| typedef HASHMAP::hash_multimap< ID_t, ID_t >::const_iterator | const_iterator |
| constant index iterator | |
Public Member Functions | |
| Index_t () | |
| Constructs an empty Index_t object. | |
| Index_t (NCode_t a, NCode_t b) | |
| Constructs an Index_t of a certain type. | |
| Index_t (const Index_t &source) | |
| Copy constructor. | |
| ~Index_t () | |
| Destroys a Index_t object. | |
| iterator | begin () |
| Returns a iterator to the beginning of the index. | |
| const_iterator | begin () const |
| void | buildContigFeature (const std::string bankname) |
| Builds the index with Contig_t Feature_t's. | |
| void | buildContigScaffold (const std::string bankname) |
| Builds the index with Contig_t to Scaffold_t mappings. | |
| void | buildReadContig (const std::string bankname) |
| Builds the index with Read_t to Contig_t mappings. | |
| void | buildReadLibrary (const std::string bankname) |
| Builds the index with Read_t to Library_t mappings. | |
| void | buildReadMate (const std::string bankname) |
| Builds the index with mated Read_t's. | |
| void | buildScaffoldFeature (const std::string bankname) |
| Builds the index with Scaffold_t Feature_t's. | |
| iterator | end () |
| Returns a iterator to the end of the index. | |
| const_iterator | end () const |
| bool | empty () const |
| Returns true if the index is empty. | |
| virtual void | clear () |
| Clears all object data, reinitializes the object. | |
| Size_t | count (ID_t key) const |
| Returns the number of IDs associated with a particular key. | |
| virtual NCode_t | getNCode () const |
| Get the AMOS NCode type identifier. | |
| Size_t | getSize () const |
| Returns the number of ID pairs in the index. | |
| std::pair< NCode_t, NCode_t > | getType () const |
| Get the index type as a pair of NCodes. | |
| void | insert (ID_t key, ID_t value) |
| Inserts a new IID pair into the index. | |
| void | insert (std::pair< ID_t, ID_t > iids) |
| bool | isMulti (ID_t key) const |
| Returns true if count is > 1 for a particular key. | |
| ID_t | lookup (ID_t key) const |
| Look up a single IID by its index key. | |
| std::pair< iterator, iterator > | lookupAll (ID_t key) |
| Look up a list of IIDs by their index key. | |
| std::pair< const_iterator, const_iterator > | lookupAll (ID_t key) const |
| virtual void | readMessage (const Message_t &msg) |
| Reads in data from a Message object. | |
| Size_t | remove (ID_t key) |
| Remove all IIDs associated with a particular key. | |
| void | remove (iterator itr) |
| Remove a single ID pair. | |
| void | setType (std::pair< NCode_t, NCode_t > type) |
| Set the index type as a pair of NCodes. | |
| void | setType (NCode_t a, NCode_t b) |
| virtual void | writeMessage (Message_t &msg) const |
| Writes data to a Message object. | |
| 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_INDEX |
| The NCode type identifier for this object. | |
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. | |
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" | |
Provides an efficient means for storing/retrieving inter-object relationships, e.g. read to mated read. Since most objects only store a minimal set of references, it can be akward and costly to identify related objects not directly linked with an IID reference. The Index_t provides a way to amortize this cost by storing the association information directly for future, repeated use. When in memory, it is essentially a watered-down version of an STL multimap.
Definition at line 33 of file Index_AMOS.hh.
| typedef HASHMAP::hash_multimap<ID_t, ID_t>::const_iterator AMOS::Index_t::const_iterator |
| typedef HASHMAP::hash_multimap<ID_t, ID_t>::iterator AMOS::Index_t::iterator |
Un-mutable index iterator, only itr -> second can be modified.
Definition at line 63 of file Index_AMOS.hh.
| AMOS::Index_t::Index_t | ( | ) | [inline] |
Constructs an empty Index_t object.
Sets all members to zero or NULL
Definition at line 74 of file Index_AMOS.hh.
References AMOS::NULL_NCODE.
| AMOS::Index_t::Index_t | ( | const Index_t & | source | ) | [inline] |
| AMOS::Index_t::~Index_t | ( | ) | [inline] |
| const_iterator AMOS::Index_t::begin | ( | ) | const [inline] |
| iterator AMOS::Index_t::begin | ( | ) | [inline] |
Returns a iterator to the beginning of the index.
Iterator is of the type hash_multimap<ID_t, ID_t>::iterator. Access TO and FROM IIDs with 'itr -> first' and 'itr -> second' respectively.
Definition at line 116 of file Index_AMOS.hh.
Referenced by begin(), buildContigScaffold(), buildReadContig(), and writeMessage().
| void Index_t::buildContigFeature | ( | const std::string | bankname | ) |
Builds the index with Contig_t Feature_t's.
Builds the index with contig features, i.e. the index will contain a set of all associated features for each contig IID. Will throw an exception if there was any trouble opening and reading from the banks.
| bankname | Name of the bank directory to index |
| ArgumentException_t | ||
| IOException_t |
Definition at line 22 of file Index_AMOS.cc.
References AMOS::B_READ, clear(), AMOS::IBankable_t::getIID(), insert(), AMOS::Feature_t::NCODE, AMOS::Contig_t::NCODE, AMOS::NULL_ID, and setType().
| void Index_t::buildContigScaffold | ( | const std::string | bankname | ) |
Builds the index with Contig_t to Scaffold_t mappings.
Builds the index with contig to scaffold links, i.e. the index will reference the containing scaffold(s) for each contig IID. Will throw an exception if there was any trouble opening and reading from the banks.
| bankname | Name of the bank directory to index |
| ArgumentException_t | ||
| IOException_t |
Definition at line 45 of file Index_AMOS.cc.
References AMOS::B_READ, begin(), clear(), end(), AMOS::IBankable_t::getIID(), insert(), AMOS::Scaffold_t::NCODE, AMOS::Contig_t::NCODE, AMOS::NULL_ID, and setType().
| void Index_t::buildReadContig | ( | const std::string | bankname | ) |
Builds the index with Read_t to Contig_t mappings.
Builds the index with read to contig links, i.e. the index will reference the containing contig(s) for each read IID. Will throw an exception if there was any trouble opening and reading from the banks.
| bankname | Name of the bank directory to index |
| ArgumentException_t | ||
| IOException_t |
Definition at line 71 of file Index_AMOS.cc.
References AMOS::B_READ, begin(), clear(), end(), AMOS::IBankable_t::getIID(), insert(), AMOS::Contig_t::NCODE, AMOS::Read_t::NCODE, AMOS::NULL_ID, and setType().
| void Index_t::buildReadLibrary | ( | const std::string | bankname | ) |
Builds the index with Read_t to Library_t mappings.
Builds the index with read to library links, i.e. the index will reference the parent library for each read IID. Will throw an exception if there was any trouble opening and reading from the banks.
| bankname | Name of the bank directory to index |
| ArgumentException_t | ||
| IOException_t |
Definition at line 97 of file Index_AMOS.cc.
References AMOS::B_READ, clear(), AMOS::IBankable_t::getIID(), insert(), AMOS::Fragment_t::NCODE, AMOS::Library_t::NCODE, AMOS::Read_t::NCODE, AMOS::NULL_ID, and setType().
| void Index_t::buildReadMate | ( | const std::string | bankname | ) |
Builds the index with mated Read_t's.
Builds the index with read mates, i.e. the index will reference the the mate of each read IID. Will throw an exception if there was any trouble opening and reading from the banks.
| ArgumentException_t | ||
| IOException_t |
Definition at line 123 of file Index_AMOS.cc.
References AMOS::B_READ, clear(), insert(), AMOS::Fragment_t::NCODE, AMOS::Read_t::NCODE, AMOS::NULL_ID, and setType().
| void Index_t::buildScaffoldFeature | ( | const std::string | bankname | ) |
Builds the index with Scaffold_t Feature_t's.
Builds the index with scaffold features, i.e. the index will contain a set of all associated features for each scaffold IID. Will throw an exception if there was any trouble opening and reading from the banks.
| bankname | Name of the bank directory to index |
| ArgumentException_t | ||
| IOException_t |
Definition at line 149 of file Index_AMOS.cc.
References AMOS::B_READ, clear(), AMOS::IBankable_t::getIID(), insert(), AMOS::Feature_t::NCODE, AMOS::Scaffold_t::NCODE, AMOS::NULL_ID, and setType().
| virtual void AMOS::Index_t::clear | ( | ) | [inline, virtual] |
Clears all object data, reinitializes the object.
Reimplemented from AMOS::Universal_t.
Definition at line 250 of file Index_AMOS.hh.
References AMOS::Universal_t::clear(), and AMOS::NULL_NCODE.
Referenced by buildContigFeature(), buildContigScaffold(), buildReadContig(), buildReadLibrary(), buildReadMate(), buildScaffoldFeature(), readMessage(), and writeMessage().
Returns the number of IDs associated with a particular key.
Definition at line 264 of file Index_AMOS.hh.
Referenced by isMulti().
| bool AMOS::Index_t::empty | ( | ) | const [inline] |
Returns true if the index is empty.
Definition at line 243 of file Index_AMOS.hh.
| const_iterator AMOS::Index_t::end | ( | ) | const [inline] |
| iterator AMOS::Index_t::end | ( | ) | [inline] |
Returns a iterator to the end of the index.
Iterator is of the type hash_multimap<ID_t, ID_t>::iterator. Access TO and FROM IIDs with 'itr -> first' and 'itr -> second' respectively.
Definition at line 225 of file Index_AMOS.hh.
Referenced by buildContigScaffold(), buildReadContig(), end(), lookup(), and writeMessage().
| 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<<().
| 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 buildContigFeature(), buildContigScaffold(), buildReadContig(), buildReadLibrary(), buildScaffoldFeature(), and AMOS::operator<<().
| virtual NCode_t AMOS::Index_t::getNCode | ( | ) | const [inline, virtual] |
Get the AMOS NCode type identifier.
Reimplemented from AMOS::Universal_t.
Definition at line 271 of file Index_AMOS.hh.
References NCODE.
| Size_t AMOS::Index_t::getSize | ( | ) | const [inline] |
Returns the number of ID pairs in the index.
Definition at line 282 of file Index_AMOS.hh.
Referenced by readMessage(), and writeMessage().
| const Status_t AMOS::Universal_t::getStatus | ( | ) | const [inline, inherited] |
Get the index type as a pair of NCodes.
Get the index type as a pair of NCodes for the FROM and TO type respectively.
Definition at line 296 of file Index_AMOS.hh.
Inserts a new IID pair into the index.
Inserts a new IID pair into the index. Index keys are allowed to have multiple, not necessarily unique, values.
| key | The index key | |
| value | The new index value |
Definition at line 312 of file Index_AMOS.hh.
Referenced by buildContigFeature(), buildContigScaffold(), buildReadContig(), buildReadLibrary(), buildReadMate(), buildScaffoldFeature(), insert(), and readMessage().
| 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::Index_t::isMulti | ( | ID_t | key | ) | const [inline] |
Returns true if count is > 1 for a particular key.
Definition at line 330 of file Index_AMOS.hh.
References count().
| 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.
Look up a single IID by its index key.
Look up a single IID by its index key, even though multiple IDs make be associated with the same key. If multiple IDs exist for the same key, a single value will be picked (in no guaranteed fasion) and returned
| key | The key to lookup |
Definition at line 346 of file Index_AMOS.hh.
References end(), and AMOS::NULL_ID.
| std::pair<const_iterator, const_iterator> AMOS::Index_t::lookupAll | ( | ID_t | key | ) | const [inline] |
Definition at line 371 of file Index_AMOS.hh.
Look up a list of IIDs by their index key.
Look up all IIDs associated with the same index key. A begin and end iterator will be returned, representing the bounds of the value list. Like standard STL begin/end iterators, the begin iterator will point to the first object and the end iterator will point one past the end object.
| key | The key to lookup |
Definition at line 364 of file Index_AMOS.hh.
| void Index_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 172 of file Index_AMOS.cc.
References AMOS_THROW_ARGUMENT, clear(), AMOS::Encode(), AMOS::F_MAP, AMOS::F_OBJECT, AMOS::F_SIZE, getSize(), insert(), AMOS::NCODE_SIZE, and AMOS::Universal_t::readMessage().
| virtual void AMOS::Index_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::Index_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::Index_t::remove | ( | iterator | itr | ) | [inline] |
Remove a single ID pair.
| itr | An iterator pointing to the pair to remove |
Definition at line 402 of file Index_AMOS.hh.
Remove all IIDs associated with a particular key.
Will remove the index key and all values associated with that key. Returns the number of ID pairs removed.
| key | The key to remove |
Definition at line 390 of file Index_AMOS.hh.
| 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::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::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().
Set the index type as a pair of NCodes.
Set the index type as a pair of NCodes for the FROM and TO type respectively.
| type | The new index type |
Definition at line 417 of file Index_AMOS.hh.
Referenced by buildContigFeature(), buildContigScaffold(), buildReadContig(), buildReadLibrary(), buildReadMate(), buildScaffoldFeature(), and setType().
| void Index_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 269 of file Index_AMOS.cc.
References begin(), clear(), AMOS::Decode(), end(), AMOS::F_MAP, AMOS::F_OBJECT, AMOS::F_SIZE, getSize(), NCODE, AMOS::NL_CHAR, AMOS::NULL_NCODE, AMOS::NULL_STRING, and AMOS::Universal_t::writeMessage().
| virtual void AMOS::Index_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.
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().
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 NCode_t Index_t::NCODE = M_INDEX [static] |
The NCode type identifier for this object.
Reimplemented from AMOS::Universal_t.
Definition at line 59 of file Index_AMOS.hh.
Referenced by getNCode(), and writeMessage().
1.4.7