org.strbio.mol.lib
Class GapDistanceDependent

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

public class GapDistanceDependent
extends GapAffine
implements Description

Distance dependent gap penalties. (cost = gapI + (n-1) * gapE)

  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
 double gapD
          Distance penalty.
 
Fields inherited from class org.strbio.mol.lib.GapAffine
gapE
 
Fields inherited from class org.strbio.mol.lib.GapConstant
endGapFoldOK, endGapSeqOK, gapI
 
Constructor Summary
GapDistanceDependent(double gapi, double gape, double gapd)
          Set the penalties.
GapDistanceDependent(double gapi, double gape, double gapd, boolean seqEndGapOK, boolean foldEndGapOK)
          Set the penalties.
 
Method Summary
 void describe(Printf outfile)
          the default function describes only ends.
 void describeBriefly(Printf outfile)
           
 void finished(Polymer seq, Polymer fold)
          Forget about distance matrix.
 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.
 void processGlobalMatrix(float[][] mat, int[][] nextX, int[][] nextY, Polymer seq, Polymer fold)
          This function is optimized for gap penalties which are affine in only 1 direction, and have to be fully looked at in the other direction.
 void setOptimizableParameters(double[] x)
          set all the optimizable (double) parameters from a vector.
 void setup(Polymer seq, Polymer fold)
          Calculate distance matrix.
 
Methods inherited from class org.strbio.mol.lib.GapAffine
printParameters
 
Methods inherited from class org.strbio.mol.lib.GapConstant
isEndGapFoldOK, isEndGapSeqOK
 
Methods inherited from class org.strbio.mol.lib.GapModelAdapter
calculateFirstPosition, dealWithEndPenalties, describeEnds
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gapD

public double gapD
Distance penalty.

Constructor Detail

GapDistanceDependent

public GapDistanceDependent(double gapi,
                            double gape,
                            double gapd)
Set the penalties. Ends treated like standard n-w.


GapDistanceDependent

public GapDistanceDependent(double gapi,
                            double gape,
                            double gapd,
                            boolean seqEndGapOK,
                            boolean foldEndGapOK)
Set the penalties.

Method Detail

setup

public void setup(Polymer seq,
                  Polymer fold)
Calculate distance matrix.

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

finished

public void finished(Polymer seq,
                     Polymer fold)
Forget about distance matrix.

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

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
Overrides:
gapCostDeletion in class GapAffine

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
Overrides:
gapCostInsertion in class GapAffine

processGlobalMatrix

public void processGlobalMatrix(float[][] mat,
                                int[][] nextX,
                                int[][] nextY,
                                Polymer seq,
                                Polymer fold)
This function is optimized for gap penalties which are affine in only 1 direction, and have to be fully looked at in the other direction.

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

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 GapAffine

describeBriefly

public void describeBriefly(Printf outfile)
Overrides:
describeBriefly in class GapConstant

getOptimizableParameters

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

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

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 GapAffine