BALL  1.5.0
MOLFile.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_FORMAT_MOLFILE_H
6 #define BALL_FORMAT_MOLFILE_H
7 
8 #ifndef BALL_FORMAT_GENERICMOLFILE_H
10 #endif
11 
12 #ifndef BALL_MATHS_VECTOR3_H
13 # include <BALL/MATHS/vector3.h>
14 #endif
15 
16 namespace BALL
17 {
18  class System;
19  class Atom;
20  class Molecule;
21 
28  : public GenericMolFile
29  {
30  public:
31 
35 
45  {
53  static const String ATOM_VALENCE;
55  static const String ATOM_H0_DESIGNATOR;
63  static const String ATOM_EXACT_CHANGE;
64 
66  static const String BOND_STEREO;
68  static const String BOND_TOPOLOGY;
71  };
72 
75  {
76  public:
80  bool chiral;
87  };
88 
91  {
92  public:
107  };
108 
111  {
112  public:
119  };
121 
125 
129 
133  MOLFile(const String& filename, File::OpenMode open_mode = std::ios::in);
134 
136  virtual ~MOLFile();
137 
139 
143 
147  virtual bool write(const Molecule& molecule);
148 
152  virtual bool write(const System& system);
153 
157  virtual bool read(System& system);
158 
162  virtual Molecule* read();
163 
165  const MOLFile& operator = (const MOLFile& file);
166 
168 
169  protected:
173  static const String counts_format_;
175 
177  static const String atom_format_;
178 
180  static const String bond_format_;
182 
186  Molecule* readCTAB_(std::vector<Atom*>& atom_map);
187 
190 
193 
196 
198  void writeCountsLine_(const CountsStruct& counts);
199 
201  void writeAtomLine_(const AtomStruct& atom);
202 
204  void writeBondLine_(const BondStruct& bond);
205  };
206 } // namespace BALL
207 
208 #endif // BALL_FORMAT_MOLFILE_H
BALL::MOLFile::BondStruct::second_atom
Position second_atom
Definition: MOLFile.h:114
BALL::MOLFile::CountsStruct::number_of_intermediates
Size number_of_intermediates
Definition: MOLFile.h:85
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::MOLFile::AtomStruct::charge
Index charge
Definition: MOLFile.h:96
BALL::MOLFile::CountsStruct::number_of_atoms
Size number_of_atoms
Definition: MOLFile.h:77
BALL::MOLFile::AtomStruct
Definition: MOLFile.h:91
BALL::MOLFile::Property::ATOM_HYDROGEN_COUNT
static const String ATOM_HYDROGEN_COUNT
Definition: MOLFile.h:49
BALL::MOLFile::CountsStruct::version
String version
Definition: MOLFile.h:86
BALL::MOLFile::CountsStruct::number_of_reaction_components
Size number_of_reaction_components
Definition: MOLFile.h:82
BALL::MOLFile::readCTAB_
Molecule * readCTAB_(std::vector< Atom * > &atom_map)
BALL::MOLFile::AtomStruct::reaction_component_type
Position reaction_component_type
Definition: MOLFile.h:102
BALL::MOLFile::Property
Definition: MOLFile.h:45
BALL::MOLFile::Property::BOND_REACTING_CENTER_STATUS
static const String BOND_REACTING_CENTER_STATUS
Definition: MOLFile.h:70
BALL::MOLFile::Property::ATOM_REACTION_COMPONENT_NUMBER
static const String ATOM_REACTION_COMPONENT_NUMBER
Definition: MOLFile.h:59
BALL::Molecule
Definition: molecule.h:31
BALL::System
Definition: KERNEL/system.h:40
vector3.h
BALL::MOLFile::writeBondLine_
void writeBondLine_(const BondStruct &bond)
Write a line of the bond block.
BALL::MOLFile::BondStruct::type
Position type
Definition: MOLFile.h:115
BALL::GenericMolFile
Definition: genericMolFile.h:58
BALL::MOLFile::Property::ATOM_EXACT_CHANGE
static const String ATOM_EXACT_CHANGE
Definition: MOLFile.h:63
BALL::MOLFile::Property::ATOM_REACTION_COMPONENT_TYPE
static const String ATOM_REACTION_COMPONENT_TYPE
Definition: MOLFile.h:57
BALL::String
Definition: string.h:57
BALL::MOLFile::BondStruct::topology
Position topology
Definition: MOLFile.h:117
BALL
Definition: constants.h:13
BALL::MOLFile::~MOLFile
virtual ~MOLFile()
Destructor.
BALL::MOLFile::AtomStruct::position
Vector3 position
Definition: MOLFile.h:93
BALL::MOLFile::Property::ATOM_VALENCE
static const String ATOM_VALENCE
Definition: MOLFile.h:53
BALL::MOLFile::write
virtual bool write(const System &system)
BALL::MOLFile::MOLFile
MOLFile()
BALL::MOLFile::BondStruct::reacting_center_status
Position reacting_center_status
Definition: MOLFile.h:118
BALL::PDB::Atom
char Atom[5]
Definition: PDBdefs.h:257
BALL::MOLFile::AtomStruct::valence
Size valence
Definition: MOLFile.h:100
BALL::MOLFile::AtomStruct::mass_difference
Index mass_difference
Definition: MOLFile.h:95
BALL::MOLFile::Property::BOND_STEREO
static const String BOND_STEREO
Definition: MOLFile.h:66
BALL::File::OpenMode
std::ios::openmode OpenMode
Definition: file.h:165
BALL::MOLFile::AtomStruct::hydrogen_count
Size hydrogen_count
Definition: MOLFile.h:98
BALL_INDEX_TYPE
BALL_SIZE_TYPE
BALL::TVector3< float >
BALL::MOLFile::CountsStruct::chiral
bool chiral
Definition: MOLFile.h:80
BALL::MOLFile::Property::ATOM_INVERSION_RETENTION
static const String ATOM_INVERSION_RETENTION
Definition: MOLFile.h:61
BALL::MOLFile::CountsStruct::number_of_stext_entries
Size number_of_stext_entries
Definition: MOLFile.h:81
BALL::MOLFile::AtomStruct::inversion_retention
Position inversion_retention
Definition: MOLFile.h:105
BALL::MOLFile::BondStruct::stereo
Position stereo
Definition: MOLFile.h:116
BALL::MOLFile::AtomStruct::H0_designator
bool H0_designator
Definition: MOLFile.h:101
BALL::MOLFile::CountsStruct::number_of_bonds
Size number_of_bonds
Definition: MOLFile.h:78
BALL::MOLFile::writeCountsLine_
void writeCountsLine_(const CountsStruct &counts)
Write the Counts line.
BALL::MOLFile::read
virtual Molecule * read()
BALL::MOLFile::CountsStruct
Definition: MOLFile.h:75
BALL::MOLFile::CountsStruct::number_of_products
Size number_of_products
Definition: MOLFile.h:84
BALL::MOLFile::Property::BOND_TOPOLOGY
static const String BOND_TOPOLOGY
Definition: MOLFile.h:68
BALL::MOLFile::AtomStruct::exact_change
bool exact_change
Definition: MOLFile.h:106
BALL::MOLFile::read
virtual bool read(System &system)
BALL::MOLFile
Definition: MOLFile.h:29
BALL::MOLFile::Property::ATOM_MASS_DIFFERENCE
static const String ATOM_MASS_DIFFERENCE
Definition: MOLFile.h:47
BALL::MOLFile::bond_format_
static const String bond_format_
The format of an entry of the bond block.
Definition: MOLFile.h:180
BALL::MOLFile::write
virtual bool write(const Molecule &molecule)
BALL::MOLFile::AtomStruct::symbol
String symbol
Definition: MOLFile.h:94
BALL::MOLFile::Property::ATOM_STEREO_CARE_BOX
static const String ATOM_STEREO_CARE_BOX
Definition: MOLFile.h:51
BALL::MOLFile::atom_format_
static const String atom_format_
The format of an entry of the atom block.
Definition: MOLFile.h:177
BALL::MOLFile::MOLFile
MOLFile(const String &filename, File::OpenMode open_mode=std::ios::in)
BALL::MOLFile::AtomStruct::stereo_care_box
bool stereo_care_box
Definition: MOLFile.h:99
BALL::MOLFile::AtomStruct::number
Position number
Definition: MOLFile.h:104
BALL::MOLFile::readBondLine_
bool readBondLine_(BondStruct &bond)
Read a line from the bond block.
BALL::MOLFile::BondStruct::first_atom
Position first_atom
Definition: MOLFile.h:113
BALL::MOLFile::writeAtomLine_
void writeAtomLine_(const AtomStruct &atom)
Write a line of the atom block.
BALL::MOLFile::CountsStruct::number_of_atom_lists
Size number_of_atom_lists
Definition: MOLFile.h:79
BALL::MOLFile::Property::ATOM_H0_DESIGNATOR
static const String ATOM_H0_DESIGNATOR
Definition: MOLFile.h:55
BALL::MOLFile::readCountsLine_
bool readCountsLine_(CountsStruct &counts)
Read the Counts line of a MOL file.
BALL::MOLFile::BondStruct
Definition: MOLFile.h:111
BALL::MOLFile::AtomStruct::parity
Index parity
Definition: MOLFile.h:97
genericMolFile.h
BALL::MOLFile::AtomStruct::reaction_component_number
Position reaction_component_number
Definition: MOLFile.h:103
BALL::MOLFile::CountsStruct::number_of_reactants
Size number_of_reactants
Definition: MOLFile.h:83
BALL::MOLFile::readAtomLine_
bool readAtomLine_(AtomStruct &atom)
Read a line from the atom block.