A toolkit for working with phylogenetic data.
v0.20.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DefaultTreeNewickReader Class Reference

#include <genesis/tree/default/newick_reader.hpp>

Inherits NewickReader, and DefaultTreeNewickReaderPlugin.

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 DefaultTreeNewickReaderPlugin. It is intended to be used for standard use cases, and produces a Tree with DefaultNodeData and DefaultEdgeData at its nodes and edges.

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

Behind the curtain, this class derives from both NewickReader and DefaultTreeNewickReaderPlugin. This is a bit ugly, but we use it for simplicity. This allows to use an instance as if it was a reader (i.e., call from_... functions), but also change the plugin settings in a natural way.

Definition at line 326 of file tree/default/newick_reader.hpp.

Public Member Functions

 DefaultTreeNewickReader ()
 
- Public Member Functions inherited from NewickReader
 NewickReader ()=default
 
 NewickReader (NewickReader const &)=default
 
 NewickReader (NewickReader &&)=default
 
virtual ~NewickReader ()=default
 
NewickReaderenable_tags (bool value)
 Set whether Newick tags are enabled for reading. More...
 
bool enable_tags () const
 Return whether currently Newick tags are enabled. More...
 
Tree from_file (std::string const &filename) const
 Read a Tree from a file containing a Newick tree. More...
 
void from_file (std::string const &filename, TreeSet &tree_set, std::string const &default_name="") const
 Add Trees to a TreeSet from a file containing a list of Newick trees. More...
 
void from_files (std::vector< std::string > const &filenames, TreeSet &tree_set) const
 Fill a TreeSet from a list of files containing Newick trees. More...
 
Tree from_stream (std::istream &input_stream) const
 Read a Tree from an input stream containing a Newick tree. More...
 
void from_stream (std::istream &input_stream, TreeSet &tree_set, std::string const &default_name="") const
 Add Trees to a TreeSet from an input stream containing a list of Newick trees. More...
 
Tree from_string (std::string const &tree_string) const
 Read a Tree from a string containing a Newick tree. More...
 
void from_string (std::string const &tree_string, TreeSet &tree_set, std::string const &default_name="") const
 Add Trees to a TreeSet from a string containing a list of Newick trees. More...
 
void from_strings (std::vector< std::string > const &tree_strings, TreeSet &tree_set, std::string const &default_name="") const
 Fill a TreeSet from a list of strings containing Newick trees. More...
 
NewickReaderoperator= (NewickReader const &)=default
 
NewickReaderoperator= (NewickReader &&)=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_at_semicolon(), stop after the semicolon or continue until the end of the input, checking if there are only comments. More...
 
NewickReaderstop_at_semicolon (bool value)
 Set whether reading a single tree stops after the semicolon that finishes a Newick tree. More...
 
bool stop_at_semicolon () const
 Return whether currently reading stops after the semicolon that finishes a Newick tree. More...
 
- Public Member Functions inherited from DefaultTreeNewickReaderPlugin
 DefaultTreeNewickReaderPlugin ()=default
 
 DefaultTreeNewickReaderPlugin (DefaultTreeNewickReaderPlugin const &)=default
 
 DefaultTreeNewickReaderPlugin (DefaultTreeNewickReaderPlugin &&)=default
 
virtual ~DefaultTreeNewickReaderPlugin ()=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
 
DefaultTreeNewickReaderPluginoperator= (DefaultTreeNewickReaderPlugin const &)=default
 
DefaultTreeNewickReaderPluginoperator= (DefaultTreeNewickReaderPlugin &&)=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...
 

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(NewickBroker const &broker, Tree &tree) >
 Function type that allows to do some finalizing work with the NewickBroker and 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 DefaultTreeNewickReaderPlugin
using self_type = DefaultTreeNewickReaderPlugin
 
- 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_function
element_to_edge_plugins
 
std::vector
< element_to_node_function
element_to_node_plugins
 
std::vector
< finish_reading_function
finish_reading_plugins
 
std::vector
< prepare_reading_function
prepare_reading_plugins
 

Constructor & Destructor Documentation

Definition at line 336 of file tree/default/newick_reader.hpp.


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