#include <Link_AMOS.hh>
Inheritance diagram for AMOS::Link_t:
Public Member Functions | |
Link_t () | |
Constructs an empty Link_t object. | |
Link_t (const Link_t &source) | |
Copy constructor. | |
~Link_t () | |
Destroys a Link_t object. | |
virtual void | clear () |
Clears all object data, reinitializes the object. | |
void | flip () |
Flip the orientation of the link. | |
LinkAdjacency_t | getAdjacency () const |
Get the adjacency relation of the two nodes. | |
std::pair< ID_t, ID_t > | getNodes () const |
Get the pair of node IIDs joined by this link. | |
virtual NCode_t | getNCode () const |
Get the AMOS NCode type identifier. | |
SD_t | getSD () const |
Get the standard deviation of the link size. | |
Size_t | getSize () const |
Get the weight/size of the link. | |
std::pair< ID_t, NCode_t > | getSource () const |
Get the link source IID and type. | |
NCode_t | getNodeType () const |
Get the node type. | |
LinkType_t | getType () const |
Get the link type. | |
virtual void | readMessage (const Message_t &msg) |
Reads in data from a Message object. | |
void | setAdjacency (LinkAdjacency_t adj) |
Set the adjacent ends of the two nodes. | |
void | setNodes (std::pair< ID_t, ID_t > nods) |
Set the node IID pair for this link. | |
void | setNodeType (NCode_t nodtype) |
Set the type of node. | |
void | setSD (SD_t sd) |
Set the standard deviation of the link size. | |
void | setSize (Size_t size) |
Set the weight/size of the link. | |
void | setSource (std::pair< ID_t, NCode_t > source) |
Set the link source IID. | |
void | setType (LinkType_t type) |
Set the linking type. | |
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 | |
const NCode_t | NCODE = M_LINK |
The NCode type identifier for this object. | |
const LinkType_t | NULL_LINK = 0 |
const LinkType_t | OTHER = 'X' |
const LinkType_t | MATEPAIR = 'M' |
const LinkType_t | OVERLAP = 'O' |
const LinkType_t | PHYSICAL = 'P' |
const LinkType_t | ALIGNMENT = 'A' |
const LinkType_t | SYNTENY = 'S' |
const LinkAdjacency_t | NULL_ADJACENCY = 0 |
const LinkAdjacency_t | NORMAL = 'N' |
E,B. | |
const LinkAdjacency_t | ANTINORMAL = 'A' |
B,E. | |
const LinkAdjacency_t | INNIE = 'I' |
E,E. | |
const LinkAdjacency_t | OUTIE = 'O' |
B,B. | |
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. | |
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 | ADJACENCY_BIT = 0x4 |
adjacency exists flag | |
const uint8_t | ADJACENCY_BITS = 0x3 |
adjacency info mask | |
const uint8_t | NORMAL_BITS = 0x1 |
const uint8_t | ANTINORMAL_BITS = 0x2 |
const uint8_t | INNIE_BITS = 0x3 |
const uint8_t | OUTIE_BITS = 0x0 |
A single piece of linking information between two nodes. For example, a probable extension of this class would be a ContigLink_t to represent an inferred relationship between two contigs. These atomic links can be bundled together to form an Edge_t.
Definition at line 33 of file Link_AMOS.hh.
|
Constructs an empty Link_t object. Sets all members to zero or NULL Definition at line 89 of file Link_AMOS.hh. References AMOS::NULL_ID, NULL_LINK, and AMOS::NULL_NCODE. |
|
Copy constructor. Definition at line 102 of file Link_AMOS.hh. |
|
Destroys a Link_t object. Definition at line 111 of file Link_AMOS.hh. |
|
Clears all object data, reinitializes the object.
Reimplemented from AMOS::Universal_t.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 34 of file Link_AMOS.cc. References AMOS::Universal_t::clear(), AMOS::NULL_ID, NULL_LINK, and AMOS::NULL_NCODE. Referenced by AMOS::ScaffoldLink_t::clear(), AMOS::Edge_t::clear(), AMOS::ContigLink_t::clear(), readMessage(), and writeMessage(). |
|
Flip the orientation of the link. Reverses the order of the IIDs and changes the adjacency as altered by the new orientation of the nodes. Does not alter adjacency if it is currently a NULL_ADJACENCY. After flip, NORMAL become ANTINORMAL, ANTINORMAL becomes NORMAL, and INNIE and OUTIE remain the same.
References ANTINORMAL, getAdjacency(), AMOS::LinkAdjacency_t, NORMAL, and setAdjacency(). |
|
Get the adjacency relation of the two nodes. Get the adjacency information for the nodes, i.e. [N]ORMAL (EB), [A]NTINORMAL (BE), [I]NNIE (EE) or [O]UTIE (BB). Where, if we picture each node as an arrow, B is the tail and E is the head. Thus EB means the head of node1 is adjacent to the tail of node2. This may seem awkward in a theoretical sense, but comes in handy when the nodes are directed sequences.
References ADJACENCY_BIT, ADJACENCY_BITS, ANTINORMAL, ANTINORMAL_BITS, INNIE, INNIE_BITS, AMOS::LinkAdjacency_t, NORMAL, NORMAL_BITS, NULL_ADJACENCY, OUTIE, and OUTIE_BITS. Referenced by flip(), and writeMessage(). |
|
Get the comment string.
Referenced by AMOS::operator<<(). |
|
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<<(). |
|
Get the AMOS NCode type identifier.
Reimplemented from AMOS::Universal_t.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 161 of file Link_AMOS.hh. References AMOS::NCode_t. |
|
Get the pair of node IIDs joined by this link.
References AMOS::ID_t. Referenced by AMOS::ContigLink_t::getContigs(), and AMOS::ScaffoldLink_t::getScaffolds(). |
|
Get the node type. Describes the type of IID the nodes represent.
Reimplemented in AMOS::ContigLink_t, and AMOS::ScaffoldLink_t. Definition at line 211 of file Link_AMOS.hh. References AMOS::NCode_t. |
|
Get the standard deviation of the link size.
References AMOS::SD_t. |
|
Get the weight/size of the link.
References AMOS::Size_t. |
|
Get the link source IID and type. This method only returns the IID of the link source and the object type. The entire source object can be obtained by fetching the specified IID from the corresponding bank.
|
|
Get the status value.
References AMOS::Status_t. |
|
Get the link type. Describes the type of link this object represents.
References AMOS::LinkType_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. |
|
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.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 76 of file Link_AMOS.cc. References AMOS_THROW_ARGUMENT, clear(), AMOS::Encode(), AMOS::F_ADJACENCY, AMOS::F_NODES, AMOS::F_OBJECT, AMOS::F_SD, AMOS::F_SIZE, AMOS::F_SOURCE, AMOS::F_TYPE, AMOS::NCODE_SIZE, AMOS::Universal_t::readMessage(), setAdjacency(), and setType(). Referenced by AMOS::ScaffoldLink_t::readMessage(), AMOS::Edge_t::readMessage(), and AMOS::ContigLink_t::readMessage(). |
|
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.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 162 of file Link_AMOS.cc. References AMOS::readLE(), and AMOS::Universal_t::readRecord(). Referenced by AMOS::ScaffoldLink_t::readRecord(), AMOS::Edge_t::readRecord(), and AMOS::ContigLink_t::readRecord(). |
|
Set the adjacent ends of the two nodes. Set the adjacency information for the nodes, i.e. [N]ORMAL (EB), [A]NTINORMAL (BE), [I]NNIE (EE) or [O]UTIE (BB). Where, if we picture each node as an arrow, B is the tail and E is the head. Thus EB means the head of node1 is adjacent to the tail of node2. This may seem awkward in a theoretical sense, but comes in handy when the nodes are directed sequences.
References ADJACENCY_BIT, ADJACENCY_BITS, AMOS_THROW_ARGUMENT, ANTINORMAL, ANTINORMAL_BITS, INNIE, INNIE_BITS, AMOS::LinkAdjacency_t, NORMAL, NORMAL_BITS, NULL_ADJACENCY, OUTIE, and OUTIE_BITS. Referenced by flip(), and readMessage(). |
|
Set the comment string.
|
|
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 node IID pair for this link. Only returns the IIDs of the nodes. It is up to the user to keep track of where the actual node objects are stored.
Referenced by AMOS::ContigLink_t::setContigs(), and AMOS::ScaffoldLink_t::setScaffolds(). |
|
Set the type of node. Describes the type of IID the nodes represent.
References AMOS::NCode_t. Referenced by AMOS::ScaffoldLink_t::readMessage(), AMOS::ContigLink_t::readMessage(), AMOS::ScaffoldLink_t::readRecord(), and AMOS::ContigLink_t::readRecord(). |
|
Set the standard deviation of the link size.
References AMOS::SD_t. |
|
Set the weight/size of the link.
References AMOS::Size_t. |
|
Set the link source IID.
|
|
Set the status value.
References AMOS::Status_t. Referenced by AMOS::Universal_t::readMessage(). |
|
Set the linking type.
References ALIGNMENT, AMOS_THROW_ARGUMENT, AMOS::LinkType_t, MATEPAIR, NULL_LINK, OTHER, OVERLAP, PHYSICAL, and SYNTENY. Referenced by readMessage(). |
|
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.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 222 of file Link_AMOS.cc. References clear(), AMOS::Decode(), AMOS::F_ADJACENCY, AMOS::F_NODES, AMOS::F_OBJECT, AMOS::F_SD, AMOS::F_SIZE, AMOS::F_SOURCE, AMOS::F_TYPE, getAdjacency(), NULL_ADJACENCY, AMOS::NULL_ID, NULL_LINK, AMOS::NULL_NCODE, AMOS::NULL_STRING, and AMOS::Universal_t::writeMessage(). Referenced by AMOS::ScaffoldLink_t::writeMessage(), AMOS::Edge_t::writeMessage(), and AMOS::ContigLink_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.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 282 of file Link_AMOS.cc. References AMOS::writeLE(), and AMOS::Universal_t::writeRecord(). Referenced by AMOS::ScaffoldLink_t::writeRecord(), AMOS::Edge_t::writeRecord(), and AMOS::ContigLink_t::writeRecord(). |
|
adjacency exists flag Definition at line 48 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
adjacency info mask Definition at line 49 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 24 of file Link_AMOS.cc. Referenced by setType(). |
|
B,E. Definition at line 28 of file Link_AMOS.cc. Referenced by flip(), getAdjacency(), and setAdjacency(). |
|
Definition at line 51 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
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(). |
|
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(). |
|
E,E. Definition at line 29 of file Link_AMOS.cc. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 52 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 21 of file Link_AMOS.cc. Referenced by setType(). |
|
The NCode type identifier for this object.
Reimplemented from AMOS::Universal_t.
Reimplemented in AMOS::ContigEdge_t, AMOS::ContigLink_t, AMOS::Edge_t, AMOS::ScaffoldEdge_t, and AMOS::ScaffoldLink_t. Definition at line 18 of file Link_AMOS.cc. |
|
E,B. Definition at line 27 of file Link_AMOS.cc. Referenced by flip(), getAdjacency(), and setAdjacency(). |
|
Definition at line 50 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 26 of file Link_AMOS.cc. Referenced by getAdjacency(), setAdjacency(), and writeMessage(). |
|
Definition at line 19 of file Link_AMOS.cc. Referenced by clear(), Link_t(), setType(), and writeMessage(). |
|
Definition at line 20 of file Link_AMOS.cc. Referenced by setType(). |
|
B,B. Definition at line 30 of file Link_AMOS.cc. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 53 of file Link_AMOS.hh. Referenced by getAdjacency(), and setAdjacency(). |
|
Definition at line 22 of file Link_AMOS.cc. Referenced by setType(). |
|
Definition at line 23 of file Link_AMOS.cc. Referenced by setType(). |
|
Definition at line 25 of file Link_AMOS.cc. Referenced by setType(). |