21 unparsedArguments_.clear();
24 unsigned int ncol = ApplicationTools::getParameter<unsigned int>(
"length", unparsedArguments_, 100,
"",
true, warningLevel_);
25 unique_ptr<OAlignment> oAln;
26 if (format ==
"Fasta")
28 oAln.reset(
new Fasta(ncol));
30 else if (format ==
"Mase")
32 oAln.reset(
new Mase(ncol));
34 else if (format ==
"Clustal")
38 else if (format ==
"Phylip")
40 bool sequential =
true, extended =
true;
43 if (order ==
"sequential")
45 else if (order ==
"interleaved")
48 throw Exception(
"BppOAlignmentWriterFormat::read. Invalid argument 'order' for phylip format: " + order);
51 if (type ==
"extended")
55 if (
split ==
"spaces")
57 else if (
split ==
"tab")
60 throw Exception(
"BppOAlignmentWriterFormat::read. Invalid argument 'split' for phylip format: " +
split);
62 else if (type ==
"classic")
65 throw Exception(
"BppOAlignmentWriterFormat::read. Invalid argument 'type' for phylip format: " + type);
67 oAln.reset(
new Phylip(extended, sequential, ncol,
split));
69 else if (format ==
"Stockholm")
75 throw IOException(
"Sequence format '" + format +
"' unknown.");
The clustal sequence file format.
The fasta sequence file format.
The mase sequence file format.
The Stockholm alignment file format.
std::vector< std::string > split(const std::string &s, std::size_t n)
This alphabet is used to deal NumericAlphabet.