GenModel.cpp File Reference

#include "GenModel.h"
#include <algorithm>
#include <sstream>

Functions

void string2Vector (vector< int > &v, const string &str)
bool nonincreasingVector (const vector< int > &v)
bool nondecreasingVector (const vector< int > &v)
bool allLessVector (const vector< int > &v1, const vector< int > &v2)
Noschain operator- (int c, const Noschain &chain)
ostream & operator<< (ostream &ous, const Noschain &nc)
int comparePlusChainFirstBefore (Noschain &c1, Noschain &c2)
int comparePlusChainIdenticalLeft (Noschain &c1, Noschain &c2)
int compareMinusChainFirstBefore (Noschain &c1, Noschain &c2)
int compareMinusChainMinusIdenticalRight (Noschain &c1, Noschain &c2)
void errorMessageFix1 (Noschain &c1, Noschain &c2, int status, int end)
bool tilingPlus (const Noschain &A, const Noschain &B)
bool tilingMinus (const Noschain &A, const Noschain &B)

Variables

int FUZZYMARGIN = 21

Function Documentation

bool allLessVector ( const vector< int > &  v1,
const vector< int > &  v2 
)

Referenced by Noschain::Noschain().

int compareMinusChainFirstBefore ( Noschain c1,
Noschain c2 
)

int compareMinusChainMinusIdenticalRight ( Noschain c1,
Noschain c2 
)

int comparePlusChainFirstBefore ( Noschain c1,
Noschain c2 
)

several helper functions. The noschain compare function is very hard to implement. I have not figured out a simple way to implement this function.

return 0, 1, 2, -2 These are non-member function.

all use a common value fuzzymargin as static constant. I should use a common value in the Range::margin The the caller will have to set this value. The Range::margin has a default of 20. Which should be set to 16. I will use a global constant FUZZYMARGIN. This value can be changed by the user.

References Range::begin(), Range::end(), FUZZYMARGIN, I, Noschain::numberOfRanges(), Noschain::setBegin(), and Noschain::setEnd().

Referenced by Noschain::compareChainAndFix().

int comparePlusChainIdenticalLeft ( Noschain c1,
Noschain c2 
)

void errorMessageFix1 ( Noschain c1,
Noschain c2,
int  status,
int  end 
)

for debuging

References Noschain::show().

bool nondecreasingVector ( const vector< int > &  v  ) 

numbers goes from small to large

Referenced by Noschain::Noschain().

bool nonincreasingVector ( const vector< int > &  v  ) 

numbers go from large to small

Referenced by Noschain::Noschain().

Noschain operator- ( int  c,
const Noschain chain 
)

Each Range of the chain becomes (c-exons[i])

References Noschain::exons.

ostream& operator<< ( ostream &  ous,
const Noschain nc 
)

void string2Vector ( vector< int > &  v,
const string &  str 
)

Referenced by Noschain::Noschain().

bool tilingMinus ( const Noschain A,
const Noschain B 
)

helper function A is to the right Condition is A<B and both on - direction possible overlap B i ===<---==<----===<-----= A j =<----===<-----===<-----====

Special case

B i ===<---==<----===<-----===== A j =====<----===<-----===<-----====

References Range::begin(), Range::end(), Noschain::exonIndex(), and Noschain::numberOfRanges().

Referenced by Noschain::exonOverlap().

bool tilingPlus ( const Noschain A,
const Noschain B 
)

helper function A on the left Condition is A<B and both on + direction possible overlap A j ===--->==---->===----->= B i =---->===----->===---->==== overlap at ends A j ===--->==---->===----->==== B i ===---->===----->===---->====

References Range::begin(), Range::end(), Noschain::exonIndex(), and Noschain::numberOfRanges().

Referenced by Noschain::exonOverlap().


Variable Documentation

int FUZZYMARGIN = 21


Generated on Wed Oct 14 21:49:18 2009 for Softwares from Orpara by  doxygen 1.5.6