Structural Bioinformatics Library
Template C++ / Python API for developping structural bioinformatics applications.
T_Nucleic_acid_representation< PolynucleotideChain > Class Template Reference

#include <Nucleic_acid_representation.hpp>

Public Types

typedef T_Nucleic_acid_representation< PolynucleotideChain > Self
 The class itself.
typedef PolynucleotideChain Polynucleotide_chain
 Representation of a single polynucleotide chain within a Nucleic Acid representation.
typedef std::unordered_map< char, Polynucleotide_chainPolynucleotide_chains_map
 Map from chain identifiers to their representation.
typedef Polynucleotide_chains_map::iterator Polynucleotide_chains_iterator
 Iterator over the map from chain identifiers to their representation.
typedef Polynucleotide_chains_map::const_iterator Polynucleotide_chains_const_iterator
 Iterator over the map from chain identifiers to their representation (const)x.

Constructors

 T_Nucleic_acid_representation ()
 Builds an empty nucleic acid.

Accessors

unsigned get_number_of_particles () const
 Return the total number of particles in the nucleic acid.
unsigned get_number_of_embedded_particles () const
 Return the number of particles in the nucleic acid with an associated geometric model.
bool is_fully_embedded () const
 Return true iff all the chains are fully embedded.
unsigned get_number_of_bonds () const
 Return the total number of bonds in the nucleic acid.
unsigned get_number_of_embedded_bonds () const
 Return the number of bonds in the nucleic acid where both atoms have an associated geometric model.
unsigned get_total_number_of_residues () const
 Return the total number of residues in the nucleic acid.
std::size_t get_number_of_chains () const
 Return the number of polynucleotide chains.
Polynucleotide_chainget_chain (char c)
 Return the representation of the chain identified by the input character.
const Polynucleotide_chainget_chain (char c) const
 Return a const representation of the chain identified by the input character.
const PolynucleotideChain & get_the_unique_chain () const
 Return a const representation of the unique chain of the nucleic acid.
PolynucleotideChain & get_the_unique_chain ()
 Return a const representation of the unique chain of the nucleic acid.
std::string & get_name ()
 Return a reference to the name of this nucleic acid.
const std::string & get_name () const
 Return the name of this nucleic acid.
void statistics (std::ostream &out) const
 Return statistics on this nucleic acid.

Modifiers

void create_chain (char c, Chain &chain, Molecular_covalent_structure &structure, const Conformation_type &C)
 Create a polynucleotide chain in this nucleic acid.

Traversals

Polynucleotide_chains_iterator chains_begin ()
 Starts the container of chains.
Polynucleotide_chains_iterator chains_end ()
 Ends the container of chains.
Polynucleotide_chains_const_iterator chains_begin () const
 Starts the container of chains (const)
Polynucleotide_chains_const_iterator chains_end () const
 Ends the container of chains (const)

Detailed Description

template<class PolynucleotideChain>
class SBL::CSB::T_Nucleic_acid_representation< PolynucleotideChain >

\sbl_add_package_main_class{Nucleic_acid_representation, T_Nucleic_acid_representation, Representation of a nucleic acid with its polynucleotide chains. \details Representation of a nucleic acid with its polynucleotide chains.

Template Parameters
PolynucleotideChainRepresentation of a polynucleotide chain (see SBL::CSB::T_Polynucleotide_chain_representation)

}

Member Typedef Documentation

◆ Polynucleotide_chain

template<class PolynucleotideChain>
typedef PolynucleotideChain Polynucleotide_chain

Representation of a single polynucleotide chain within a Nucleic Acid representation.

Template Parameters
ParticleTraitsTraits class providing the particle type, see package ParticleTraits
MolecularCovalentStructureGraph representation of a covalent structure.
ConformationTypeRepresentation of a conformation as a point in dimension D, where D is three times the number of particles in the conformation.

◆ Polynucleotide_chains_const_iterator

template<class PolynucleotideChain>
typedef Polynucleotide_chains_map::const_iterator Polynucleotide_chains_const_iterator

Iterator over the map from chain identifiers to their representation (const)x.

◆ Polynucleotide_chains_iterator

template<class PolynucleotideChain>
typedef Polynucleotide_chains_map::iterator Polynucleotide_chains_iterator

Iterator over the map from chain identifiers to their representation.

◆ Polynucleotide_chains_map

template<class PolynucleotideChain>
typedef std::unordered_map<char, Polynucleotide_chain> Polynucleotide_chains_map

Map from chain identifiers to their representation.

◆ Self

template<class PolynucleotideChain>
typedef T_Nucleic_acid_representation<PolynucleotideChain> Self

The class itself.

Constructor & Destructor Documentation

◆ T_Nucleic_acid_representation()

template<class PolynucleotideChain>
T_Nucleic_acid_representation ( )
inline

Builds an empty nucleic acid.

Member Function Documentation

◆ chains_begin() [1/2]

template<class PolynucleotideChain>
T_Nucleic_acid_representation< PolynucleotideChain >::Polynucleotide_chains_iterator chains_begin ( )
inline

Starts the container of chains.

Returns
Iterator at the start of the chain container.

◆ chains_begin() [2/2]

template<class PolynucleotideChain>
T_Nucleic_acid_representation< PolynucleotideChain >::Polynucleotide_chains_const_iterator chains_begin ( ) const
inline

Starts the container of chains (const)

Returns
Iterator at the start of the chain container.

◆ chains_end() [1/2]

template<class PolynucleotideChain>
T_Nucleic_acid_representation< PolynucleotideChain >::Polynucleotide_chains_iterator chains_end ( )
inline

Ends the container of chains.

Returns
Iterator at the end of the chain container.

◆ chains_end() [2/2]

template<class PolynucleotideChain>
T_Nucleic_acid_representation< PolynucleotideChain >::Polynucleotide_chains_const_iterator chains_end ( ) const
inline

Ends the container of chains (const)

Returns
Iterator at the end of the chain container.

◆ create_chain()

template<class PolynucleotideChain>
void create_chain ( char c,
Chain & chain,
Molecular_covalent_structure & structure,
const Conformation_type & C )
inline

Create a polynucleotide chain in this nucleic acid.

Parameters
cChain identifier
chainfrom a Biophysical model
structureCovalent structure of this nucleic acid
CGeometric conformation of this nucleic acid

◆ get_chain() [1/2]

template<class PolynucleotideChain>
PolynucleotideChain & get_chain ( char c)
inline

Return the representation of the chain identified by the input character.

Parameters
cChain identifier
Returns
Polynucleotide chain

◆ get_chain() [2/2]

template<class PolynucleotideChain>
const PolynucleotideChain & get_chain ( char c) const
inline

Return a const representation of the chain identified by the input character.

Parameters
cChain identifier
Returns
Polynucleotide chain (const)

◆ get_name() [1/2]

template<class PolynucleotideChain>
std::string & get_name ( )
inline

Return a reference to the name of this nucleic acid.

Returns
Reference to the name.

◆ get_name() [2/2]

template<class PolynucleotideChain>
const std::string & get_name ( ) const
inline

Return the name of this nucleic acid.

Returns
Name of this nucleic acid.

◆ get_number_of_bonds()

template<class PolynucleotideChain>
unsigned get_number_of_bonds ( ) const
inline

Return the total number of bonds in the nucleic acid.

Returns
Total number of bonds in the nucleic acid.

◆ get_number_of_chains()

template<class PolynucleotideChain>
std::size_t get_number_of_chains ( ) const
inline

Return the number of polynucleotide chains.

Returns
Number of polynucleotide chains

◆ get_number_of_embedded_bonds()

template<class PolynucleotideChain>
unsigned get_number_of_embedded_bonds ( ) const
inline

Return the number of bonds in the nucleic acid where both atoms have an associated geometric model.

Returns
Number of embedded bonds in the nucleic acid.

◆ get_number_of_embedded_particles()

template<class PolynucleotideChain>
unsigned get_number_of_embedded_particles ( ) const
inline

Return the number of particles in the nucleic acid with an associated geometric model.

Returns
Number of embedded particles in the nucleic acid.

◆ get_number_of_particles()

template<class PolynucleotideChain>
unsigned get_number_of_particles ( ) const
inline

Return the total number of particles in the nucleic acid.

Returns
Total number of particles in the nucleic acid.

◆ get_the_unique_chain() [1/2]

template<class PolynucleotideChain>
PolynucleotideChain & get_the_unique_chain ( )
inline

Return a const representation of the unique chain of the nucleic acid.

Returns
Polynucleotide chain

◆ get_the_unique_chain() [2/2]

template<class PolynucleotideChain>
const PolynucleotideChain & get_the_unique_chain ( ) const
inline

Return a const representation of the unique chain of the nucleic acid.

Returns
Polynucleotide chain

◆ get_total_number_of_residues()

template<class PolynucleotideChain>
unsigned get_total_number_of_residues ( ) const
inline

Return the total number of residues in the nucleic acid.

Returns
Total number of residues in the nucleic acid.

◆ is_fully_embedded()

template<class PolynucleotideChain>
bool is_fully_embedded ( ) const
inline

Return true iff all the chains are fully embedded.

Returns
Return true iff all the chains are fully embedded

◆ statistics()

template<typename PolynucleotideChain>
void statistics ( std::ostream & out) const
inline

Return statistics on this nucleic acid.

Returns
Statistics on this nucleic acid.