bpp-phyl3  3.0.0
SubstitutionModelSetTools.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: The Bio++ Development Group
2 //
3 // SPDX-License-Identifier: CECILL-2.1
4 
5 #ifndef BPP_PHYL_LEGACY_MODEL_SUBSTITUTIONMODELSETTOOLS_H
6 #define BPP_PHYL_LEGACY_MODEL_SUBSTITUTIONMODELSETTOOLS_H
7 
8 
9 #include "../../Tree/Tree.h"
10 #include "SubstitutionModelSet.h"
11 
12 // From the STL:
13 #include <vector>
14 #include <map>
15 
16 namespace bpp
17 {
22 {
23 public:
33  static std::unique_ptr<SubstitutionModelSet> createHomogeneousModelSet(
34  std::shared_ptr<TransitionModelInterface> model,
35  std::shared_ptr<FrequencySetInterface> rootFreqs,
36  const Tree& tree
37  );
38 
58  static std::unique_ptr<SubstitutionModelSet> createNonHomogeneousModelSet(
59  std::shared_ptr<TransitionModelInterface> model,
60  std::shared_ptr<FrequencySetInterface> rootFreqs,
61  const Tree& tree,
62  const std::map<std::string, std::string>& aliasFreqNames,
63  const std::map<std::string, std::vector<Vint>>& globalParameterNames
64  );
65 };
66 } // end of namespace bpp.
67 #endif // BPP_PHYL_LEGACY_MODEL_SUBSTITUTIONMODELSETTOOLS_H
Tools for automatically creating SubstitutionModelSet objects.
static std::unique_ptr< SubstitutionModelSet > createNonHomogeneousModelSet(std::shared_ptr< TransitionModelInterface > model, std::shared_ptr< FrequencySetInterface > rootFreqs, const Tree &tree, const std::map< std::string, std::string > &aliasFreqNames, const std::map< std::string, std::vector< Vint >> &globalParameterNames)
Create a SubstitutionModelSet object, with one model per branch.
static std::unique_ptr< SubstitutionModelSet > createHomogeneousModelSet(std::shared_ptr< TransitionModelInterface > model, std::shared_ptr< FrequencySetInterface > rootFreqs, const Tree &tree)
Create a SubstitutionModelSet object, corresponding to the homogeneous case.
Interface for phylogenetic tree objects.
Definition: Tree.h:115
Defines the basic types of data flow nodes.