org.strbio.mol.lib
Class GapConstant

java.lang.Object
  extended by org.strbio.mol.lib.GapModelAdapter
      extended by org.strbio.mol.lib.GapConstant
All Implemented Interfaces:
Description, GapModel
Direct Known Subclasses:
GapAffine

public class GapConstant
extends GapModelAdapter
implements Description

Constant gap penalties.

  Version 1.1, 7/1/99 - conforms to GapModel 1.1 interface
  Version 1.0, 2/25/99 - original version
  

Version:
1.1, 7/1/99
Author:
JMC

Field Summary
 boolean endGapFoldOK
          Gaps at the end of the fold - ok?
 boolean endGapSeqOK
          Gaps at the end of the sequence - ok?
 double gapI
          Gap opening penalty.
 
Constructor Summary
GapConstant(double gapi)
          Set the penalty.
GapConstant(double gapi, boolean seqEndGapOK, boolean foldEndGapOK)
          Set the penalty.
 
Method Summary
 void describe(Printf outfile)
          the default function describes only ends.
 void describeBriefly(Printf outfile)
           
 double gapCostDeletion(Polymer seq, Polymer fold, int seqi, int seqj, int foldi, int foldj)
          This function should return the gap cost for aligning residues seqi and foldi, then seqj and foldj.
 double gapCostInsertion(Polymer seq, Polymer fold, int seqi, int seqj, int foldi, int foldj)
          This function should return the gap cost for aligning residues seqi and foldi, then seqj and foldj.
 double[] getOptimizableParameters()
          get all the optimizable (double) parameters as a vector.
 boolean isEndGapFoldOK()
          See if aligning the end of the fold vs a gap is OK (not penalized)
 boolean isEndGapSeqOK()
          See if aligning the end of the sequence vs a gap is OK (not penalized)
 void processGlobalMatrix(float[][] mat, int[][] nextX, int[][] nextY, Polymer seq, Polymer fold)
          This function is optimized for constant gap penalties.
 void setOptimizableParameters(double[] x)
          set all the optimizable (double) parameters from a vector.
 
Methods inherited from class org.strbio.mol.lib.GapModelAdapter
calculateFirstPosition, dealWithEndPenalties, describeEnds, finished, printParameters, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

endGapSeqOK

public boolean endGapSeqOK
Gaps at the end of the sequence - ok?


endGapFoldOK

public boolean endGapFoldOK
Gaps at the end of the fold - ok?


gapI

public double gapI
Gap opening penalty.

Constructor Detail

GapConstant

public GapConstant(double gapi)
Set the penalty. Standard n-w.


GapConstant

public GapConstant(double gapi,
                   boolean seqEndGapOK,
                   boolean foldEndGapOK)
Set the penalty.

Method Detail

isEndGapSeqOK

public boolean isEndGapSeqOK()
Description copied from interface: GapModel
See if aligning the end of the sequence vs a gap is OK (not penalized)

Specified by:
isEndGapSeqOK in interface GapModel

isEndGapFoldOK

public boolean isEndGapFoldOK()
Description copied from interface: GapModel
See if aligning the end of the fold vs a gap is OK (not penalized)

Specified by:
isEndGapFoldOK in interface GapModel

gapCostDeletion

public double gapCostDeletion(Polymer seq,
                              Polymer fold,
                              int seqi,
                              int seqj,
                              int foldi,
                              int foldj)
Description copied from interface: GapModel
This function should return the gap cost for aligning residues seqi and foldi, then seqj and foldj. foldi and foldj should not be consecutive; seqi and seqj should if you're doing needleman-wunsch alignments. i and j are 0-based integers, with no relation to n in Monomer. -1 means off the end. Otherwise, j should always be higher than i.
      seq:   i.....j
      fold:  ixxxxxj
      

Specified by:
gapCostDeletion in interface GapModel

gapCostInsertion

public double gapCostInsertion(Polymer seq,
                               Polymer fold,
                               int seqi,
                               int seqj,
                               int foldi,
                               int foldj)
Description copied from interface: GapModel
This function should return the gap cost for aligning residues seqi and foldi, then seqj and foldj. seqi and seqj should not be consecutive; foldi and foldj should if you're doing needleman-wunsch alignments. i and j are 0-based integers, with no relation to n in Monomer. -1 means off the end. Otherwise, j should always be higher than i.
      seq:   ixxxxxj
      fold:  i.....j
      

Specified by:
gapCostInsertion in interface GapModel

processGlobalMatrix

public void processGlobalMatrix(float[][] mat,
                                int[][] nextX,
                                int[][] nextY,
                                Polymer seq,
                                Polymer fold)
This function is optimized for constant gap penalties.

Specified by:
processGlobalMatrix in interface GapModel
Overrides:
processGlobalMatrix in class GapModelAdapter

describe

public void describe(Printf outfile)
Description copied from class: GapModelAdapter
the default function describes only ends.

Specified by:
describe in interface Description
Overrides:
describe in class GapModelAdapter

describeBriefly

public void describeBriefly(Printf outfile)

getOptimizableParameters

public double[] getOptimizableParameters()
get all the optimizable (double) parameters as a vector.

Specified by:
getOptimizableParameters in interface GapModel
Overrides:
getOptimizableParameters in class GapModelAdapter

setOptimizableParameters

public void setOptimizableParameters(double[] x)
set all the optimizable (double) parameters from a vector.

Specified by:
setOptimizableParameters in interface GapModel
Overrides:
setOptimizableParameters in class GapModelAdapter