The iSite algorithm is a proposed model for the evolution of protein interaction networks developed by Todd A. Gibson and Debra S. Goldberg.
This project is a C++ implementation of the iSite algorithm.
To compile the standard version with basic, end-state output, run "make".
To compile the developer version with debug statements, run "make debug".
Debug statements are formatted as follows:
###Building graph from file
####Outputs the rules for the seed graph as it is read from the file.
NodeName refers to a string identifier for a node
SiteName refers to a string identifier for an iSite
NodeName:SiteName<->SiteName:NodeName
NodeName:SiteName<->SiteName:NodeName
###Graph output
####Outputs the current graph
NodeIndex refers to the mapped index of a node
SiteName refers to a string identifier for an iSite of NodeIndex
ConnectedNode refers to the mapped index of a node connected to NodeIndex at SiteName
NodeIndex: SiteName->ConnectedNode SiteName->ConnectedNode...
NodeIndex: SiteName->ConnectedNode SiteName->ConnectedNode...
###Duplication
####Outputs data regarding node duplication
ParentIndex refers to the mapped index of the node chosen to be duplicated
ChildIndex refers to the mapped index of the newly created node
NumberOfiSites refers to the number of iSites that were duplicated
The node listed under Asymetry is the node chosen by the probability of asymmetry
The value under Loss indicates whether a particular edge is lost as determined by the probability of loss
Parent: ParentIndex
Child: ChildIndex
iSites: NumberOfiSites
(blankline)
Asymetry: {ParentIndex | ChildIndex}
Loss: {Yes | No}
(blankline)
.
.
.
###Node summary
####Outputs a summary of each node and the corresponding iSites therein
NodeIndex refers to the mapped index of a node
SiteName refers to a string identifier for an iSite of NodeIndex
SiteAge refers to the age of SiteName in number of duplications that have passed since the iSite's creation
NumberOfEdges refers to the number of edges connected to SiteName
Node: NodeIndex
SiteName:: Age: SiteAge, Edges: NumberOfEdges
(blankline)
Node: NodeIndex
SiteName:: Age: SiteAge, Edges: NumberOfEdges
###Node evolution
####Outputs a trace of the nodes from which each node was duplicated
NodeIndex refers to the mapped index of a node
OriginNode refers to the original node that was duplicated
DuplicationN refers to the Nth duplication, duplicated from the N-1th duplication
ParentNode refers to the node from which NodeIndex was directly duplicated
NodeIndex: OriginNode->Duplication1->...->ParentNode->NodeIndex
NodeIndex: OriginNode->Duplication1->...->ParentNode->NodeIndex