Chemical Data Processing Library C++ API - Version 1.2.0
Biomol/MolecularGraphFunctions.hpp
Go to the documentation of this file.
1 /*
2  * MolecularGraphFunctions.hpp
3  *
4  * This file is part of the Chemical Data Processing Toolkit
5  *
6  * Copyright (C) 2003 Thomas Seidel <thomas.seidel@univie.ac.at>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; see the file COPYING. If not, write to
20  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23 
29 #ifndef CDPL_BIOMOL_MOLECULARGRAPHFUNCTIONS_HPP
30 #define CDPL_BIOMOL_MOLECULARGRAPHFUNCTIONS_HPP
31 
32 #include <string>
33 #include <cstddef>
34 
36 #include "CDPL/Biomol/PDBData.hpp"
41 
42 
43 namespace CDPL
44 {
45 
46  namespace Chem
47  {
48 
49  class MolecularGraph;
50  class Fragment;
51  } // namespace Chem
52 
53  namespace Biomol
54  {
55 
56  CDPL_BIOMOL_API const std::string& getResidueCode(const Chem::MolecularGraph& molgraph);
57 
58  CDPL_BIOMOL_API void setResidueCode(Chem::MolecularGraph& molgraph, const std::string& code);
59 
61 
63 
64 
66 
68 
70 
72 
73 
75 
77 
79 
81 
82 
83  CDPL_BIOMOL_API const std::string& getChainID(const Chem::MolecularGraph& molgraph);
84 
85  CDPL_BIOMOL_API void setChainID(Chem::MolecularGraph& molgraph, const std::string& id);
86 
88 
90 
91 
92  CDPL_BIOMOL_API std::size_t getModelNumber(const Chem::MolecularGraph& molgraph);
93 
94  CDPL_BIOMOL_API void setModelNumber(Chem::MolecularGraph& molgraph, std::size_t model_no);
95 
97 
99 
100 
102 
104 
106 
108 
113 
115 
117 
119 
120 
121  CDPL_BIOMOL_API void extractResidueSubstructures(const Chem::MolecularGraph& molgraph, const Chem::MolecularGraph& parent_molgraph, Chem::Fragment& res_substructs,
122  bool cnctd_only = false, unsigned int flags = AtomPropertyFlag::DEFAULT, bool append = false);
123 
125  double max_dist, bool inc_core_atoms = false, bool append = false);
126 
128  const Chem::Atom3DCoordinatesFunction& coords_func, double max_dist, bool inc_core_atoms = false, bool append = false);
129 
131  double max_dist, bool append = false);
132 
134  const Chem::Atom3DCoordinatesFunction& coords_func, double max_dist, bool append = false);
135 
137 
138  CDPL_BIOMOL_API bool matchesResidueInfo(const Chem::MolecularGraph& molgraph, const char* res_code = 0, const char* chain_id = 0, long res_seq_no = IGNORE_SEQUENCE_NO,
139  char ins_code = 0, std::size_t model_no = 0);
140  } // namespace Biomol
141 } // namespace CDPL
142 
143 #endif // CDPL_BIOMOL_MOLECULARGRAPHFUNCTIONS_HPP
Type definition of a generic wrapper class for storing user-defined Chem::Atom 3D-coordinates functio...
Definition of the preprocessor macro CDPL_BIOMOL_API.
#define CDPL_BIOMOL_API
Tells the compiler/linker which classes, functions and variables are part of the library API.
Definition of constants in namespace CDPL::Biomol::AtomPropertyFlag.
Definition of the class CDPL::Biomol::MMCIFData.
Definition of the class CDPL::Biomol::PDBData.
Definition of flags for serial and residue sequence number processing.
std::shared_ptr< MMCIFData > SharedPointer
Definition: MMCIFData.hpp:57
std::shared_ptr< PDBData > SharedPointer
Definition: PDBData.hpp:53
Fragment.
Definition: Fragment.hpp:52
MolecularGraph.
Definition: MolecularGraph.hpp:52
constexpr unsigned int DEFAULT
Represents the default set of atom properties.
Definition: Biomol/AtomPropertyFlag.hpp:53
const long IGNORE_SEQUENCE_NO
Definition: ProcessingFlags.hpp:41
CDPL_BIOMOL_API void setModelNumber(Chem::Atom &atom, std::size_t model_no)
CDPL_BIOMOL_API char getResidueInsertionCode(const Chem::Atom &atom)
CDPL_BIOMOL_API std::size_t getModelNumber(const Chem::Atom &atom)
CDPL_BIOMOL_API void clearModelNumber(Chem::Atom &atom)
CDPL_BIOMOL_API void setResidueInsertionCode(Chem::Atom &atom, char code)
CDPL_BIOMOL_API bool hasMMCIFData(const Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API bool hasChainID(const Chem::Atom &atom)
CDPL_BIOMOL_API void clearChainID(Chem::Atom &atom)
CDPL_BIOMOL_API void clearPDBData(Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API void clearResidueInsertionCode(Chem::Atom &atom)
CDPL_BIOMOL_API void clearResidueSequenceNumber(Chem::Atom &atom)
CDPL_BIOMOL_API long getResidueSequenceNumber(const Chem::Atom &atom)
CDPL_BIOMOL_API bool matchesResidueInfo(const Chem::Atom &atom, const char *res_code=0, const char *chain_id=0, long res_seq_no=IGNORE_SEQUENCE_NO, char ins_code=0, std::size_t model_no=0, const char *atom_name=0, long serial_no=IGNORE_SERIAL_NO)
CDPL_BIOMOL_API bool hasResidueCode(const Chem::Atom &atom)
CDPL_BIOMOL_API void extractResidueSubstructures(const Chem::MolecularGraph &molgraph, const Chem::MolecularGraph &parent_molgraph, Chem::Fragment &res_substructs, bool cnctd_only=false, unsigned int flags=AtomPropertyFlag::DEFAULT, bool append=false)
CDPL_BIOMOL_API void setResidueCode(Chem::Atom &atom, const std::string &code)
CDPL_BIOMOL_API void extractProximalAtoms(const Chem::MolecularGraph &core, const Chem::MolecularGraph &macromol, Chem::Fragment &env_atoms, double max_dist, bool inc_core_atoms=false, bool append=false)
CDPL_BIOMOL_API bool hasModelNumber(const Chem::Atom &atom)
CDPL_BIOMOL_API const std::string & getChainID(const Chem::Atom &atom)
CDPL_BIOMOL_API void clearResidueCode(Chem::Atom &atom)
CDPL_BIOMOL_API void setHydrogenResidueSequenceInfo(Chem::MolecularGraph &molgraph, bool overwrite, unsigned int flags=AtomPropertyFlag::DEFAULT)
CDPL_BIOMOL_API bool hasResidueInsertionCode(const Chem::Atom &atom)
CDPL_BIOMOL_API void setMMCIFData(Chem::MolecularGraph &molgraph, const MMCIFData::SharedPointer &data)
CDPL_BIOMOL_API void setResidueSequenceNumber(Chem::Atom &atom, long seq_no)
CDPL_BIOMOL_API void extractEnvironmentResidues(const Chem::MolecularGraph &core, const Chem::MolecularGraph &macromol, Chem::Fragment &env_residues, double max_dist, bool append=false)
CDPL_BIOMOL_API const MMCIFData::SharedPointer & getMMCIFData(const Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API bool hasResidueSequenceNumber(const Chem::Atom &atom)
CDPL_BIOMOL_API bool hasPDBData(const Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API void clearMMCIFData(Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API void setPDBData(Chem::MolecularGraph &molgraph, const PDBData::SharedPointer &data)
CDPL_BIOMOL_API const PDBData::SharedPointer & getPDBData(const Chem::MolecularGraph &molgraph)
CDPL_BIOMOL_API void setChainID(Chem::Atom &atom, const std::string &id)
CDPL_BIOMOL_API const std::string & getResidueCode(const Chem::Atom &atom)
std::function< const Math::Vector3D &(const Chem::Atom &)> Atom3DCoordinatesFunction
A generic wrapper class used to store a user-defined Chem::Atom 3D-coordinates function.
Definition: Atom3DCoordinatesFunction.hpp:43
The namespace of the Chemical Data Processing Library.