statalign.postprocess.plugins
Class PPFold

java.lang.Object
  extended by statalign.postprocess.Postprocess
      extended by statalign.postprocess.plugins.PPFold

public class PPFold
extends Postprocess


Field Summary
 com.ppfold.algo.AlignmentData al
           
 double entropyExp
           
 double entropyObs
           
 double entropySample
           
 java.lang.String outDir
           
 float[][] probMatrix
           
 java.lang.String refSeqGapped
           
 java.lang.String title
           
 
Fields inherited from class statalign.postprocess.Postprocess
active, alignmentType, file, hasToolBar, mcmc, outputable, outputFile, postprocessable, postprocessWrite, rnaAssociated, sampling, screenable, selected, show
 
Constructor Summary
PPFold()
           
 
Method Summary
 void afterLastSample()
          This function is called after the MCMC runs.
static void appendAlignment(java.lang.String label, java.lang.String[][] alignment, java.io.File outFile, boolean append)
           
static void appendFolds(java.io.File file, java.lang.String name, java.lang.String alignedSequence, int[] pairedSites, int[] projectedPairedSites, boolean append)
           
 void beforeFirstSample(InputData input)
          Called before MCMC start.
 double calculateMPD(java.util.ArrayList<java.lang.String> mpdSequences, java.util.ArrayList<java.lang.String> mpdNames)
           
 void computeFuzzyAlignment()
           
 java.lang.String[] getDependences()
          Override this and return an array of full-qualified class names of the plugins this plugin depends on.
 javax.swing.Icon getIcon()
           
 javax.swing.JPanel getJPanel()
           
static com.ppfold.algo.Tree getPPfoldTree(Mcmc mcmc)
           
static double getProxySimilarityFromAvgPosterior(double avgPosterior)
           
static java.lang.String getRefName()
           
static java.lang.String getSequenceByName(java.lang.String[][] sequences, java.lang.String name)
           
 java.lang.String[][] getSequences()
           
 java.lang.String getTabName()
           
 double getTabOrder()
          Specifies the order of the tab for this plugin in the GUI.
 java.lang.String getTip()
          Returns with the tip information (shown when the mouse cursor is moved over the label of the tabulated panel)
static double[][] incrementCountMatrix(double[][] matrix, java.util.List<java.lang.Integer> leftOutColumns)
           
static double[][] leaveOutColumns(double[][] matrix, java.util.List<java.lang.Integer> leftOutColumns)
           
static java.util.ArrayList<java.lang.String> loadFolds(java.io.File file, int line)
           
 void newSample(State state, int no, int total)
          This function is called when we sample from the Markov chain.
 com.ppfold.algo.ResultBundle performConsensusEvolutionPrediction()
           
static java.util.ArrayList<java.util.ArrayList<java.util.ArrayList<java.lang.String>>> readAllSamples(java.lang.String path)
           
static double[][] reconstituteMatrix(double[][] matrix, java.util.List<java.lang.Integer> leftOutColumns)
           
 void refToDependences(Postprocess[] plugins)
          Override this to get access to instances of the plugins your plugin depends on.
static void saveResult(java.lang.String sequence, int[] pairedSites, double[][] basePairProb, double[] singleBaseProb, java.io.File outFile)
           
 void saveScores(java.io.File outFile, double ppfoldReliabilityStatAlign, double ppfoldReliabilityMPD)
           
 void selectReferenceSequence(InputData input)
           
 void setSampling(boolean enabled)
          This function switches on or off the sampling mode.
 
Methods inherited from class statalign.postprocess.Postprocess
addTrack, getFileExtension, getModExtPlugins, getToolBarItems, getTracks, init, newPeek, newSample, newStep, reloadPanel, setSelected
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

title

public java.lang.String title

refSeqGapped

public java.lang.String refSeqGapped

probMatrix

public float[][] probMatrix

entropyObs

public double entropyObs

entropyExp

public double entropyExp

entropySample

public double entropySample

outDir

public java.lang.String outDir

al

public com.ppfold.algo.AlignmentData al
Constructor Detail

PPFold

public PPFold()
Method Detail

readAllSamples

public static java.util.ArrayList<java.util.ArrayList<java.util.ArrayList<java.lang.String>>> readAllSamples(java.lang.String path)

getTabName

public java.lang.String getTabName()
Specified by:
getTabName in class Postprocess
Returns:
Returns with the name that will appear on the label of the tabulated panel.

getIcon

public javax.swing.Icon getIcon()
Specified by:
getIcon in class Postprocess
Returns:
Returns with the icon that will appear on the label of the tabulated panel.

getJPanel

public javax.swing.JPanel getJPanel()
Specified by:
getJPanel in class Postprocess
Returns:
Returns with the panel of the GUI

getTip

public java.lang.String getTip()
Description copied from class: Postprocess
Returns with the tip information (shown when the mouse cursor is moved over the label of the tabulated panel)

Specified by:
getTip in class Postprocess

getTabOrder

public double getTabOrder()
Description copied from class: Postprocess
Specifies the order of the tab for this plugin in the GUI.

E.g. we probably always want the "sequence input"-tab to appear first and therefore it returns a 1.0d here. The "current alignment"-tab returns 2.0d here and so if we want to make a tab get ordered between the "sequence input" and the "current alignment"-tabs we just make that plugin return 1.5d or something similar here. By default tabs get ordered last.

Overrides:
getTabOrder in class Postprocess
Returns:
the tab order of the tab associated with this plugin, if running in a GUI.

setSampling

public void setSampling(boolean enabled)
Description copied from class: Postprocess
This function switches on or off the sampling mode.

Specified by:
setSampling in class Postprocess
Parameters:
enabled - Set it true if you need samples.

getDependences

public java.lang.String[] getDependences()
Description copied from class: Postprocess
Override this and return an array of full-qualified class names of the plugins this plugin depends on.

Overrides:
getDependences in class Postprocess

refToDependences

public void refToDependences(Postprocess[] plugins)
Description copied from class: Postprocess
Override this to get access to instances of the plugins your plugin depends on. This function will be called by the PostprocessManager during its initialisation.

Overrides:
refToDependences in class Postprocess
Parameters:
plugins - reference to Postprocess objects in the order they are specified in getDependences() or null if it returns null

selectReferenceSequence

public void selectReferenceSequence(InputData input)

beforeFirstSample

public void beforeFirstSample(InputData input)
Description copied from class: Postprocess
Called before MCMC start. This is the first time you can use PostprocessManager.mcmc to access internal data structure

Overrides:
beforeFirstSample in class Postprocess

calculateMPD

public double calculateMPD(java.util.ArrayList<java.lang.String> mpdSequences,
                           java.util.ArrayList<java.lang.String> mpdNames)

reconstituteMatrix

public static double[][] reconstituteMatrix(double[][] matrix,
                                            java.util.List<java.lang.Integer> leftOutColumns)

incrementCountMatrix

public static double[][] incrementCountMatrix(double[][] matrix,
                                              java.util.List<java.lang.Integer> leftOutColumns)

leaveOutColumns

public static double[][] leaveOutColumns(double[][] matrix,
                                         java.util.List<java.lang.Integer> leftOutColumns)

newSample

public void newSample(State state,
                      int no,
                      int total)
Description copied from class: Postprocess
This function is called when we sample from the Markov chain. Frequency is determined by the MCMC sampling parameter set by the user. Unlike Postprocess.newPeek(State state), this method is only called after the burn-in period.

Overrides:
newSample in class Postprocess
Parameters:
state - A State object representing the current state of the chain
no - The number of the current sample
total - The number of the total samples

performConsensusEvolutionPrediction

public com.ppfold.algo.ResultBundle performConsensusEvolutionPrediction()

computeFuzzyAlignment

public void computeFuzzyAlignment()

afterLastSample

public void afterLastSample()
Description copied from class: Postprocess
This function is called after the MCMC runs.

Overrides:
afterLastSample in class Postprocess

saveScores

public void saveScores(java.io.File outFile,
                       double ppfoldReliabilityStatAlign,
                       double ppfoldReliabilityMPD)

getProxySimilarityFromAvgPosterior

public static double getProxySimilarityFromAvgPosterior(double avgPosterior)

appendAlignment

public static void appendAlignment(java.lang.String label,
                                   java.lang.String[][] alignment,
                                   java.io.File outFile,
                                   boolean append)

getSequenceByName

public static java.lang.String getSequenceByName(java.lang.String[][] sequences,
                                                 java.lang.String name)

saveResult

public static void saveResult(java.lang.String sequence,
                              int[] pairedSites,
                              double[][] basePairProb,
                              double[] singleBaseProb,
                              java.io.File outFile)

getPPfoldTree

public static com.ppfold.algo.Tree getPPfoldTree(Mcmc mcmc)

getSequences

public java.lang.String[][] getSequences()

getRefName

public static java.lang.String getRefName()

appendFolds

public static void appendFolds(java.io.File file,
                               java.lang.String name,
                               java.lang.String alignedSequence,
                               int[] pairedSites,
                               int[] projectedPairedSites,
                               boolean append)

loadFolds

public static java.util.ArrayList<java.lang.String> loadFolds(java.io.File file,
                                                              int line)