Scroll to navigation

beagle.Beagle(3) HMSBEAGLE beagle.Beagle(3)

NAME

beagle.Beagle -

SYNOPSIS

Inherited by beagle.BeagleJNIImpl, and beagle.GeneralBeagleImpl.

Public Member Functions


void finalize () throws Throwable
 
void setPatternWeights (final double[] patternWeights)
 
void setTipStates (int tipIndex, final int[] inStates)
 
void getTipStates (int tipIndex, final int[] outStates)
 
void setTipPartials (int tipIndex, final double[] inPartials)
 
void setPartials (int bufferIndex, final double[] inPartials)
 
void getPartials (int bufferIndex, int scaleIndex, final double[]outPartials)
 
void setEigenDecomposition (int eigenIndex, final double[] inEigenVectors, final double[] inInverseEigenVectors, final double[] inEigenValues)
 
void setStateFrequencies (int stateFrequenciesIndex, final double[] stateFrequencies)
 
void setCategoryWeights (int categoryWeightsIndex, final double[] categoryWeights)
 
void setCategoryRates (final double[] inCategoryRates)
 
void updateTransitionMatrices (int eigenIndex, final int[] probabilityIndices, final int[] firstDerivativeIndices, final int[] secondDervativeIndices, final double[] edgeLengths, int count)
 
void setTransitionMatrix (int matrixIndex, final double[] inMatrix, double paddedValue)
 
void getTransitionMatrix (int matrixIndex, double[] outMatrix)
 
void updatePartials (final int[] operations, int operationCount, int cumulativeScaleIndex)
 
void accumulateScaleFactors (final int[] scaleIndices, final int count, final int cumulativeScaleIndex)
 
void removeScaleFactors (final int[] scaleIndices, final int count, final int cumulativeScaleIndex)
 
void copyScaleFactors (int destScalingIndex, int srcScalingIndex)
 
void resetScaleFactors (int cumulativeScaleIndex)
 
void calculateRootLogLikelihoods (int[] bufferIndices, int[] categoryWeightsIndices, int[] stateFrequenciesIndices, int[] cumulativeScaleIndices, int count, double[] outSumLogLikelihood)
 
void calculateEdgeLogLikelihoods (int[] parentBufferIndices, int[] childBufferIndices, int[] probabilityIndices, int[] firstDerivativeIndices, int[] secondDerivativeIndices, int[] categoryWeightsIndices, int[] stateFrequenciesIndices, int[] cumulativeScaleIndices, int count, double[] outSumLogLikelihood, double[] outSumFirstDerivative, double[] outSumSecondDerivative)
 
void getSiteLogLikelihoods (double[] outLogLikelihoods)
 
InstanceDetails getDetails ()
 

Static Public Attributes


static int OPERATION_TUPLE_SIZE = 7
 
static int NONE = -1
 

Detailed Description

Beagle - An interface exposing the BEAGLE likelihood evaluation library.
This interface mirrors the beagle.h API but it for a single instance only. It is intended to be used by JNI wrappers of the BEAGLE library and for Java implementations for testing purposes. BeagleFactory handles the creation of specific istances.
Author:
Andrew Rambaut
Marc A. Suchard
Version:
$Id:$
 

Member Function Documentation

void beagle.Beagle.accumulateScaleFactors (final int[]scaleIndices, final intcount, final intcumulativeScaleIndex)

Accumulate scale factors
This function adds (log) scale factors from a list of scaleBuffers to a cumulative scale buffer. It is used to calculate the marginal scaling at a specific node for each site.
Parameters:
scaleIndices List of scaleBuffers to add (input)
 
count Number of scaleBuffers in list (input)
 
cumulativeScaleIndex Index number of scaleBuffer to accumulate factors into (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.calculateEdgeLogLikelihoods (int[]parentBufferIndices, int[]childBufferIndices, int[]probabilityIndices, int[]firstDerivativeIndices, int[]secondDerivativeIndices, int[]categoryWeightsIndices, int[]stateFrequenciesIndices, int[]cumulativeScaleIndices, intcount, double[]outSumLogLikelihood, double[]outSumFirstDerivative, double[]outSumSecondDerivative)

Calculate site log likelihoods and derivatives along an edge
This function integrates at list of partials at a parent and child node with respect to a set of partials-weights and state frequencies to return the log likelihoods and first and second derivatives for each site
Parameters:
parentBufferIndices List of indices of parent partialsBuffers (input)
 
childBufferIndices List of indices of child partialsBuffers (input)
 
probabilityIndices List indices of transition probability matrices for this edge (input)
 
firstDerivativeIndices List indices of first derivative matrices (input)
 
secondDerivativeIndices List indices of second derivative matrices (input)
 
categoryWeightsIndices List of indices of category weights to apply to each partialsBuffer (input)
 
stateFrequenciesIndices List of indices of state frequencies for each partialsBuffer (input) There should be one set for each of parentBufferIndices
 
cumulativeScaleIndices List of scalingFactors indices to accumulate over (input). There There should be one set for each of parentBufferIndices
 
count Number of partialsBuffers (input)
 
outSumLogLikelihood Pointer to destination for resulting sum of log likelihoods (output)
 
outSumFirstDerivative Pointer to destination for resulting sum of first derivatives (output)
 
outSumSecondDerivative Pointer to destination for resulting sum of second derivatives (output)
 

void beagle.Beagle.calculateRootLogLikelihoods (int[]bufferIndices, int[]categoryWeightsIndices, int[]stateFrequenciesIndices, int[]cumulativeScaleIndices, intcount, double[]outSumLogLikelihood)

Calculate site log likelihoods at a root node
This function integrates a list of partials at a node with respect to a set of partials-weights and state frequencies to return the log likelihoods for each site
Parameters:
bufferIndices List of partialsBuffer indices to integrate (input)
 
categoryWeightsIndices List of indices of category weights to apply to each partialsBuffer (input) should be one categoryCount sized set for each of parentBufferIndices
 
stateFrequenciesIndices List of indices of state frequencies for each partialsBuffer (input) should be one set for each of parentBufferIndices
 
cumulativeScaleIndices List of scalingFactors indices to accumulate over (input). There should be one set for each of parentBufferIndices
 
count Number of partialsBuffer to integrate (input)
 
outSumLogLikelihood Pointer to destination for resulting sum of log likelihoods (output)
 

void beagle.Beagle.copyScaleFactors (intdestScalingIndex, intsrcScalingIndex)

Copy scale factors
This function copies scale factors from one buffer to another.
Parameters:
instance Instance number (input)
 
destScalingIndex Destination scaleBuffer (input)
 
srcScalingIndex Source scaleBuffer (input)
 
Implemented in beagle.GeneralBeagleImpl, and beagle.BeagleJNIImpl.

void beagle.Beagle.finalize () throws Throwable

Finalize this instance
This function finalizes the instance by releasing allocated memory
Implemented in beagle.GeneralBeagleImpl, and beagle.BeagleJNIImpl.

InstanceDetails beagle.Beagle.getDetails ()

Get a details class for this instance
Returns:
 
 
Implemented in beagle.GeneralBeagleImpl, and beagle.BeagleJNIImpl.

void beagle.Beagle.getPartials (intbufferIndex, intscaleIndex, final double[]outPartials)

Get partials from an instance buffer
This function copies an array of partials from an instance buffer. The inPartials array should be stateCount * patternCount * categoryCount in length.
Parameters:
bufferIndex Index of destination partialsBuffer (input)
 
scaleIndex Index of scaleBuffer to apply to partials (input)
 
outPartials Pointer to which to receive partialsBuffer (output)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.getSiteLogLikelihoods (double[]outLogLikelihoods)

Return the individual log likelihoods for each site pattern.
Parameters:
outLogLikelihoods an array in which the likelihoods will be put
 

void beagle.Beagle.getTipStates (inttipIndex, final int[]outStates)

Get the compressed state representation for tip node
This function copies a compact state representation from an instance buffer. Compact state representation is an array of states: 0 to stateCount - 1 (missing = stateCount). The inStates array should be patternCount in length (replication across categoryCount is not required).
Parameters:
tipIndex Index of destination partialsBuffer (input)
 
outStates Pointer to compressed states (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.getTransitionMatrix (intmatrixIndex, double[]outMatrix)

Get a finite-time transition probability matrix
This function copies a finite-time transition matrix buffer into the array outMatrix. The outMatrix array should be of size stateCount * stateCount * categoryCount and will be filled with one matrix for each rate category.
Parameters:
matrixIndex Index of matrix buffer (input)
 
outMatrix Pointer to destination transition probability matrix (output)
 

void beagle.Beagle.removeScaleFactors (final int[]scaleIndices, final intcount, final intcumulativeScaleIndex)

Remove scale factors
This function removes (log) scale factors from a cumulative scale buffer. The scale factors to be removed are indicated in a list of scaleBuffers.
Parameters:
scaleIndices List of scaleBuffers to remove (input)
 
count Number of scaleBuffers in list (input)
 
cumulativeScaleIndex Index number of scaleBuffer containing accumulated factors (input)
 

void beagle.Beagle.resetScaleFactors (intcumulativeScaleIndex)

Reset scalefactors
This function resets a cumulative scale buffer.
Parameters:
cumulativeScaleIndex Index number of cumulative scaleBuffer (input)
 
Implemented in beagle.GeneralBeagleImpl, and beagle.BeagleJNIImpl.

void beagle.Beagle.setCategoryRates (final double[]inCategoryRates)

Set category rates
This function sets the vector of category rates for an instance.
Parameters:
inCategoryRates Array containing categoryCount rate scalers (input)
 

void beagle.Beagle.setCategoryWeights (intcategoryWeightsIndex, final double[]categoryWeights)

Set a set of category weights. These will probably correspond to an eigen-system.
Parameters:
categoryWeightsIndex the index of the buffer
 
categoryWeights the array of weights
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setEigenDecomposition (inteigenIndex, final double[]inEigenVectors, final double[]inInverseEigenVectors, final double[]inEigenValues)

Set an eigen-decomposition buffer
This function copies an eigen-decomposition into a instance buffer.
Parameters:
eigenIndex Index of eigen-decomposition buffer (input)
 
inEigenVectors Flattened matrix (stateCount x stateCount) of eigen-vectors (input)
 
inInverseEigenVectors Flattened matrix (stateCount x stateCount) of inverse-eigen-vectors (input)
 
inEigenValues Vector of eigenvalues
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setPartials (intbufferIndex, final double[]inPartials)

Set an instance partials buffer
This function copies an array of partials into an instance buffer. The inPartials array should be stateCount * patternCount * categoryCount in length.
Parameters:
bufferIndex Index of destination partialsBuffer (input)
 
inPartials Pointer to partials values to set (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setPatternWeights (final double[]patternWeights)

Set the weights for each pattern
Parameters:
patternWeights Array containing patternCount weights
 
Implemented in beagle.GeneralBeagleImpl, and beagle.BeagleJNIImpl.

void beagle.Beagle.setStateFrequencies (intstateFrequenciesIndex, final double[]stateFrequencies)

Set a set of state frequences. These will probably correspond to an eigen-system.
Parameters:
stateFrequenciesIndex the index of the frequency buffer
 
stateFrequencies the array of frequences (stateCount)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setTipPartials (inttipIndex, final double[]inPartials)

Set an instance partials buffer
This function copies an array of partials into an instance buffer. The inPartials array should be stateCount * patternCount in length. For most applications this will be used to set the partial likelihoods for the observed states. Internally, the partials will be copied categoryCount times.
Parameters:
tipIndex Index of destination partialsBuffer (input)
 
inPartials Pointer to partials values to set (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setTipStates (inttipIndex, final int[]inStates)

Set the compressed state representation for tip node
This function copies a compact state representation into an instance buffer. Compact state representation is an array of states: 0 to stateCount - 1 (missing = stateCount). The inStates array should be patternCount in length (replication across categoryCount is not required).
Parameters:
tipIndex Index of destination partialsBuffer (input)
 
inStates Pointer to compressed states (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.setTransitionMatrix (intmatrixIndex, final double[]inMatrix, doublepaddedValue)

This function copies a finite-time transition probability matrix into a matrix buffer. This function is used when the application wishes to explicitly set the transition probability matrix rather than using the setEigenDecomposition and updateTransitionMatrices functions. The inMatrix array should be of size stateCount * stateCount * categoryCount and will contain one matrix for each rate category.
This function copies a finite-time transition probability matrix into a matrix buffer.
Parameters:
matrixIndex Index of matrix buffer (input)
 
inMatrix Pointer to source transition probability matrix (input)
 
paddedValue Value to be used for padding for ambiguous states (e.g. 1 for probability matrices, 0 for derivative matrices) (input)
Parameters:
matrixIndex Index of matrix buffer (input)
 
inMatrix Pointer to source transition probability matrix (input)
 
Implemented in beagle.BeagleJNIImpl.

void beagle.Beagle.updatePartials (final int[]operations, intoperationCount, intcumulativeScaleIndex)

Calculate or queue for calculation partials using a list of operations
This function either calculates or queues for calculation a list partials. Implementations supporting SYNCH may queue these calculations while other implementations perform these operations immediately. Implementations supporting GPU may perform all operations in the list simultaneously.
Operations list is a list of 7-tuple integer indices, with one 7-tuple per operation. Format of 7-tuple operation: {destinationPartials, destinationScaleWrite, destinationScaleRead, child1Partials, child1TransitionMatrix, child2Partials, child2TransitionMatrix}
Parameters:
operations List of 7-tuples specifying operations (input)
 
operationCount Number of operations (input)
 
cumulativeScaleIndex Index number of scaleBuffer to store accumulated factors (input)
 

void beagle.Beagle.updateTransitionMatrices (inteigenIndex, final int[]probabilityIndices, final int[]firstDerivativeIndices, final int[]secondDervativeIndices, final double[]edgeLengths, intcount)

Calculate a list of transition probability matrices
This function calculates a list of transition probabilities matrices and their first and second derivatives (if requested).
Parameters:
eigenIndex Index of eigen-decomposition buffer (input)
 
probabilityIndices List of indices of transition probability matrices to update (input)
 
firstDerivativeIndices List of indices of first derivative matrices to update (input, NULL implies no calculation)
 
secondDervativeIndices List of indices of second derivative matrices to update (input, NULL implies no calculation)
 
edgeLengths List of edge lengths with which to perform calculations (input)
 
count Length of lists
 
Implemented in beagle.BeagleJNIImpl.
 

Author

Generated automatically by Doxygen for HMSBEAGLE from the source code.
Fri May 25 2012 Version 1.0.0