use of dr.evomodel.tree.DefaultTreeModel in project beast-mcmc by beast-dev.
the class TraceCorrelationAssert method createSpecifiedTree.
protected void createSpecifiedTree(String t) throws Exception {
// Tree.Utils.newick(tree)
// create tree
NewickImporter importer = new NewickImporter(t);
Tree tree = importer.importTree(null);
// treeModel
treeModel = new DefaultTreeModel(tree);
}
use of dr.evomodel.tree.DefaultTreeModel in project beast-mcmc by beast-dev.
the class NormalizedSequenceLikelihoodTest method createSillyTreeModel.
protected TreeModel createSillyTreeModel(int numTaxa) {
SimpleNode[] nodes = new SimpleNode[2 * numTaxa - 1];
for (int n = 0; n < 2 * numTaxa - 1; n++) {
nodes[n] = new SimpleNode();
}
nodes[0].setTaxon(taxa[0]);
nodes[1].setTaxon(taxa[1]);
nodes[2].setHeight(1);
nodes[2].addChild(nodes[0]);
nodes[2].addChild(nodes[1]);
SimpleNode root = nodes[2];
if (numTaxa == 3) {
nodes[3].setTaxon(taxa[2]);
nodes[4].setHeight(2);
nodes[4].addChild(nodes[2]);
nodes[4].addChild(nodes[3]);
root = nodes[4];
}
Tree tree = new SimpleTree(root);
tree.setUnits(Units.Type.YEARS);
// treeModel
return new DefaultTreeModel(tree);
}
use of dr.evomodel.tree.DefaultTreeModel in project beast-mcmc by beast-dev.
the class PartitionData method createTreeModel.
public TreeModel createTreeModel() {
TreeModel treeModel = null;
if (this.demographicModelIndex == 0 && this.record.isTreeSet()) {
treeModel = new DefaultTreeModel(this.record.getTree());
} else if ((this.demographicModelIndex > 0 && this.demographicModelIndex <= lastImplementedIndex) && this.record.isTreeSet()) {
Taxa taxa = new Taxa(this.record.getTree().asList());
CoalescentSimulator topologySimulator = new CoalescentSimulator();
treeModel = new DefaultTreeModel(topologySimulator.simulateTree(taxa, createDemographicFunction()));
} else if ((this.demographicModelIndex > 0 && this.demographicModelIndex <= lastImplementedIndex) && this.record.isTaxaSet()) {
Taxa taxa = this.record.getTaxa();
CoalescentSimulator topologySimulator = new CoalescentSimulator();
treeModel = new DefaultTreeModel(topologySimulator.simulateTree(taxa, createDemographicFunction()));
// } else if (this.demographicModelIndex == 0 && this.record.taxaSet) {
// throw new RuntimeException("Data and demographic model incompatible for partition ");
} else {
throw new RuntimeException("Data and demographic model incompatible.");
}
return treeModel;
}
use of dr.evomodel.tree.DefaultTreeModel in project beast-mcmc by beast-dev.
the class BeagleSeqSimTest method simulateCodon.
// END: simulateAminoAcid
static void simulateCodon() {
try {
boolean calculateLikelihood = true;
System.out.println("Test case 6: simulate codons");
MathUtils.setSeed(666);
int sequenceLength = 10;
ArrayList<Partition> partitionsList = new ArrayList<Partition>();
// create tree
NewickImporter importer = new NewickImporter("(SimSeq1:73.7468,(SimSeq2:25.256989999999995,SimSeq3:45.256989999999995):18.48981);");
Tree tree = importer.importTree(null);
DefaultTreeModel treeModel = new DefaultTreeModel(tree);
// create site model
GammaSiteRateModel siteRateModel = new GammaSiteRateModel("siteModel");
// create branch rate model
BranchRateModel branchRateModel = new DefaultBranchRateModel();
// create Frequency Model
Parameter freqs = new Parameter.Default(Utils.UNIFORM_CODON_FREQUENCIES);
FrequencyModel freqModel = new FrequencyModel(Codons.UNIVERSAL, freqs);
// create substitution model
Parameter alpha = new Parameter.Default(1, 10);
Parameter beta = new Parameter.Default(1, 5);
// Parameter kappa = new Parameter.Default(1, 1);
MG94HKYCodonModel mg94 = new MG94K80CodonModel(Codons.UNIVERSAL, alpha, beta, freqModel, new CodonOptions());
HomogeneousBranchModel substitutionModel = new HomogeneousBranchModel(mg94);
// create partition
Partition partition1 = new //
Partition(//
treeModel, //
substitutionModel, //
siteRateModel, //
branchRateModel, //
freqModel, // from
0, // to
sequenceLength - 1, // every
1);
partitionsList.add(partition1);
// feed to sequence simulator and generate data
BeagleSequenceSimulator simulator = new BeagleSequenceSimulator(partitionsList);
Alignment alignment = simulator.simulate(simulateInPar, false);
System.out.println(alignment.toString());
if (calculateLikelihood) {
// NewBeagleSequenceLikelihood nbtl = new
// NewBeagleSequenceLikelihood(alignment, treeModel,
// substitutionModel, (SiteModel) siteRateModel,
// branchRateModel, null, false,
// PartialsRescalingScheme.DEFAULT);
ConvertAlignment convert = new ConvertAlignment(Nucleotides.INSTANCE, GeneticCode.UNIVERSAL, alignment);
BeagleTreeLikelihood nbtl = new //
BeagleTreeLikelihood(//
convert, //
treeModel, //
substitutionModel, //
siteRateModel, //
branchRateModel, //
null, //
false, PartialsRescalingScheme.DEFAULT, true);
System.out.println("likelihood = " + nbtl.getLogLikelihood());
}
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
// END: try-catch
}
use of dr.evomodel.tree.DefaultTreeModel in project beast-mcmc by beast-dev.
the class BeagleSeqSimTest method simulateOnePartition.
// END: simulate topology
static void simulateOnePartition() {
try {
MathUtils.setSeed(666);
System.out.println("Test case 2: simulateOnePartition");
int sequenceLength = 10;
ArrayList<Partition> partitionsList = new ArrayList<Partition>();
// create tree
NewickImporter importer = new NewickImporter("(SimSeq1:73.7468,(SimSeq2:25.256989999999995,SimSeq3:45.256989999999995):18.48981);");
Tree tree = importer.importTree(null);
DefaultTreeModel treeModel = new DefaultTreeModel(tree);
// create Frequency Model
Parameter freqs = new Parameter.Default(new double[] { 0.25, 0.25, 0.25, 0.25 });
FrequencyModel freqModel = new FrequencyModel(Nucleotides.INSTANCE, freqs);
// create substitution model
Parameter kappa = new Parameter.Default(1, 10);
HKY hky = new HKY(kappa, freqModel);
HomogeneousBranchModel substitutionModel = new HomogeneousBranchModel(hky);
// create site model
GammaSiteRateModel siteRateModel = new GammaSiteRateModel("siteModel");
// create branch rate model
BranchRateModel branchRateModel = new DefaultBranchRateModel();
// create partition
Partition partition1 = new //
Partition(//
treeModel, //
substitutionModel, //
siteRateModel, //
branchRateModel, //
freqModel, // from
0, // to
sequenceLength - 1, // every
1);
Sequence ancestralSequence = new Sequence();
ancestralSequence.appendSequenceString("TCAAGTGAGG");
partition1.setRootSequence(ancestralSequence);
partitionsList.add(partition1);
// feed to sequence simulator and generate data
BeagleSequenceSimulator simulator = new BeagleSequenceSimulator(partitionsList);
SimpleAlignment alignment = simulator.simulate(simulateInPar, false);
// alignment.setOutputType(SimpleAlignment.OutputType.NEXUS);
alignment.setOutputType(SimpleAlignment.OutputType.XML);
System.out.println(alignment.toString());
} catch (Exception e) {
e.printStackTrace();
System.exit(-1);
}
// END: try-catch block
}
Aggregations