BALL::MOL2File Class Reference
[Molecular structure file formats]

#include <BALL/FORMAT/MOL2File.h>

Inheritance diagram for BALL::MOL2File:
BALL::GenericMolFile BALL::LineBasedFile BALL::File

List of all members.


Classes

struct  AtomStruct
struct  BondStruct
struct  MoleculeStruct
struct  SetStruct
 

A class used for storing TRIPOS sets.

More...
struct  SubstructureStruct

Public Member Functions

Constructors and Destructors
 MOL2File ()
 MOL2File (const String &filename, File::OpenMode open_mode=std::ios::in) throw (Exception::FileNotFound)
 MOL2File (const MOL2File &file) throw (Exception::FileNotFound)
virtual ~MOL2File ()
 

Destructor.


Reading and Writing of Kernel Datastructures
virtual bool write (const System &system) throw (File::CannotWrite)
virtual bool read (System &system) throw (Exception::ParseError)
virtual Moleculeread () throw (Exception::ParseError)
virtual bool write (const Molecule &molecule) throw (File::CannotWrite)
const MOL2Fileoperator= (const MOL2File &file)
Size getNumberOfSets () const
 

Return the number of TRIPOS-Sets defined in this instance.


SetStructgetSet (Position i)
 

Return the i-th TRIPOS set. NOTE: no range checking is performed.


const SetStructgetSet (Position i) const
 

Return the i-th TRIPOS set, const version. NOTE: no range checking is performed.



Static Public Attributes

Constants
static const String TRIPOS

Protected Member Functions

void readAtomSection_ ()
void readBondSection_ ()
void readMoleculeSection_ ()
void readSetSection_ ()
void readSubstructureSection_ ()
String getSybylType_ (const Atom &atom) const
bool nextLine_ ()
void clear_ ()
bool buildAll_ (System &system)
bool containsAtomChilds_ (AtomContainerConstIterator &frag_it)

Protected Attributes

vector< AtomStructatoms_
vector< BondStructbonds_
vector< SetStructsets_
vector< SubstructureStructsubstructures_
MoleculeStruct molecule_
Size number_of_lines_
char buffer_ [4096]
String line_
 

buffer for the line in use



Static Protected Attributes

static const Size MAX_LENGTH_

Detailed Description

SYBYL MOL2 file class. This class is used to read and write SYBYL MOL2 files (Tripos).


Constructor & Destructor Documentation

BALL::MOL2File::MOL2File (  ) 

Default constructor

BALL::MOL2File::MOL2File ( const String filename,
File::OpenMode  open_mode = std::ios::in 
) throw (Exception::FileNotFound)

Detailed constructor

BALL::MOL2File::MOL2File ( const MOL2File file  )  throw (Exception::FileNotFound)

Copy constructor

virtual BALL::MOL2File::~MOL2File (  )  [virtual]

Destructor.


Member Function Documentation

bool BALL::MOL2File::buildAll_ ( System system  )  [protected]
void BALL::MOL2File::clear_ (  )  [protected]
bool BALL::MOL2File::containsAtomChilds_ ( AtomContainerConstIterator frag_it  )  [protected]
Size BALL::MOL2File::getNumberOfSets (  )  const [inline]

Return the number of TRIPOS-Sets defined in this instance.

const SetStruct& BALL::MOL2File::getSet ( Position  i  )  const [inline]

Return the i-th TRIPOS set, const version. NOTE: no range checking is performed.

SetStruct& BALL::MOL2File::getSet ( Position  i  )  [inline]

Return the i-th TRIPOS set. NOTE: no range checking is performed.

String BALL::MOL2File::getSybylType_ ( const Atom atom  )  const [protected]
bool BALL::MOL2File::nextLine_ (  )  [protected]
const MOL2File& BALL::MOL2File::operator= ( const MOL2File file  ) 
virtual Molecule* BALL::MOL2File::read (  )  throw (Exception::ParseError) [virtual]

Read a molecule. This method will load the first (or the next, on subsequent invocation) molecule from the file. If the file format does not support multiple molecules, only the first call to read will be successful. This method will create an instance of molecule and its the user's responsibility to destroy that molecule.

Returns:
a pointer to a molecule, 0 if the file was not open, empty, or at its end
Exceptions:
Exception::ParseError if the contents of the file could not be parsed

Reimplemented from BALL::GenericMolFile.

virtual bool BALL::MOL2File::read ( System system  )  throw (Exception::ParseError) [virtual]

Read a system from the MOL2 file

Reimplemented from BALL::GenericMolFile.

void BALL::MOL2File::readAtomSection_ (  )  [protected]
void BALL::MOL2File::readBondSection_ (  )  [protected]
void BALL::MOL2File::readMoleculeSection_ (  )  [protected]
void BALL::MOL2File::readSetSection_ (  )  [protected]
void BALL::MOL2File::readSubstructureSection_ (  )  [protected]
virtual bool BALL::MOL2File::write ( const Molecule molecule  )  throw (File::CannotWrite) [virtual]

Write a molecule. Repeated invocations of this method append molecules to the same file.

The default implementation does nothing.

Reimplemented from BALL::GenericMolFile.

virtual bool BALL::MOL2File::write ( const System system  )  throw (File::CannotWrite) [virtual]

Write a system to the MOL2 file

Reimplemented from BALL::GenericMolFile.


Member Data Documentation

vector<AtomStruct> BALL::MOL2File::atoms_ [protected]
vector<BondStruct> BALL::MOL2File::bonds_ [protected]
char BALL::MOL2File::buffer_[4096] [protected]

buffer for the line in use

Reimplemented from BALL::LineBasedFile.

const Size BALL::MOL2File::MAX_LENGTH_ [static, protected]
vector<SetStruct> BALL::MOL2File::sets_ [protected]

Tripos Record Type Identifier (RTI)