bpp-seq3  3.0.0
IoSequenceFactory.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_IO_IOSEQUENCEFACTORY_H
6 #define BPP_SEQ_IO_IOSEQUENCEFACTORY_H
7 
8 
9 #include "../Alphabet/Alphabet.h"
10 #include "ISequence.h"
11 #include "OSequence.h"
12 
13 namespace bpp
14 {
19 {
20 public:
21  static const std::string FASTA_FORMAT;
22  static const std::string MASE_FORMAT;
23  static const std::string CLUSTAL_FORMAT;
24  static const std::string DCSE_FORMAT;
25  static const std::string PHYLIP_FORMAT_INTERLEAVED;
26  static const std::string PHYLIP_FORMAT_SEQUENTIAL;
27  static const std::string PAML_FORMAT_INTERLEAVED;
28  static const std::string PAML_FORMAT_SEQUENTIAL;
29  static const std::string GENBANK_FORMAT;
30  static const std::string NEXUS_FORMAT;
31 
32 public:
45  virtual ~IoSequenceFactory() {}
46 
54  virtual std::unique_ptr<ISequence> createReader(const std::string& format);
55 
63  virtual std::unique_ptr<IAlignment> createAlignmentReader(const std::string& format);
64 
72  virtual std::unique_ptr<OSequence> createWriter(const std::string& format);
73 
81  virtual std::unique_ptr<OAlignment> createAlignmentWriter(const std::string& format);
82 };
83 } // end of namespace bpp.
84 #endif // BPP_SEQ_IO_IOSEQUENCEFACTORY_H
Utilitary class for creating sequence readers and writers.
IoSequenceFactory()
Creates a new factory object.
static const std::string DCSE_FORMAT
static const std::string PHYLIP_FORMAT_SEQUENTIAL
static const std::string GENBANK_FORMAT
virtual std::unique_ptr< IAlignment > createAlignmentReader(const std::string &format)
Get a new dynamically created IAlignment object.
static const std::string PAML_FORMAT_INTERLEAVED
static const std::string CLUSTAL_FORMAT
virtual std::unique_ptr< OSequence > createWriter(const std::string &format)
Get a new dynamically created OSequence object.
virtual std::unique_ptr< OAlignment > createAlignmentWriter(const std::string &format)
Get a new dynamically created OAlignment object.
static const std::string NEXUS_FORMAT
static const std::string PHYLIP_FORMAT_INTERLEAVED
static const std::string MASE_FORMAT
static const std::string FASTA_FORMAT
static const std::string PAML_FORMAT_SEQUENTIAL
virtual std::unique_ptr< ISequence > createReader(const std::string &format)
Get a new dynamically created ISequence object.
This alphabet is used to deal NumericAlphabet.