A library for working with phylogenetic and population genetic data.
v0.27.0
KeyedAttributeTreeNewickReader Class Reference

#include <genesis/tree/attribute_tree/keyed_newick_reader.hpp>

Inherits NewickReader, CommonTreeNewickReaderPlugin, and KeyedAttributeTreeNewickReaderPlugin.

Detailed Description

Read default Newick trees, i.e., trees with names and branch lengths.

This class is a convenience wrapper that combines a NewickReader with a KeyedAttributeTreeNewickReaderPlugin. It is intended to be used for standard use cases, and produces a Tree with AttributeTreeNodeData and AttributeTreeEdgeData at its nodes and edges.

It is also possible to register additional plugins on top of this class.

Definition at line 469 of file keyed_newick_reader.hpp.

Public Member Functions

 KeyedAttributeTreeNewickReader ()
 
- Public Member Functions inherited from NewickReader
 NewickReader ()=default
 
 NewickReader (NewickReader &&)=default
 
 NewickReader (NewickReader const &)=default
 
virtual ~NewickReader ()=default
 
Tree broker_to_tree (NewickBroker const &broker) const
 Build a Tree from a NewickBroker. More...
 
Tree broker_to_tree_destructive (NewickBroker &broker) const
 Build a Tree from a NewickBroker. More...
 
bool enable_tags () const
 Return whether currently Newick tags are enabled. More...
 
NewickReaderenable_tags (bool value)
 Set whether Newick tags are enabled for reading. More...
 
NewickReaderoperator= (NewickReader &&)=default
 
NewickReaderoperator= (NewickReader const &)=default
 
void parse_multiple_trees (utils::InputStream &input_stream, TreeSet &tree_set, std::string const &default_name) const
 Parse until the end of the stream and add all Trees to the TreeSet. More...
 
std::pair< std::string, Treeparse_named_tree (utils::InputStream &input_stream) const
 Parse one named tree, i.e., a tree as described here. More...
 
Tree parse_single_tree (utils::InputStream &input_stream) const
 Parse a single tree. Depending on stop_after_semicolon(), stop after the semicolon or continue until the end of the input, checking if there are only comments. More...
 
Tree read (std::shared_ptr< utils::BaseInputSource > source) const
 Read a single Tree from an input source containing a Newick tree. More...
 
void read (std::shared_ptr< utils::BaseInputSource > source, TreeSet &target, std::string const &default_name="") const
 Add Trees to a TreeSet from an input source containing a list of Newick trees. More...
 
TreeSet read (std::vector< std::shared_ptr< utils::BaseInputSource >> sources, std::string const &default_name="") const
 Return a TreeSet from a list of input sources containing Newick trees. More...
 
void read (std::vector< std::shared_ptr< utils::BaseInputSource >> sources, TreeSet &target, std::string const &default_name="") const
 Fill a TreeSet from a list of input sources containing Newick trees. More...
 
bool stop_after_semicolon () const
 Return whether currently reading stops after the semicolon that finishes a Newick tree. More...
 
NewickReaderstop_after_semicolon (bool value)
 Set whether reading a single tree stops after the semicolon that finishes a Newick tree. More...
 
- Public Member Functions inherited from CommonTreeNewickReaderPlugin
 CommonTreeNewickReaderPlugin ()=default
 
 CommonTreeNewickReaderPlugin (CommonTreeNewickReaderPlugin &&)=default
 
 CommonTreeNewickReaderPlugin (CommonTreeNewickReaderPlugin const &)=default
 
virtual ~CommonTreeNewickReaderPlugin ()=default
 
double default_branch_length () const
 Get the default branch length used when there is none given for an edge. More...
 
self_typedefault_branch_length (double value)
 Set the default branch length used when there is none given for an edge. More...
 
std::string const & default_inner_name () const
 Get the default named used when there is none given for an inner node. More...
 
self_typedefault_inner_name (std::string const &value)
 Set the default named used when there is none given for an inner node. More...
 
std::string const & default_leaf_name () const
 Get the default named used when there is none given for a leaf node. More...
 
self_typedefault_leaf_name (std::string const &value)
 Set the default named used when there is none given for a leaf node. More...
 
std::string const & default_root_name () const
 Get the default named used when there is none given for the root node. More...
 
self_typedefault_root_name (std::string const &value)
 Set the default named used when there is none given for the root node. More...
 
void element_to_edge (NewickBrokerElement const &element, TreeEdge &edge) const
 
void element_to_node (NewickBrokerElement const &element, TreeNode &node) const
 
CommonTreeNewickReaderPluginoperator= (CommonTreeNewickReaderPlugin &&)=default
 
CommonTreeNewickReaderPluginoperator= (CommonTreeNewickReaderPlugin const &)=default
 
void register_with (NewickReader &reader) const
 
bool replace_name_underscores () const
 Return whether currently this plugin replaces underscores with spaces. More...
 
self_typereplace_name_underscores (bool value)
 Set whether to replace all underscores ('_') in names with spaces (' '). More...
 
self_typeset_default_names (std::string const &value)
 Shorthand to set the default names for leaf, inner and root node at once, to one value. More...
 
bool use_default_names () const
 Return whether currently default names are activated in this plugin. More...
 
self_typeuse_default_names (bool value)
 Set whether to replace unnamed nodes with a default name. More...
 
- Public Member Functions inherited from KeyedAttributeTreeNewickReaderPlugin
 KeyedAttributeTreeNewickReaderPlugin ()=default
 
 KeyedAttributeTreeNewickReaderPlugin (KeyedAttributeTreeNewickReaderPlugin &&)=default
 
 KeyedAttributeTreeNewickReaderPlugin (KeyedAttributeTreeNewickReaderPlugin const &)=default
 
virtual ~KeyedAttributeTreeNewickReaderPlugin ()=default
 
self_typeadd_attribute (std::string const &key, Target target)
 Store values of a key at a target (i.e., Node or Edge). More...
 
self_typeadd_attribute (std::string const &source_key, Target target, std::string const &target_key)
 Store values of a source_key at a target (i.e., Node or Edge), using the target_key. More...
 
self_typeadd_attribute (std::string const &source_key, Target target, std::string const &target_key, std::string const &default_value)
 Store values of a source_key at a target (i.e., Node or Edge), using the target_key, and a default_value, if the key is not found in the source. More...
 
self_typeadd_catch_all (Target target=Target::kNode)
 Store all key-value-pairs of the Newick data in an AttributeTree. More...
 
self_typeadd_nhx_attributes ()
 Add typical attributes of the NHX format, and set the appropriate delimiters. More...
 
std::string assigner () const
 Get the currently set assign symbol between a key and its value. More...
 
self_typeassigner (std::string const &value)
 Set the assign symbol between a key and its value. More...
 
void clear ()
 Reset all settings to the default and delete all attribute settings. More...
 
void element_to_edge (NewickBrokerElement const &element, TreeEdge &edge) const
 
void element_to_node (NewickBrokerElement const &element, TreeNode &node) const
 
self_typeoperator= (KeyedAttributeTreeNewickReaderPlugin &&)=default
 
self_typeoperator= (KeyedAttributeTreeNewickReaderPlugin const &)=default
 
std::string prefix () const
 Get the currently set prefix to look for in Newick comments. More...
 
self_typeprefix (std::string const &value)
 Set the prefix to look for in Newick comments. More...
 
void register_with (NewickReader &reader) const
 
std::string separator () const
 Get the currently set separator between key-value-pairs. More...
 
self_typeseparator (std::string const &value)
 Set the separator between key-value-pairs. More...
 
self_typeset_delimiters (std::string const &prefix, std::string const &separator, std::string const &assigner="=")
 Set the delimiters for key-value-pairs. More...
 
self_typeset_nhx_delimiters ()
 Set the delimiters to the format used by NHX. More...
 
bool trim () const
 Get whether to trim keys and values before storing them in the Tree. More...
 
self_typetrim (bool value)
 Set whether to trim keys and values before storing them in the Tree. More...
 

Additional Inherited Members

- Public Types inherited from NewickReader
using create_edge_data_function = std::function< void(TreeEdge &edge) >
 Function type used to create the data pointer for each TreeEdge. More...
 
using create_node_data_function = std::function< void(TreeNode &node) >
 Function type used to create the data pointer for each TreeNode. More...
 
using element_to_edge_function = std::function< void(NewickBrokerElement const &element, TreeEdge &edge) >
 Function type that translates from a NewickBrokerElement to a TreeEdge. More...
 
using element_to_node_function = std::function< void(NewickBrokerElement const &element, TreeNode &node) >
 Function type that translates from a NewickBrokerElement to a TreeNode. More...
 
using finish_reading_function = std::function< void(Tree &tree) >
 Function type that allows to do some finalizing work with the Tree after the actual tree reading finished. More...
 
using prepare_reading_function = std::function< void(NewickBroker const &broker, Tree &tree) >
 Function type that allows to do some preparatory work with the NewickBroker and Tree before the actual tree reading begins. More...
 
- Public Types inherited from CommonTreeNewickReaderPlugin
using self_type = CommonTreeNewickReaderPlugin
 
- Public Types inherited from KeyedAttributeTreeNewickReaderPlugin
using self_type = KeyedAttributeTreeNewickReaderPlugin
 
enum  Target { kNode, kEdge }
 Select where to store the data, i.e., at Nodes or Edges of the Tree. More...
 
- Public Attributes inherited from NewickReader
create_edge_data_function create_edge_data_plugin
 
create_node_data_function create_node_data_plugin
 
std::vector< element_to_edge_functionelement_to_edge_plugins
 
std::vector< element_to_node_functionelement_to_node_plugins
 
std::vector< finish_reading_functionfinish_reading_plugins
 
std::vector< prepare_reading_functionprepare_reading_plugins
 

Constructor & Destructor Documentation

◆ KeyedAttributeTreeNewickReader()

Definition at line 480 of file keyed_newick_reader.hpp.


The documentation for this class was generated from the following file: