Exemple #1
0
        new public static ModelEvaluatorDiscreteConditionalCollection GetInstance(string collectionType, ModelScorer scorer)
        {
            collectionType = collectionType.ToLower();
            SpecialFunctions.CheckCondition(collectionType.Equals("onedirection") || collectionType.Equals("bothdirections"), "ModelEvaluatorDiscreteConditionalCollection must be of type \"OneDirection\" or \"BothDirections\"");
            List <ModelEvaluator> models = new List <ModelEvaluator>();

            models.Add(ModelEvaluatorDiscreteConditional.GetInstance("Attraction", scorer, true));
            models.Add(ModelEvaluatorDiscreteConditional.GetInstance("Repulsion", scorer, true));
            models.Add(ModelEvaluatorDiscreteConditional.GetInstance("Escape", scorer, true));
            models.Add(ModelEvaluatorDiscreteConditional.GetInstance("Reversion", scorer, true));


            if (collectionType.Equals("bothdirections"))
            {
                collectionType = "BothDirections";
                models.Add(ModelEvaluatorReverse.GetInstance(ModelEvaluatorDiscreteConditional.GetInstance("Attraction", scorer, true)));
                models.Add(ModelEvaluatorReverse.GetInstance(ModelEvaluatorDiscreteConditional.GetInstance("Repulsion", scorer, true)));
                models.Add(ModelEvaluatorReverse.GetInstance(ModelEvaluatorDiscreteConditional.GetInstance("Escape", scorer, true)));
                models.Add(ModelEvaluatorReverse.GetInstance(ModelEvaluatorDiscreteConditional.GetInstance("Reversion", scorer, true)));
            }
            else
            {
                collectionType = "OneDirection";
            }
            return(new ModelEvaluatorDiscreteConditionalCollection(models, collectionType));
        }
Exemple #2
0
        new public static ModelEvaluatorDiscrete GetInstance(string nameAndParameters, ModelScorer scorer)
        {
            nameAndParameters = nameAndParameters.ToLower();

            if (nameAndParameters.StartsWith(ModelEvaluatorDiscreteConditional.BaseName.ToLower()))
            {
                return(ModelEvaluatorDiscreteConditional.GetInstance(nameAndParameters.Substring(ModelEvaluatorDiscreteConditional.BaseName.Length), scorer));
            }
            else if (nameAndParameters.StartsWith(ModelEvaluatorDiscreteJoint.BaseName.ToLower()))
            {
                return(ModelEvaluatorDiscreteJoint.GetInstance(nameAndParameters.Substring(ModelEvaluatorDiscreteJoint.BaseName.Length), scorer));
            }
            else if (nameAndParameters.Equals(ModelEvaluatorDiscreteFisher.BaseName.ToLower()))
            {
                return(ModelEvaluatorDiscreteFisher.GetInstance(scorer.PhyloTree.LeafCollection));
            }
            throw new ArgumentException("Cold not parse " + nameAndParameters + " into a ModelEvaluatorDiscrete.");
        }