Skip to content

C++ implementation of the iSite protein evolution graph algorithm.

Notifications You must be signed in to change notification settings

skirkpatrick/iSite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iSite

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.

Compiling

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

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

About

C++ implementation of the iSite protein evolution graph algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published