bpp-phyl3  3.0.0
AncestralStateReconstruction.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_ANCESTRALSTATERECONSTRUCTION_H
6 #define BPP_PHYL_ANCESTRALSTATERECONSTRUCTION_H
7 
8 
9 // From SeqLib:
10 #include <Bpp/Seq/Sequence.h>
13 
14 // From the STL:
15 #include <vector>
16 #include <map>
17 
18 namespace bpp
19 {
20 class Node;
21 
26 {
27 public:
30 
31 public:
44  virtual std::vector<size_t> getAncestralStatesForNode(uint nodeId) const = 0;
45 
54  virtual std::map<uint, std::vector<size_t>> getAllAncestralStates() const = 0;
55 
62  virtual std::unique_ptr<Sequence> getAncestralSequenceForNode(uint nodeId) const = 0;
63 
69  virtual std::unique_ptr<AlignedSequenceContainer> getAncestralSequences() const = 0;
70 };
71 } // end of namespace bpp.
72 #endif // BPP_PHYL_ANCESTRALSTATERECONSTRUCTION_H
Interface for ancestral states reconstruction methods.
virtual std::unique_ptr< Sequence > getAncestralSequenceForNode(uint nodeId) const =0
Get the ancestral sequence for a given node.
virtual std::vector< size_t > getAncestralStatesForNode(uint nodeId) const =0
Get ancestral states for a given node as a vector of int.
virtual std::map< uint, std::vector< size_t > > getAllAncestralStates() const =0
Get all ancestral states for all nodes.
virtual std::unique_ptr< AlignedSequenceContainer > getAncestralSequences() const =0
Get all the ancestral sequences for all nodes.
Defines the basic types of data flow nodes.