/usr/include/BALL/KERNEL/extractors.h is in libball1.4-dev 1.4.3~beta1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | // -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: extractors.h,v 1.2.8.3 2007/03/27 22:41:31 amoll Exp $
//
// Author:
// Oliver Kohlbacher
//
#ifndef BALL_KERNEL_EXTRACTORS_H
#define BALL_KERNEL_EXTRACTORS_H
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_DATATYPE_STRING_H
# include <BALL/DATATYPE/string.h>
#endif
namespace BALL
{
class Atom;
class PDBAtom;
class Bond;
class AtomContainer;
class Fragment;
class Molecule;
class Residue;
class SecondaryStructure;
class Chain;
class Protein;
class Nucleotide;
class NucleicAcid;
/** Kernel object list classes.
These classes can be used to hold pointers to
kernel objects. They are returned by kernel extractors.
These lists are a convenient way to execute operations
on subsets of kernel structures and an often convenient,
albeit slower, alternative to iterators.
\p
They are just convenient tyepdefs, so they will behave exactly
as any STL list. In order to create these lists from
kernel objects, use \link extractors extractors \endlink.
\ingroup KernelMiscellaneous
*/
//@{
///
typedef std::list<Atom*> AtomList;
///
typedef std::list<Bond*> BondList;
///
typedef std::list<AtomContainer*> AtomContainerList;
///
typedef std::list<PDBAtom*> PDBAtomList;
///
typedef std::list<Residue*> ResidueList;
///
typedef std::list<Fragment*> FragmentList;
///
typedef std::list<Molecule*> MoleculeList;
///
typedef std::list<Protein*> ProteinList;
///
typedef std::list<SecondaryStructure*> SecondaryStructureList;
///
typedef std::list<Chain*> ChainList;
///
typedef std::list<Nucleotide*> NucleotideList;
///
typedef std::list<NucleicAcid*> NucleicAcidList;
//@}
/** Extraction functions for external iteration.
The following set of functions can by used from python to
compile lists of objects from BALL kernel data structures.
\ingroup KernelMiscellaneous
*/
//@{
/** Extract atoms matching an expression.
This method extracts all atoms of a kernel data structure into
a list that match the \link Expression Expression \endlink <tt>expression</tt>.
If no expression is given, all atoms will be extracted.
@param fragment the AtomContainer containing the atoms.
@param expression the expression that selects the atoms (default: no expression)
*/
BALL_EXPORT AtomList atoms(const AtomContainer& fragment, const String& expression = String());
/** Extract atoms matching an expression.
This method extracts all atoms from an atom list
that match the \link Expression Expression \endlink <tt>expression</tt>.
@param atoms the AtomContainer containing the atoms
@param expression the expression that selects the atoms
*/
BALL_EXPORT AtomList atoms(const AtomList& atoms, const String& expression);
/** Extract PDB atoms matching an expression.
This method extracts all PDB atoms of a kernel data structure into
a list that match the \link Expression Expression \endlink <tt>expression</tt>.
If no expression is given, all PDB atoms will be returned.
@param fragment the AtomContainer containing the atoms
@param expression the expression that selects the atoms (default: no expression)
*/
BALL_EXPORT PDBAtomList PDBAtoms(const AtomContainer& fragment, const String& expression = String());
/** Extract all bonds from a kernel data structure.
This function extracts all bonds from the atoms contained in the base fragment.
If <tt>selected_only</tt> is set to <b>true</b>, only bonds are extracted where
both atoms are selected.
*/
BALL_EXPORT BondList bonds(const AtomContainer& fragment, bool selected_only = false);
/** Extract all bonds from an atom.
This function returns all bonds of an atom.
*/
BALL_EXPORT BondList bonds(const Atom& atom);
/** Extract all base fragments from a kernel data structure.
*/
BALL_EXPORT AtomContainerList atomContainers(const AtomContainer& fragment, bool selected_only = false);
/** Extract all residues from a kernel data structure.
*/
BALL_EXPORT ResidueList residues(const AtomContainer& fragment, bool selected_only = false);
/** Extract all fragments from a kernel data structure.
*/
BALL_EXPORT FragmentList fragments(const AtomContainer& fragment, bool selected_only = false);
/** Extract all molecules from a kernel data structure.
*/
BALL_EXPORT MoleculeList molecules(const AtomContainer& fragment, bool selected_only = false);
/** Extract all proteins from a kernel data structure.
*/
BALL_EXPORT ProteinList proteins(const AtomContainer& fragment, bool selected_only = false);
/** Extract all secondary structures from a kernel data structure.
*/
BALL_EXPORT SecondaryStructureList secondaryStructures(const AtomContainer& fragment, bool selected_only = false);
/** Extract all chains from a kernel data structure.
*/
BALL_EXPORT ChainList chains(const AtomContainer& fragment, bool selected_only = false);
/** Extract all nucleic acids from a kernel data structure.
*/
BALL_EXPORT NucleicAcidList nucleicAcids(const AtomContainer& fragment, bool selected_only = false);
/** Extract all nucleotides from a kernel data structure.
*/
BALL_EXPORT NucleotideList nucleotides(const AtomContainer& fragment, bool selected_only = false);
//@}
} // namespace BALL
#endif // BALL_KERNEL_EXTRACTORS_H
|