A library for working with phylogenetic and population genetic data.
v0.32.0
phylip_writer.hpp
Go to the documentation of this file.
1
#ifndef GENESIS_SEQUENCE_FORMATS_PHYLIP_WRITER_H_
2
#define GENESIS_SEQUENCE_FORMATS_PHYLIP_WRITER_H_
3
4
/*
5
Genesis - A toolkit for working with phylogenetic data.
6
Copyright (C) 2014-2020 Lucas Czech
7
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with this program. If not, see <http://www.gnu.org/licenses/>.
20
21
Contact:
22
Lucas Czech <lucas.czech@h-its.org>
23
Exelixis Lab, Heidelberg Institute for Theoretical Studies
24
Schloss-Wolfsbrunnenweg 35, D-69118 Heidelberg, Germany
25
*/
26
34
#include "
genesis/utils/io/output_target.hpp
"
35
36
#include <iosfwd>
37
#include <string>
38
39
namespace
genesis
{
40
namespace
sequence {
41
42
// =================================================================================================
43
// Forward Declarations
44
// =================================================================================================
45
46
class
SequenceSet;
47
48
// =================================================================================================
49
// Phylip Writer
50
// =================================================================================================
51
52
class
PhylipWriter
53
{
54
public
:
55
56
// ---------------------------------------------------------------------
57
// Constructor and Rule of Five
58
// ---------------------------------------------------------------------
59
60
PhylipWriter
() =
default
;
61
~PhylipWriter
() =
default
;
62
63
PhylipWriter
(
PhylipWriter
const
& ) =
default
;
64
PhylipWriter
(
PhylipWriter
&& ) =
default
;
65
66
PhylipWriter
&
operator=
(
PhylipWriter
const
& ) =
default
;
67
PhylipWriter
&
operator=
(
PhylipWriter
&& ) =
default
;
68
69
// ---------------------------------------------------------------------
70
// Writing
71
// ---------------------------------------------------------------------
72
73
// void to_stream_interleaved ( SequenceSet const& sequence_set, std::ostream& os ) const;
74
// void to_stream_sequential ( SequenceSet const& sequence_set, std::ostream& os ) const;
75
82
void
write
(
SequenceSet
const
& sequence_set, std::shared_ptr<utils::BaseOutputTarget> target )
const
;
83
84
// ---------------------------------------------------------------------
85
// Properties
86
// ---------------------------------------------------------------------
87
103
PhylipWriter
&
label_length
(
size_t
value );
104
110
size_t
label_length
()
const
;
111
119
PhylipWriter
&
line_length
(
size_t
value );
120
126
size_t
line_length
()
const
;
127
128
// ---------------------------------------------------------------------
129
// Members
130
// ---------------------------------------------------------------------
131
132
private
:
133
134
size_t
label_length_ = 0;
135
size_t
line_length_ = 80;
136
137
};
138
139
}
// namespace sequence
140
}
// namespace genesis
141
142
#endif // include guard
genesis::sequence::PhylipWriter::line_length
size_t line_length() const
Get the current line length.
Definition:
phylip_writer.cpp:140
genesis::sequence::PhylipWriter
Definition:
phylip_writer.hpp:52
genesis::sequence::PhylipWriter::operator=
PhylipWriter & operator=(PhylipWriter const &)=default
genesis::sequence::PhylipWriter::PhylipWriter
PhylipWriter()=default
genesis::sequence::PhylipWriter::~PhylipWriter
~PhylipWriter()=default
genesis::sequence::PhylipWriter::label_length
size_t label_length() const
Return the currently set label length.
Definition:
phylip_writer.cpp:129
genesis
Container namespace for all symbols of genesis in order to keep them separate when used as a library.
Definition:
placement/formats/edge_color.cpp:42
genesis::sequence::SequenceSet
Store a set of Sequences.
Definition:
sequence_set.hpp:53
genesis::sequence::PhylipWriter::write
void write(SequenceSet const &sequence_set, std::shared_ptr< utils::BaseOutputTarget > target) const
Write a SequenceSet to an output target, using the Phylip format.
Definition:
phylip_writer.cpp:61
output_target.hpp
lib
genesis
sequence
formats
phylip_writer.hpp
Generated on Mon Aug 5 2024 16:57:52 for genesis by
1.8.17