RdcPanda
Class GraphCut

java.lang.Object
  extended by RdcPanda.GraphCut

public class GraphCut
extends java.lang.Object


Nested Class Summary
static class GraphCut.ResNoComparator
           
 class GraphCut.RotScore
           
static class GraphCut.RotScoreComparator
           
 
Constructor Summary
GraphCut()
           
GraphCut(int resNO)
           
GraphCut(java.lang.String res, int res_no, int label, java.util.Vector vecAllRots)
           
GraphCut(java.lang.String res, int res_no, int label, java.util.Vector vecAllRots, java.util.Vector vecNearPdbs)
           
 
Method Summary
 void addRotScore(int no, double sc)
           
 java.util.Vector ComputeScoringFunction(java.util.Vector vecGraphCut, java.util.Vector vecBB, java.util.Vector assignVec, java.util.Vector NoesyVec, double csErrH, double csErrN, double csErrCA, double distBound)
          calculate the scoring function based on NOE patterns
 java.util.Vector DEECut(java.util.Vector vecGraphCutPre)
          DEE-Cut step in the graph cut algorithm
 java.util.Vector getAllRotVec()
           
 double getHomoScore(int nRotLabel)
           
 boolean getIsRemainedLabel(int nID)
           
 java.util.Vector getNeighborVec()
           
 double getPairScore(int rotID, int neighID, int neighRotID)
           
 java.lang.String getResidueName()
           
 int getResidueNo()
           
 int getRotLabel()
           
 java.util.Vector getRotScoreVec()
           
 java.util.Vector getTopScoreRots(int pickNum)
           
 java.util.Vector GraphConstruction(java.util.Vector vecPdbBB, java.lang.String srcRotFile, double noeLimit)
          Construct the residue interation graph
 int RandomSelectRot(java.util.Vector vecRotScore)
          randomly select a rotamer proportial to its score
 java.util.Vector RandomVotingUpdate(java.util.Vector vecGraphCut)
          update the match score using random voting scheme
 java.util.Vector RotamerSelection(java.util.Vector pdbBBVec, java.util.Vector vecGraphCut, int pickNum)
          select top rotamers with highest scores
 void setHomoScore(double sc, int nRotID)
           
 void setInitialRotScore()
           
 void setNeighbors(java.util.Vector vecNeigh)
           
 void setPairScore(double sc, int nRotID, int nNeighborID, int nNeighborRotID)
           
 void setPrunedLabel(int nRotLabl)
           
 void setRotlabel(int label)
           
 java.util.Vector ShufflingCut(java.util.Vector vecGraphCutPre)
          Shuffling step in the graph cut algorithm
 void sortRotScore()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GraphCut

public GraphCut()

GraphCut

public GraphCut(int resNO)

GraphCut

public GraphCut(java.lang.String res,
                int res_no,
                int label,
                java.util.Vector vecAllRots)

GraphCut

public GraphCut(java.lang.String res,
                int res_no,
                int label,
                java.util.Vector vecAllRots,
                java.util.Vector vecNearPdbs)
Method Detail

getResidueNo

public int getResidueNo()

getResidueName

public java.lang.String getResidueName()

getRotLabel

public int getRotLabel()

getAllRotVec

public java.util.Vector getAllRotVec()

getNeighborVec

public java.util.Vector getNeighborVec()

getHomoScore

public double getHomoScore(int nRotLabel)

getPairScore

public double getPairScore(int rotID,
                           int neighID,
                           int neighRotID)

getIsRemainedLabel

public boolean getIsRemainedLabel(int nID)

getRotScoreVec

public java.util.Vector getRotScoreVec()

getTopScoreRots

public java.util.Vector getTopScoreRots(int pickNum)

setRotlabel

public void setRotlabel(int label)

setHomoScore

public void setHomoScore(double sc,
                         int nRotID)

setPairScore

public void setPairScore(double sc,
                         int nRotID,
                         int nNeighborID,
                         int nNeighborRotID)

setPrunedLabel

public void setPrunedLabel(int nRotLabl)

setNeighbors

public void setNeighbors(java.util.Vector vecNeigh)

setInitialRotScore

public void setInitialRotScore()

sortRotScore

public void sortRotScore()

addRotScore

public void addRotScore(int no,
                        double sc)

RandomSelectRot

public int RandomSelectRot(java.util.Vector vecRotScore)
randomly select a rotamer proportial to its score

Returns:
rotamer id :

GraphConstruction

public java.util.Vector GraphConstruction(java.util.Vector vecPdbBB,
                                          java.lang.String srcRotFile,
                                          double noeLimit)
                                   throws JampackException
Construct the residue interation graph

Parameters:
vecPdbBB: - vector of pdb backbone
srcRotFile: - location of rotamer library
noeLimit: - noe distance bound
Returns:
a vector of GraphCut :
Throws:
JampackException

ComputeScoringFunction

public java.util.Vector ComputeScoringFunction(java.util.Vector vecGraphCut,
                                               java.util.Vector vecBB,
                                               java.util.Vector assignVec,
                                               java.util.Vector NoesyVec,
                                               double csErrH,
                                               double csErrN,
                                               double csErrCA,
                                               double distBound)
calculate the scoring function based on NOE patterns

Parameters:
vecGraphCut: - vector of GraphCut nodes
vecBB: - backbone pdb
assignVec: - assigned resonance list
NoesyVec: - NOESY peak list
csErrH, - csErrN, csErrCA: error window at each dimension
distBound: - Noe distance bound
Returns:
a vector of GraphCut nodes after setting scoring function

DEECut

public java.util.Vector DEECut(java.util.Vector vecGraphCutPre)
DEE-Cut step in the graph cut algorithm

Parameters:
vecGraphCutPre: - vector of GraphCut nodes before DEE Cut
Returns:
a vector of GraphCut nodes after DEE-Cut

ShufflingCut

public java.util.Vector ShufflingCut(java.util.Vector vecGraphCutPre)
Shuffling step in the graph cut algorithm

Parameters:
vecGraphCutPre: - vector of GraphCut nodes before DEE Cut
Returns:
a vector of GraphCut nodes after Shuffling

RotamerSelection

public java.util.Vector RotamerSelection(java.util.Vector pdbBBVec,
                                         java.util.Vector vecGraphCut,
                                         int pickNum)
select top rotamers with highest scores

Parameters:
pdbBBVec: - vector of backbone pdb
vecGraphCut: - vector of GraphCut nodes
resNo: - residue ID
pickNum: - number of rotamers to be chosen in the ensemble
Returns:
a vector of structure pdb after putting all rotamers into backbone

RandomVotingUpdate

public java.util.Vector RandomVotingUpdate(java.util.Vector vecGraphCut)
update the match score using random voting scheme

Parameters:
vecGraphCut: - vector of GraphCut nodes
Returns:
a vector of graph cut nodes after updating the matching score