/usr/include/avogadro/residue.h is in libavogadro-dev 1.2.0-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 | /**********************************************************************
Residue - Residue class derived from the base Primitive class
Copyright (C) 2007 Donald Ephraim Curtis
Copyright (C) 2008 Marcus D. Hanwell
This file is part of the Avogadro molecular editor project.
For more information, see <http://avogadro.cc/>
Avogadro is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
Avogadro is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
**********************************************************************/
#ifndef RESIDUE_H
#define RESIDUE_H
#include <avogadro/fragment.h>
namespace Avogadro {
/**
* @class Residue residue.h <avogadro/residue.h>
* @brief A biological residue that contains atoms and bonds.
* @author Marcus D. Hanwell
*
* The Residue class is a Fragment subclass that provides the unique
* additional information required for residues.
*/
class A_EXPORT Residue : public Fragment
{
Q_OBJECT
public:
/**
* Constructor.
*/
Residue(QObject *parent=0);
/**
* Destructor.
*/
~Residue();
/**
* Add an Atom to the Fragment.
*/
void addAtom(unsigned long id);
/**
* Remove the Atom from the Fragment.
*/
void removeAtom(unsigned long id);
/**
* Set the number of the Residue, as in the file, e.g. 5A, 69, etc.
*/
void setNumber(const QString& number);
/**
* @return The "number" of the residue, e.g. 5A, 69, etc.
*/
QString number();
/**
* Set the chain number that this residue belongs to.
*/
void setChainNumber(unsigned int number);
/**
* @return The chain number that the residue belongs to.
*/
unsigned int chainNumber();
/**
* Set the chain ID (' ', 'A', 'B', ...) that this residue belongs to.
*/
void setChainID(char id);
/**
* @return The chain ID (' ', 'A', 'B', ...) that the residue belongs to.
*/
char chainID();
/**
* Set the text id of the Atom.
* @param id The unique id of the Atom.
* @param atomId The text id of the Atom in the Residue.
* @return False if the atom id could not be set, true otherwise.
*/
bool setAtomId(unsigned long id, QString atomId);
/**
* Set the text id of all the Atom objects.
* @param atomIds QList containing the text ids of all the atoms.
* @return False if the atom ids could not be set, true otherwise.
*/
bool setAtomIds(const QList<QString> &atomIds);
/**
* Returns the atom text id, as in the Residue.
* @param id The unique id of the Atom.
* @return The text id of the supplied atom in the Residue.
*/
QString atomId(unsigned long id);
/**
* @return QList of all atom text ids in the Residue.
*/
const QList<QString> & atomIds() const;
private Q_SLOTS:
/**
* Slot that handles when an atom has been updated (i.e., the atomID has changed)
*/
void updateAtom();
protected:
QString m_number; /** Residue number as in the file, e.g. 5A, 69, etc. **/
QList<QString> m_atomId; /** Atom text ids. **/
unsigned int m_chainNumber; /** The chain number that the residue belongs to. **/
char m_chainID;
};
} // End namespace Avoagdro
#endif
|