mirror of https://github.com/CGAL/cgal
318 lines
11 KiB
TeX
318 lines
11 KiB
TeX
% +------------------------------------------------------------------------+
|
|
% | Reference manual page: Monomer.tex
|
|
% +------------------------------------------------------------------------+
|
|
% | 10.04.2009 Author
|
|
% | Package: PDB
|
|
% |
|
|
\RCSdef{\RCSMonomerRev}{$Id: header.tex 40270 2007-09-07 15:29:10Z lsaboret $}
|
|
\RCSdefDate{\RCSMonomerDate}{$Date: 2007-09-07 08:29:10 -0700 (Fri, 07 Sep 2007) $}
|
|
% |
|
|
\ccRefPageBegin
|
|
%%RefPage: end of header, begin of main body
|
|
% +------------------------------------------------------------------------+
|
|
|
|
|
|
\begin{ccRefClass}[PDB::]{Monomer} %% add template arg's if necessary
|
|
|
|
%% \ccHtmlCrossLink{} %% add further rules for cross referencing links
|
|
%% \ccHtmlIndexC[class]{} %% add further index entries
|
|
|
|
\ccDefinition
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccDefinition)
|
|
|
|
The class representing a residue or nucleotide.
|
|
|
|
All the information concerning atoms and bonds for each monomer is stored here. To add atoms to monomers, new monomers, or bonds to monomers, look in \ccc{Monomer_data}.cpp. There is documentation there of what you need to do.
|
|
|
|
%END-AUTO(\ccDefinition)
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccInclude)
|
|
|
|
\ccInclude{CGAL/PDB/Monomer.h}
|
|
|
|
%END-AUTO(\ccInclude)
|
|
|
|
\ccIsModel
|
|
|
|
\ccTypes
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccTypes)
|
|
|
|
\ccNestedType{AtomsMap}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccNestedType{Atoms}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccNestedType{Atom_consts}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccNestedType{Bond}
|
|
{
|
|
A bond between two atoms in a monomer.
|
|
The ints refer the the atom index.
|
|
}
|
|
\ccGlue
|
|
\ccNestedType{Bonds}
|
|
{
|
|
Return a list of all the bonds in the monomer.
|
|
}
|
|
\ccGlue
|
|
|
|
%END-AUTO(\ccTypes)
|
|
|
|
\ccConstants
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccConstants)
|
|
|
|
\ccEnum{enum Type { GLY = 0, ALA, VAL, LEU, ILE, SER, THR, CYS, MET, PRO, ASP, ASN, GLU, GLN, LYS, ARG, HIS, PHE, TYR, TRP, ACE, NH2, ADE, URA, CYT, GUA, THY, INV };}
|
|
{
|
|
The labels for the types of residues.
|
|
}
|
|
\ccGlue
|
|
Note: These values must be packed, start from 0 and end with INV.
|
|
\ccCommentHeading{Values}
|
|
\begin{description}
|
|
\item \ccc{GLY}: \item \ccc{ALA}: \item \ccc{VAL}: \item \ccc{LEU}: \item \ccc{ILE}: \item \ccc{SER}: \item \ccc{THR}: \item \ccc{CYS}: \item \ccc{MET}: \item \ccc{PRO}: \item \ccc{ASP}: \item \ccc{ASN}: \item \ccc{GLU}: \item \ccc{GLN}: \item \ccc{LYS}: \item \ccc{ARG}: \item \ccc{HIS}: \item \ccc{PHE}: \item \ccc{TYR}: \item \ccc{TRP}: \item \ccc{ACE}: \item \ccc{NH2}: \item \ccc{ADE}: \item \ccc{URA}: \item \ccc{CYT}: \item \ccc{GUA}: \item \ccc{THY}: \item \ccc{INV}: \end{description}
|
|
\ccGlue
|
|
\ccEnum{enum Atom_key { AL_OTHER, AL_INVALID, AL_N, AL_CA, AL_C, AL_O, AL_H, AL_1H, AL_2H, AL_3H, AL_HA, AL_1HA, AL_2HA, AL_CB, AL_HB, AL_1HB, AL_2HB, AL_3HB, AL_OXT, AL_CH3, AL_CG, AL_CG1, AL_CG2, AL_HG, AL_1HG, AL_2HG, AL_1HG1, AL_2HG1, AL_3HG1, AL_1HG2, AL_2HG2, AL_3HG2, AL_OG, AL_OG1, AL_SG, AL_CD, AL_CD1, AL_CD2, AL_HD, AL_1HD, AL_2HD, AL_3HD, AL_1HD1, AL_2HD1, AL_3HD1, AL_1HD2, AL_2HD2, AL_3HD2, AL_SD, AL_OD1, AL_OD2, AL_ND1, AL_ND2, AL_CE, AL_CE1, AL_CE2, AL_CE3, AL_HE, AL_1HE, AL_2HE, AL_3HE, AL_1HE2, AL_2HE2, AL_OE1, AL_OE2, AL_NE, AL_NE1, AL_NE2, AL_CZ, AL_CZ2, AL_CZ3, AL_NZ, AL_HZ, AL_1HZ, AL_2HZ, AL_3HZ, AL_CH2, AL_NH1, AL_NH2, AL_OH, AL_HH, AL_1HH1, AL_2HH1, AL_HH2, AL_1HH2, AL_2HH2, AL_1HH3, AL_2HH3, AL_3HH3, AL_P, AL_OP1, AL_OP2, AL_O5p, AL_C5p, AL_H5p, AL_H5pp, AL_C4p, AL_H4p, AL_O4p, AL_C1p, AL_H1p, AL_C3p, AL_H3p, AL_O3p, AL_C2p, AL_H2p, AL_H2pp, AL_O2p, AL_HO2p, AL_N9, AL_C8, AL_H8, AL_N7, AL_C5, AL_C4, AL_N3, AL_C2, AL_H2, AL_N1, AL_C6, AL_N6, AL_H61, AL_H62, AL_O6, AL_H1, AL_N2, AL_H21, AL_H22, AL_H6, AL_H5, AL_O2, AL_N4, AL_H41, AL_H42, AL_H3, AL_O4, AL_C7, AL_H71, AL_H72, AL_H73, AL_LAST_LABEL };}
|
|
{
|
|
The labels of atoms within residues.
|
|
These are the labels for each atom in each residue. The identifiers are attempting to following the PDB specs. Feel free to add more if needed.
|
|
\ccc{AL_N} must be before \ccc{AL_CA} which must be before \ccc{AL_C} to get the backbone order correct.
|
|
\ccCommentHeading{Values}
|
|
\begin{description}
|
|
\item \ccc{AL_OTHER}: \item \ccc{AL_INVALID}: \item \ccc{AL_N}: \item \ccc{AL_CA}: \item \ccc{AL_C}: \item \ccc{AL_O}: \item \ccc{AL_H}: \item \ccc{AL_1H}: \item \ccc{AL_2H}: \item \ccc{AL_3H}: \item \ccc{AL_HA}: \item \ccc{AL_1HA}: \item \ccc{AL_2HA}: \item \ccc{AL_CB}: \item \ccc{AL_HB}: \item \ccc{AL_1HB}: \item \ccc{AL_2HB}: \item \ccc{AL_3HB}: \item \ccc{AL_OXT}: \item \ccc{AL_CH3}: \item \ccc{AL_CG}: \item \ccc{AL_CG1}: \item \ccc{AL_CG2}: \item \ccc{AL_HG}: \item \ccc{AL_1HG}: \item \ccc{AL_2HG}: \item \ccc{AL_1HG1}: \item \ccc{AL_2HG1}: \item \ccc{AL_3HG1}: \item \ccc{AL_1HG2}: \item \ccc{AL_2HG2}: \item \ccc{AL_3HG2}: \item \ccc{AL_OG}: \item \ccc{AL_OG1}: \item \ccc{AL_SG}: \item \ccc{AL_CD}: \item \ccc{AL_CD1}: \item \ccc{AL_CD2}: \item \ccc{AL_HD}: \item \ccc{AL_1HD}: \item \ccc{AL_2HD}: \item \ccc{AL_3HD}: \item \ccc{AL_1HD1}: \item \ccc{AL_2HD1}: \item \ccc{AL_3HD1}: \item \ccc{AL_1HD2}: \item \ccc{AL_2HD2}: \item \ccc{AL_3HD2}: \item \ccc{AL_SD}: \item \ccc{AL_OD1}: \item \ccc{AL_OD2}: \item \ccc{AL_ND1}: \item \ccc{AL_ND2}: \item \ccc{AL_CE}: \item \ccc{AL_CE1}: \item \ccc{AL_CE2}: \item \ccc{AL_CE3}: \item \ccc{AL_HE}: \item \ccc{AL_1HE}: \item \ccc{AL_2HE}: \item \ccc{AL_3HE}: \item \ccc{AL_1HE2}: \item \ccc{AL_2HE2}: \item \ccc{AL_OE1}: \item \ccc{AL_OE2}: \item \ccc{AL_NE}: \item \ccc{AL_NE1}: \item \ccc{AL_NE2}: \item \ccc{AL_CZ}: \item \ccc{AL_CZ2}: \item \ccc{AL_CZ3}: \item \ccc{AL_NZ}: \item \ccc{AL_HZ}: \item \ccc{AL_1HZ}: \item \ccc{AL_2HZ}: \item \ccc{AL_3HZ}: \item \ccc{AL_CH2}: \item \ccc{AL_NH1}: \item \ccc{AL_NH2}: \item \ccc{AL_OH}: \item \ccc{AL_HH}: \item \ccc{AL_1HH1}: \item \ccc{AL_2HH1}: \item \ccc{AL_HH2}: \item \ccc{AL_1HH2}: \item \ccc{AL_2HH2}: \item \ccc{AL_1HH3}: \item \ccc{AL_2HH3}: \item \ccc{AL_3HH3}: \item \ccc{AL_P}: \item \ccc{AL_OP1}: \item \ccc{AL_OP2}: \item \ccc{AL_O5p}: \item \ccc{AL_C5p}: \item \ccc{AL_H5p}: \item \ccc{AL_H5pp}: \item \ccc{AL_C4p}: \item \ccc{AL_H4p}: \item \ccc{AL_O4p}: \item \ccc{AL_C1p}: \item \ccc{AL_H1p}: \item \ccc{AL_C3p}: \item \ccc{AL_H3p}: \item \ccc{AL_O3p}: \item \ccc{AL_C2p}: \item \ccc{AL_H2p}: \item \ccc{AL_H2pp}: \item \ccc{AL_O2p}: \item \ccc{AL_HO2p}: \item \ccc{AL_N9}: \item \ccc{AL_C8}: \item \ccc{AL_H8}: \item \ccc{AL_N7}: \item \ccc{AL_C5}: \item \ccc{AL_C4}: \item \ccc{AL_N3}: \item \ccc{AL_C2}: \item \ccc{AL_H2}: \item \ccc{AL_N1}: \item \ccc{AL_C6}: \item \ccc{AL_N6}: \item \ccc{AL_H61}: \item \ccc{AL_H62}: \item \ccc{AL_O6}: \item \ccc{AL_H1}: \item \ccc{AL_N2}: \item \ccc{AL_H21}: \item \ccc{AL_H22}: \item \ccc{AL_H6}: \item \ccc{AL_H5}: \item \ccc{AL_O2}: \item \ccc{AL_N4}: \item \ccc{AL_H41}: \item \ccc{AL_H42}: \item \ccc{AL_H3}: \item \ccc{AL_O4}: \item \ccc{AL_C7}: \item \ccc{AL_H71}: \item \ccc{AL_H72}: \item \ccc{AL_H73}: \item \ccc{AL_LAST_LABEL}: \end{description}
|
|
}
|
|
\ccGlue
|
|
|
|
%END-AUTO(\ccConstants)
|
|
|
|
\ccCreation
|
|
\ccCreationVariable{a} %% choose variable name
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccCreation)
|
|
|
|
\ccConstructor{Monomer();}
|
|
{
|
|
Default constructor. Makes and invalid monomer.
|
|
}
|
|
\ccGlue
|
|
\ccConstructor{Monomer(Type al);}
|
|
{
|
|
Make a monomer of a given type.
|
|
}
|
|
\ccGlue
|
|
\ccConstructor{Monomer(const Monomer& o);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
|
|
%END-AUTO(\ccCreation)
|
|
|
|
\ccOperations
|
|
|
|
% The section below is automatically generated. Do not edit!
|
|
%START-AUTO(\ccOperations)
|
|
|
|
\ccTagFullDeclarations
|
|
|
|
\ccMethod{Monomer& operator =(const Monomer& o);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void copy_from(const Monomer& o);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void swap_with(Monomer& o);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Type type() const;}
|
|
{
|
|
The label for the monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms atoms();}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atom_consts atoms() const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{bool contains(Atom_key k) const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms::iterator::reference get(Atom_key k);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms::iterator find(Atom_key k);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atom_consts::const_iterator::value_type get(Atom_key k) const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atom_consts::const_iterator find(Atom_key k) const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void insert(Atom_key k, const Atom& m);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms::iterator insert_internal(Atom_key k, const Atom& a);}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{bool can_have_atom(Atom_key al) const;}
|
|
{
|
|
Return true if monomer of this type can have atoms of that type.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void set_atom_from_string(const char * str, const Atom& a);}
|
|
{
|
|
Set an atom using a string as a key.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void erase_atom(Atom_key al);}
|
|
{
|
|
Remove an atom from the monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void dump(std::ostream& out) const;}
|
|
{
|
|
Write it for debugging.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{std::ostream& write(std::ostream& out) const;}
|
|
{
|
|
Write it for debugging.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{int write(char chain, int monomer_index, char insert_code, int start_index, std::ostream& out) const;}
|
|
{
|
|
Write the lines for a pdb file.
|
|
Indices start at the \ccc{start_index} and the new \ccc{start_index} is returned.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Bonds bonds() const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Point sidechain_point() const;}
|
|
{
|
|
Return a point representing the sidechain.
|
|
If the sidechain is empty this returns the CA location. Otherwise it returns the location of some atom or the average of some atom locations.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{void set_has_bonds(bool tf);}
|
|
{
|
|
Set whether all the inter-atom bonds are present or not.
|
|
This must be true before \ccc{bonds_begin}() is called.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{bool has_bonds() const;}
|
|
{
|
|
Return whether this monomer has the inter-atom bonds computed.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atom_consts::const_iterator front_atom() const;}
|
|
{
|
|
Return the label of the first atom along the backbone in this monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atom_consts::const_iterator back_atom() const;}
|
|
{
|
|
Return the label of the last atom along the backbone in this monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms::iterator front_atom();}
|
|
{
|
|
Return the label of the first atom along the backbone in this monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{Atoms::iterator back_atom();}
|
|
{
|
|
Return the label of the last atom along the backbone in this monomer.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{static Type type(const std::string& st);}
|
|
{
|
|
[static] \\
|
|
Convert a string for an amino acid type into a tag.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{static std::string type_string(Type rl);}
|
|
{
|
|
[static] \\
|
|
A string so you can write an amino acid type.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{static Atom::Type element(Atom_key al);}
|
|
{
|
|
[static] \\
|
|
Return the element corresponding to an atom label.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{static std::string atom_key_string(Atom_key al);}
|
|
{
|
|
[static] \\
|
|
return the string corresponding to an atom key
|
|
}
|
|
\ccGlue
|
|
\ccMethod{static Atom_key atom_key(const char * c);}
|
|
{
|
|
[static] \\
|
|
Return an atom type from a string.
|
|
Note, this type may be adjusted when the atoms is added to a monomer to address naming inconsistencies.
|
|
}
|
|
\ccGlue
|
|
\ccMethod{bool is_amino_acid() const;}
|
|
{
|
|
}
|
|
\ccGlue
|
|
|
|
%END-AUTO(\ccOperations)
|
|
|
|
\ccSeeAlso
|
|
|
|
\ccExample
|
|
|
|
A short example program.
|
|
Instead of a short program fragment, a full running program can be
|
|
included using the
|
|
\verb|\ccIncludeExampleCode{PDB/Monomer.C}|
|
|
macro. The program example would be part of the source code distribution and
|
|
also part of the automatic test suite.
|
|
|
|
\begin{ccExampleCode}
|
|
void your_example_code() {
|
|
}
|
|
\end{ccExampleCode}
|
|
|
|
%% \ccIncludeExampleCode{PDB/Monomer.C}
|
|
|
|
\end{ccRefClass}
|
|
|
|
% +------------------------------------------------------------------------+
|
|
%%RefPage: end of main body, begin of footer
|
|
\ccRefPageEnd
|
|
% EOF
|
|
% +------------------------------------------------------------------------+
|
|
|