Generated on Fri Mar 20 12:35:20 2009 for cpsp-2.3.1 by doxygen 1.5.5

cpsp::scth::SideChainThreading Class Reference

#include <chain_threading.h>


Detailed Description

Definition at line 43 of file chain_threading.h.


Public Member Functions

virtual Gecode::Space * copy (bool share)
virtual std::string print (const std::string *sequence, const biu::LatticeFrame *latFrame, int option=0)
 SideChainThreading (bool, SideChainThreading &)
 SideChainThreading (const std::string *sequence, const biu::LatticeFrame *latFrame, const biu::IndexVec *neighVecs, cpsp::HCore *hCore, const biu::IPointVec *shiftVec=NULL, bool withBreakingSymmetry=true)
virtual ~SideChainThreading ()

Data Fields

IntVarArray BHs
IntVarArray BPs
IntVarArray Hs
IntVarArray Ps

Private Member Functions

void attachedToCore (cpsp::HCore *)
void B_HsNeighbours (const biu::IndexVec *neighVecs)
void B_PsNeighbours (const biu::IndexVec *neighVecs)
void BsNeighbours (const std::string *sequence, const biu::IndexVec *neighVecs)
int getMaxHull (const std::string *sequence)
void inCore (cpsp::HCore *)
void outCore (const std::string *sequence, cpsp::HCore *)
void printAsDrowMoves (const std::string *seq, const biu::LatticeFrame *latFrame)
std::string printAsMoves (const std::string *seq, const biu::LatticeFrame *latFrame)
void printSol (const std::string *seq, const biu::LatticeFrame *latFrame)
void selfAvoid ()
void setBHDomain (const biu::LatticeFrame *latFrame, cpsp::HCore *hCore)
void setHDomain (const biu::LatticeFrame *latFrame, cpsp::HCore *hCore)
void setOutCoreDomain (const std::string *sequence, const biu::LatticeFrame *latFrame, cpsp::HCore *hCore)

Private Attributes

IntSet BHDomain
IntSet HDomain
IntSet OutCoreDomain

Constructor & Destructor Documentation

cpsp::scth::SideChainThreading::SideChainThreading ( const std::string *  sequence,
const biu::LatticeFrame *  latFrame,
const biu::IndexVec *  neighVecs,
cpsp::HCore hCore,
const biu::IPointVec *  shiftVec = NULL,
bool  withBreakingSymmetry = true 
)

The constructor for threading one sequence to one Core

Parameters:
sequence the sequence string
latFrame the lattice (FCC or Cubic)
neighVecs the neighboring vector, for effeciency this is a parameter although it could be got from the lattice
hCore the HCore
shiftVec This is null as default (Will be adjusted automatically in the program)
withBreakingSymmetry The default value for breaking the symmetry is true

Definition at line 29 of file chain_threading.cpp.

cpsp::scth::SideChainThreading::SideChainThreading ( bool  share,
SideChainThreading old 
)

The copy constructor.

Definition at line 160 of file chain_threading.cpp.

cpsp::scth::SideChainThreading::~SideChainThreading (  )  [virtual]

The destructor

Definition at line 173 of file chain_threading.cpp.


Member Function Documentation

void cpsp::scth::SideChainThreading::attachedToCore ( cpsp::HCore hCore  )  [private]

All the back bones of H's are 1 distance unit far from the H-Core. This function propagates the necessary contraints for this.

Definition at line 180 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::B_HsNeighbours ( const biu::IndexVec *  neighVecs  )  [private]

Neighbourig constrains between the backbones and side chains os Hs

Definition at line 471 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::B_PsNeighbours ( const biu::IndexVec *  neighVecs  )  [private]

Neighbourig constrains between the backbones and the side chains of Ps

Definition at line 463 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::BsNeighbours ( const std::string *  sequence,
const biu::IndexVec *  neighVecs 
) [private]

Neighbouring constrains for the backbones, each backbone should be a neighbor to the backbone of the following amino acid in the sequence.

Definition at line 479 of file chain_threading.cpp.

Gecode::Space * cpsp::scth::SideChainThreading::copy ( bool  share  )  [virtual]

Copy constrcutor for the gecode.

Definition at line 168 of file chain_threading.cpp.

int cpsp::scth::SideChainThreading::getMaxHull ( const std::string *  sequence  )  [private]

Get the maximum hull. This is a global maximum. The range for each variable is set afterward.

Returns:
the maximum possible value for the out core domain

Definition at line 524 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::inCore ( cpsp::HCore hCore  )  [private]

All H's are in the HCore, this constraint will make sure of this

Definition at line 175 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::outCore ( const std::string *  sequence,
cpsp::HCore hCore 
) [private]

All none H are out of the HCore.

Definition at line 419 of file chain_threading.cpp.

std::string cpsp::scth::SideChainThreading::print ( const std::string *  sequence,
const biu::LatticeFrame *  latFrame,
int  option = 0 
) [virtual]

This is the public function for printing the solutions 1 to print the solution 2 for printing the directions (U,D,L,R,F,B)

Definition at line 402 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::printAsDrowMoves ( const std::string *  seq,
const biu::LatticeFrame *  latFrame 
) [private]

Printing for drawing. This function is justs for testing. It is private do not use it!

Definition at line 335 of file chain_threading.cpp.

std::string cpsp::scth::SideChainThreading::printAsMoves ( const std::string *  seq,
const biu::LatticeFrame *  latFrame 
) [private]

Printing as moves and return those moves

Parameters:
seq The sequence
latFrame the lattice frame (Cubic or Lattice)
Returns:
the moves

Definition at line 209 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::printSol ( const std::string *  seq,
const biu::LatticeFrame *  latFrame 
) [private]

Printing the solution points This function print the solutions as coordinates.

Definition at line 185 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::selfAvoid (  )  [private]

Self avoiding.

Definition at line 502 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::setBHDomain ( const biu::LatticeFrame *  latFrame,
cpsp::HCore hCore 
) [private]

Settiing the BH domain (the backbones of Hs).

Definition at line 438 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::setHDomain ( const biu::LatticeFrame *  latFrame,
cpsp::HCore hCore 
) [private]

Setting domain of the side chains of the Hs.

Definition at line 427 of file chain_threading.cpp.

void cpsp::scth::SideChainThreading::setOutCoreDomain ( const std::string *  sequence,
const biu::LatticeFrame *  latFrame,
cpsp::HCore hCore 
) [private]

Setting the out-core domain. The out core contains all backbones and side chains of Ps.

Definition at line 450 of file chain_threading.cpp.


Field Documentation

Thd domain of the H-backbones, also indexed integer values.

Definition at line 49 of file chain_threading.h.

The positions of the back bones of H. This array to be branched on.

Definition at line 145 of file chain_threading.h.

The positions of the back bones of P. This array to be branched on.

Definition at line 148 of file chain_threading.h.

The H side chains domain, indexed version.

Definition at line 46 of file chain_threading.h.

The positions of the h-side chain sequence. This array to be branched on.

Definition at line 139 of file chain_threading.h.

The P side chains and BP-domain (Ps'backbones domains), indexed version.

Definition at line 52 of file chain_threading.h.

The positions of the p-side chain sequence. This array to be branched on.

Definition at line 142 of file chain_threading.h.


The documentation for this class was generated from the following files: