bpp-seq3  3.0.0
BppSequenceApplication.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_SEQ_APP_BPPSEQUENCEAPPLICATION_H
6 #define BPP_SEQ_APP_BPPSEQUENCEAPPLICATION_H
7 
8 
9 // From the STL:
10 #include <iostream>
11 #include <iomanip>
12 #include <limits>
13 
14 using namespace std;
15 
16 // From bpp-core:
17 #include <Bpp/App/BppApplication.h>
18 
19 #include "../Alphabet/Alphabet.h"
20 #include "../Alphabet/CodonAlphabet.h"
21 #include "../Container/AlignmentData.h"
22 #include "../Container/SiteContainer.h"
24 
25 namespace bpp
26 {
28  public virtual BppApplication
29 {
30 public:
31  BppSequenceApplication(int argc, char* argv[], const std::string& name) :
32  BppApplication(argc, argv, name)
33  {}
34 
35 public:
36  /***************************************
37  * @brief Methods to build objects
38  *
39  * @{
40  */
41 
42 
43  /*
44  * @brief get the Alphabet
45  */
46  virtual std::shared_ptr<Alphabet> getAlphabet(
47  const string& suffix = "",
48  bool suffixIsOptional = true,
49  bool allowGeneric = false) const;
50 
51  /*
52  * @brief get the GeneticCode
53  */
54  virtual std::shared_ptr<GeneticCode> getGeneticCode(
55  std::shared_ptr<const Alphabet>& alphabet,
56  const string& suffix = "",
57  bool suffixIsOptional = true) const;
58 
59  /*
60  * @brief Get the std::map of alignments
61  */
62  virtual std::map<size_t, std::unique_ptr<AlignmentDataInterface>>
63  getAlignmentsMap(
64  std::shared_ptr<const Alphabet>& alphabet,
65  bool changeGapsToUnknownCharacters = true,
66  bool optionalData = false,
67  const std::string& prefix = "input.",
68  const std::string& suffix = "",
69  bool suffixIsOptional = true) const;
70 
71 
72  /*
73  * @brief Get the std::map of const alignments
74  */
75  virtual std::map<size_t, std::unique_ptr<const AlignmentDataInterface>>
76  getConstAlignmentsMap(
77  std::shared_ptr<const Alphabet>& alphabet,
78  bool changeGapsToUnknownCharacters = true,
79  bool optionalData = false,
80  const std::string& prefix = "input.",
81  const std::string& suffix = "",
82  bool suffixIsOptional = true) const;
83 };
84 } // end of namespace bpp;
85 #endif // BPP_SEQ_APP_BPPSEQUENCEAPPLICATION_H
BppSequenceApplication(int argc, char *argv[], const std::string &name)
This alphabet is used to deal NumericAlphabet.