Skip to content

Commit

Permalink
don't need covariance matrix for pfa
Browse files Browse the repository at this point in the history
  • Loading branch information
gabehassler committed Jun 27, 2023
1 parent a3c9931 commit b4b6438
Showing 1 changed file with 16 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -188,16 +188,19 @@ private void writeMultivariateDiffusionModel(XMLWriter writer,
new Attribute.Default<String>("id", precisionMatrixId)
});

double diagValue = (model.getContinuousExtensionType() == ContinuousModelExtensionType.LATENT_FACTORS) ? 1.0 : 0.05;
double offDiagValue = (model.getContinuousExtensionType() == ContinuousModelExtensionType.LATENT_FACTORS) ? 0.0 : 0.002;

for (int i = 0; i < model.getContinuousTraitDimension(); i++) {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < model.getContinuousTraitDimension(); j++) {
if (j > 0) {
sb.append(" ");
}
if (i == j) {
sb.append(0.05);
sb.append(diagValue);
} else {
sb.append(0.002);
sb.append(offDiagValue);
}
}
writer.writeTag("parameter",
Expand Down Expand Up @@ -894,12 +897,13 @@ private void writePrecisionGibbsOperators(XMLWriter writer,
ContinuousComponentOptions component) {

for (AbstractPartitionData partitionData : component.getOptions().getDataPartitions(ContinuousDataType.INSTANCE)) {
writePrecisionGibbsOperator(writer, component, partitionData, ContinuousModelExtensionType.NONE);

switch (partitionData.getPartitionSubstitutionModel().getContinuousExtensionType()) {
case NONE:
writePrecisionGibbsOperator(writer, component, partitionData, ContinuousModelExtensionType.NONE);
break;
case RESIDUAL:
writePrecisionGibbsOperator(writer, component, partitionData, ContinuousModelExtensionType.NONE);
writePrecisionGibbsOperator(writer, component, partitionData,
ContinuousModelExtensionType.RESIDUAL);
break;
Expand Down Expand Up @@ -1019,16 +1023,20 @@ private void writePrecisionGibbsOperator(final XMLWriter writer,
private void writeParameterIdRefs(final XMLWriter writer, final ContinuousComponentOptions component) {
for (AbstractPartitionData partitionData : component.getOptions().getDataPartitions(ContinuousDataType.INSTANCE)) {
PartitionSubstitutionModel model = partitionData.getPartitionSubstitutionModel();
writer.writeIDref("matrixParameter", model.getName() + ".precision");

String prefix = partitionData.getName() + ".";
if (partitionData.getTraits().size() == 2) {
writer.writeIDref("correlation", prefix + "correlation");

if (model.getContinuousExtensionType() != ContinuousModelExtensionType.LATENT_FACTORS) {
writer.writeIDref("matrixParameter", model.getName() + ".precision");

if (partitionData.getTraits().size() == 2) {
writer.writeIDref("correlation", prefix + "correlation");
// writer.writeIDref("treeLengthStatistic", prefix + "treeLength");
// writer.writeIDref("productStatistic", prefix + "treeLengthPrecision1");
// writer.writeIDref("productStatistic", prefix + "treeLengthPrecision2");
}
writer.writeIDref("matrixInverse", prefix + "varCovar");
}
writer.writeIDref("matrixInverse", prefix + "varCovar");

writer.writeIDref(TreeDataContinuousDiffusionStatistic.CONTINUOUS_DIFFUSION_STATISTIC, prefix + "diffusionRate");

if (partitionData.getPartitionSubstitutionModel().getContinuousSubstModelType() == ContinuousSubstModelType.GAMMA_RRW) {
Expand Down

0 comments on commit b4b6438

Please sign in to comment.