package dr.evomodelxml.speciation;
import dr.evomodel.speciation.MultiSpeciesCoalescent;
import dr.evomodel.speciation.SpeciesBindings;
import dr.evomodel.speciation.SpeciesTreeModel;
import dr.xml.*;
/**
*/
public class MultiSpeciesCoalescentParser extends AbstractXMLObjectParser {
public static final String SPECIES_COALESCENT = "speciesCoalescent";
public Object parseXMLObject(XMLObject xo) throws XMLParseException {
final SpeciesBindings sb = (SpeciesBindings) xo.getChild(SpeciesBindings.class);
final SpeciesTreeModel tree = (SpeciesTreeModel) xo.getChild(SpeciesTreeModel.class);
return new MultiSpeciesCoalescent(sb, tree);
}
public XMLSyntaxRule[] getSyntaxRules() {
return new XMLSyntaxRule[]{
new ElementRule(SpeciesBindings.class),
new ElementRule(SpeciesTreeModel.class),
};
}
public String getParserDescription() {
return "Compute coalecent log-liklihood of a set of gene trees embedded inside one species tree.";
}
public Class getReturnType() {
return MultiSpeciesCoalescent.class;
}
public String getParserName() {
return SPECIES_COALESCENT;
}
}