bpp-popgen
3.0.0
PolymorphismSequenceContainerTools.h
Go to the documentation of this file.
1
//
2
// File: PolymorphismSequenceContainerTools.h
3
// Authors: Eric Bazin
4
// Sylvain Gaillard
5
// Created on: Thursday July 29 2004
6
//
7
8
/*
9
Copyright or © or Copr. Bio++ Development Team, (November 17, 2004)
10
11
This software is a computer program whose purpose is to provide classes
12
for population genetics analysis.
13
14
This software is governed by the CeCILL license under French law and
15
abiding by the rules of distribution of free software. You can use,
16
modify and/ or redistribute the software under the terms of the CeCILL
17
license as circulated by CEA, CNRS and INRIA at the following URL
18
"http://www.cecill.info".
19
20
As a counterpart to the access to the source code and rights to copy,
21
modify and redistribute granted by the license, users are provided only
22
with a limited warranty and the software's author, the holder of the
23
economic rights, and the successive licensors have only limited
24
liability.
25
26
In this respect, the user's attention is drawn to the risks associated
27
with loading, using, modifying and/or developing or reproducing the
28
software by the user in light of its specific status of free software,
29
that may mean that it is complicated to manipulate, and that also
30
therefore means that it is reserved for developers and experienced
31
professionals having in-depth computer knowledge. Users are therefore
32
encouraged to load and test the software's suitability as regards their
33
requirements in conditions enabling the security of their systems and/or
34
data to be ensured and, more generally, to use and operate it in the
35
same conditions as regards security.
36
37
The fact that you are presently reading this means that you have had
38
knowledge of the CeCILL license and that you accept its terms.
39
*/
40
41
#ifndef _POLYMORPHISMSEQUENCECONTAINERTOOL_H_
42
#define _POLYMORPHISMSEQUENCECONTAINERTOOL_H_
43
44
#include <
Bpp/Numeric/Random/RandomTools.h
>
45
#include <
Bpp/Text/StringTokenizer.h
>
46
47
// from bpp-seq
48
#include <
Bpp/Seq/Alphabet/CodonAlphabet.h
>
49
#include <
Bpp/Seq/Io/Mase.h
>
50
#include <
Bpp/Seq/Io/MaseTools.h
>
51
#include <
Bpp/Seq/Container/SiteContainerIterator.h
>
52
#include <
Bpp/Seq/Container/SequenceContainerTools.h
>
53
#include <
Bpp/Seq/Container/VectorSiteContainer.h
>
54
#include <
Bpp/Seq/SiteTools.h
>
55
56
// from STL
57
#include <string>
58
59
// From Local
60
#include "
PolymorphismSequenceContainer.h
"
61
#include "
GeneralExceptions.h
"
62
63
namespace
bpp
64
{
71
class
PolymorphismSequenceContainerTools
72
{
73
public
:
74
// Class destructor:
75
~PolymorphismSequenceContainerTools
();
76
77
/*******************************************************************************/
78
79
public
:
89
static
PolymorphismSequenceContainer
*
read
(
const
std::string& path,
const
Alphabet
* alpha);
90
98
static
PolymorphismSequenceContainer
*
extractIngroup
(
const
PolymorphismSequenceContainer
& psc);
99
107
static
PolymorphismSequenceContainer
*
extractOutgroup
(
const
PolymorphismSequenceContainer
& psc);
108
117
static
PolymorphismSequenceContainer
*
extractGroup
(
const
PolymorphismSequenceContainer
& psc,
size_t
group_id);
118
126
static
PolymorphismSequenceContainer
*
getSelectedSequences
(
const
PolymorphismSequenceContainer
& psc,
const
SequenceSelection
& ss);
127
135
static
PolymorphismSequenceContainer
*
sample
(
const
PolymorphismSequenceContainer
& psc,
size_t
n,
bool
replace =
true
);
136
142
static
PolymorphismSequenceContainer
*
getSitesWithoutGaps
(
const
PolymorphismSequenceContainer
& psc);
143
152
static
size_t
getNumberOfNonGapSites
(
const
PolymorphismSequenceContainer
& psc,
bool
ingroup);
153
163
static
size_t
getNumberOfCompleteSites
(
const
PolymorphismSequenceContainer
& psc,
bool
ingroup);
164
165
171
static
PolymorphismSequenceContainer
*
getCompleteSites
(
const
PolymorphismSequenceContainer
& psc);
172
173
179
static
PolymorphismSequenceContainer
*
excludeFlankingGap
(
const
PolymorphismSequenceContainer
& psc);
180
191
static
PolymorphismSequenceContainer
*
getSelectedSites
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName,
bool
phase);
192
201
static
PolymorphismSequenceContainer
*
getNonCodingSites
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName);
202
214
static
PolymorphismSequenceContainer
*
getOnePosition
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName,
size_t
pos);
215
225
static
PolymorphismSequenceContainer
*
getIntrons
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName,
const
GeneticCode
* gCode);
226
233
static
PolymorphismSequenceContainer
*
get5Prime
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName);
234
242
static
PolymorphismSequenceContainer
*
get3Prime
(
const
PolymorphismSequenceContainer
& psc,
const
std::string& setName,
const
GeneticCode
* gCode);
243
249
static
std::string
getIngroupSpeciesName
(
const
PolymorphismSequenceContainer
& psc);
250
259
static
PolymorphismSequenceContainer
*
getSynonymousSites
(
const
PolymorphismSequenceContainer
& psc,
const
GeneticCode
& gCode);
260
269
static
PolymorphismSequenceContainer
*
getNonSynonymousSites
(
const
PolymorphismSequenceContainer
& psc,
const
GeneticCode
& gCode);
270
271
};
272
}
// end of namespace bpp;
273
274
#endif
// _POLYMORPHISMSEQUENCECONTAINERTOOL_H_
275
CodonAlphabet.h
GeneralExceptions.h
MaseTools.h
Mase.h
PolymorphismSequenceContainer.h
RandomTools.h
SequenceContainerTools.h
SiteContainerIterator.h
SiteTools.h
StringTokenizer.h
VectorSiteContainer.h
bpp::Alphabet
bpp::GeneticCode
bpp::PolymorphismSequenceContainerTools
Utilitary function to manipulate PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.h:72
bpp::PolymorphismSequenceContainerTools::get5Prime
static PolymorphismSequenceContainer * get5Prime(const PolymorphismSequenceContainer &psc, const std::string &setName)
Retrieve 5' sites.
Definition:
PolymorphismSequenceContainerTools.cpp:492
bpp::PolymorphismSequenceContainerTools::getNonCodingSites
static PolymorphismSequenceContainer * getNonCodingSites(const PolymorphismSequenceContainer &psc, const std::string &setName)
Retrieve non-coding sites defined in the mase file header.
Definition:
PolymorphismSequenceContainerTools.cpp:366
bpp::PolymorphismSequenceContainerTools::getSitesWithoutGaps
static PolymorphismSequenceContainer * getSitesWithoutGaps(const PolymorphismSequenceContainer &psc)
Retrieves sites without gaps from PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.cpp:210
bpp::PolymorphismSequenceContainerTools::extractIngroup
static PolymorphismSequenceContainer * extractIngroup(const PolymorphismSequenceContainer &psc)
Extract ingroup sequences from a PolymorphismSequenceContainer and create a new one.
Definition:
PolymorphismSequenceContainerTools.cpp:105
bpp::PolymorphismSequenceContainerTools::getSelectedSequences
static PolymorphismSequenceContainer * getSelectedSequences(const PolymorphismSequenceContainer &psc, const SequenceSelection &ss)
Extract selected sequences.
Definition:
PolymorphismSequenceContainerTools.cpp:174
bpp::PolymorphismSequenceContainerTools::extractOutgroup
static PolymorphismSequenceContainer * extractOutgroup(const PolymorphismSequenceContainer &psc)
Extract outgroup sequences from a PolymorphismSequenceContainer and create a new one.
Definition:
PolymorphismSequenceContainerTools.cpp:128
bpp::PolymorphismSequenceContainerTools::extractGroup
static PolymorphismSequenceContainer * extractGroup(const PolymorphismSequenceContainer &psc, size_t group_id)
Extract a special group from the PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.cpp:151
bpp::PolymorphismSequenceContainerTools::getNumberOfNonGapSites
static size_t getNumberOfNonGapSites(const PolymorphismSequenceContainer &psc, bool ingroup)
Return number of sites without gaps in a PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.cpp:235
bpp::PolymorphismSequenceContainerTools::getIntrons
static PolymorphismSequenceContainer * getIntrons(const PolymorphismSequenceContainer &psc, const std::string &setName, const GeneticCode *gCode)
Retrieve intron sites.
Definition:
PolymorphismSequenceContainerTools.cpp:435
bpp::PolymorphismSequenceContainerTools::read
static PolymorphismSequenceContainer * read(const std::string &path, const Alphabet *alpha)
Read a Mase+ file and return a PolymorphismSequenceContainer. Toggle Sequence when selection tag begi...
Definition:
PolymorphismSequenceContainerTools.cpp:52
bpp::PolymorphismSequenceContainerTools::getNumberOfCompleteSites
static size_t getNumberOfCompleteSites(const PolymorphismSequenceContainer &psc, bool ingroup)
Return number of completely resolved sites in a PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.cpp:265
bpp::PolymorphismSequenceContainerTools::excludeFlankingGap
static PolymorphismSequenceContainer * excludeFlankingGap(const PolymorphismSequenceContainer &psc)
exclude flanking sites with gap but keep gap sites within the alignment
Definition:
PolymorphismSequenceContainerTools.cpp:320
bpp::PolymorphismSequenceContainerTools::get3Prime
static PolymorphismSequenceContainer * get3Prime(const PolymorphismSequenceContainer &psc, const std::string &setName, const GeneticCode *gCode)
Retrieve 3' sites.
Definition:
PolymorphismSequenceContainerTools.cpp:530
bpp::PolymorphismSequenceContainerTools::getIngroupSpeciesName
static std::string getIngroupSpeciesName(const PolymorphismSequenceContainer &psc)
Get the species name of the ingroup.
Definition:
PolymorphismSequenceContainerTools.cpp:570
bpp::PolymorphismSequenceContainerTools::getOnePosition
static PolymorphismSequenceContainer * getOnePosition(const PolymorphismSequenceContainer &psc, const std::string &setName, size_t pos)
Retrieve sites at one codon position (1,2,3)
Definition:
PolymorphismSequenceContainerTools.cpp:394
bpp::PolymorphismSequenceContainerTools::getSelectedSites
static PolymorphismSequenceContainer * getSelectedSites(const PolymorphismSequenceContainer &psc, const std::string &setName, bool phase)
Get a PolymorphismSequenceContainer corresponding to a site selection annotated in the mase comments.
Definition:
PolymorphismSequenceContainerTools.cpp:337
bpp::PolymorphismSequenceContainerTools::sample
static PolymorphismSequenceContainer * sample(const PolymorphismSequenceContainer &psc, size_t n, bool replace=true)
Get a random set of sequences.
Definition:
PolymorphismSequenceContainerTools.cpp:194
bpp::PolymorphismSequenceContainerTools::~PolymorphismSequenceContainerTools
~PolymorphismSequenceContainerTools()
Definition:
PolymorphismSequenceContainerTools.cpp:48
bpp::PolymorphismSequenceContainerTools::getCompleteSites
static PolymorphismSequenceContainer * getCompleteSites(const PolymorphismSequenceContainer &psc)
Retrieves complete sites from a PolymorphismSequenceContainer.
Definition:
PolymorphismSequenceContainerTools.cpp:295
bpp::PolymorphismSequenceContainerTools::getNonSynonymousSites
static PolymorphismSequenceContainer * getNonSynonymousSites(const PolymorphismSequenceContainer &psc, const GeneticCode &gCode)
Retrieve non-synonymous codon sites.
Definition:
PolymorphismSequenceContainerTools.cpp:617
bpp::PolymorphismSequenceContainerTools::getSynonymousSites
static PolymorphismSequenceContainer * getSynonymousSites(const PolymorphismSequenceContainer &psc, const GeneticCode &gCode)
Retrieve synonymous codon sites.
Definition:
PolymorphismSequenceContainerTools.cpp:592
bpp::PolymorphismSequenceContainer
The PolymorphismSequenceContainer class.
Definition:
PolymorphismSequenceContainer.h:104
bpp
bpp::SequenceSelection
std::vector< size_t > SequenceSelection
Bpp
PopGen
PolymorphismSequenceContainerTools.h
Generated on Fri Oct 1 2021 22:22:37 for bpp-popgen by
1.9.1