BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
BALL::MOL2File Class Reference

#include <BALL/FORMAT/MOL2File.h>

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

Classes

struct  AtomStruct
 
struct  BondStruct
 
struct  CommentStruct
 
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)
 
virtual ~MOL2File ()
 Destructor. More...
 
Reading and Writing of Kernel Datastructures
virtual bool write (const System &system)
 
virtual bool read (System &system)
 
virtual Moleculeread ()
 
virtual bool write (const Molecule &molecule)
 
const MOL2Fileoperator= (const MOL2File &file)
 
Size getNumberOfSets () const
 Return the number of TRIPOS-Sets defined in this instance. More...
 
SetStructgetSet (Position i)
 Return the i-th TRIPOS set. NOTE: no range checking is performed. More...
 
const SetStructgetSet (Position i) const
 Return the i-th TRIPOS set, const version. NOTE: no range checking is performed. More...
 
- Public Member Functions inherited from BALL::GenericMolFile
 GenericMolFile ()
 
 GenericMolFile (const String &filename, File::OpenMode open_mode=std::ios::in)
 
virtual ~GenericMolFile ()
 
virtual void close ()
 
const GenericMolFileoperator= (const GenericMolFile &rhs)
 
void defineInputAsTemporary (bool b=true)
 
void enableOutputCompression (String zipped_filename)
 
bool isCompressedFile ()
 
virtual GenericMolFileoperator>> (System &system)
 
virtual GenericMolFileoperator<< (const System &system)
 
virtual GenericMolFileoperator>> (Molecule &molecule)
 
virtual GenericMolFileoperator<< (const Molecule &molecule)
 
- Public Member Functions inherited from BALL::LineBasedFile
 LineBasedFile ()
 Default constructor. More...
 
 LineBasedFile (const String &filename, File::OpenMode open_mode=std::ios::in, bool trim_whitespaces=false)
 
void clear ()
 
bool operator== (const LineBasedFile &f)
 
bool operator!= (const LineBasedFile &f)
 
const LineBasedFileoperator= (const LineBasedFile &file)
 
Position getLineNumber () const
 Get the last line number in the file. More...
 
const StringgetLine () const
 Return the current line. More...
 
StringgetLine ()
 Return the current line. More...
 
bool readLine ()
 
bool skipLines (Size number=1)
 
bool search (const String &text, bool return_to_start=false)
 
bool search (const String &text, const String &stop, bool return_to_start=false)
 
bool gotoLine (Position line_number)
 
void rewind ()
 
void test (const char *file, int line, bool condition, const String &msg) const
 
String getField (Index pos=0, const String &quotes="", const String &delimiters=String::CHARACTER_CLASS__WHITESPACE) const
 
bool startsWith (const String &text) const
 Test if the current line starts with text. More...
 
bool has (const String &text) const
 Return true if the current line contains text. More...
 
Index switchString (const std::vector< String > &data) const
 
bool parseColumnFormat (const char *format, Position index, Size length, void *arg)
 
void enableTrimWhitespaces (bool state)
 Set wheter leading and trailing whitespaces in lines shall be removed. More...
 
bool trimWhiteSpacesEnabled () const
 
- Public Member Functions inherited from BALL::File
 File ()
 
 File (const String &name, OpenMode open_mode=std::ios::in)
 
virtual ~File ()
 
bool isValid () const
 
bool open (const String &name, File::OpenMode open_mode=std::ios::in)
 
bool reopen ()
 
bool reopen (File::OpenMode open_mode)
 
void close ()
 
const StringgetName () const
 
void setName (const String &name)
 
const StringgetOriginalName () const
 
Size getSize ()
 
File::OpenMode getOpenMode () const
 
Type getType (bool trace_link) const
 
bool copyTo (const String &destination_name, Size buffer_size=4096)
 
bool moveTo (const String &destination_name)
 
bool remove ()
 
bool renameTo (const String &new_path)
 
bool truncate (Size size=0)
 
std::fstream & getFileStream ()
 
TransformationManagergetTransformationManager ()
 
const TransformationManagergetTransformationManager () const
 
bool operator== (const File &file) const
 
bool operator!= (const File &file) const
 
bool isOpen () const
 
bool isClosed () const
 
bool isAccessible () const
 
bool isCanonized () const
 
bool isReadable () const
 
bool isWritable () const
 
bool isExecutable () const
 

Static Public Attributes

Constants
static const String TRIPOS
 
- Static Public Attributes inherited from BALL::File
static const OpenMode MODE_IN
 Open for input (default) More...
 
static const OpenMode MODE_OUT
 Open for output. More...
 
static const OpenMode MODE_APP
 Append. Seek to end before each write operation. More...
 
static const OpenMode MODE_BINARY
 Binary mode. More...
 
static const OpenMode MODE_ATE
 Seek to end directly after opening. More...
 
static const OpenMode MODE_TRUNC
 Truncate an existing file. More...
 
static const String TRANSFORMATION_EXEC_PREFIX
 Prefix for filenames that are created through the execution of commands "exec:". More...
 
static const String TRANSFORMATION_FILE_PREFIX
 Prefix for files (to mimick URL-like behavior) "file:". More...
 
static const String TRANSFORMATION_FTP_PREFIX
 Prefix for FTP-transfers "ftp://". More...
 
static const String TRANSFORMATION_HTTP_PREFIX
 Prefix for HTTP-transfer "http://". More...
 

Protected Member Functions

void readAtomSection_ ()
 
void readBondSection_ ()
 
void readMoleculeSection_ ()
 
void readSetSection_ ()
 
void readSubstructureSection_ ()
 
void readCommentSection_ ()
 
String getSybylType_ (const Atom &atom) const
 
bool nextLine_ ()
 
void clear_ ()
 
bool buildAll_ (Molecule &molecule)
 
bool containsAtomChilds_ (AtomContainerConstIterator &frag_it)
 
- Protected Member Functions inherited from BALL::GenericMolFile
virtual void initRead_ ()
 
virtual void initWrite_ ()
 

Protected Attributes

vector< AtomStructatoms_
 
vector< BondStructbonds_
 
vector< SetStructsets_
 
vector< SubstructureStructsubstructures_
 
vector< CommentStructcomments_
 
MoleculeStruct molecule_
 
Size number_of_lines_
 
char buffer_ [4096]
 
String line_
 
bool found_next_header_
 
- Protected Attributes inherited from BALL::GenericMolFile
bool input_is_temporary_
 
bool compress_output_
 
bool gmf_is_closed_
 
String zipped_filename_
 
- Protected Attributes inherited from BALL::LineBasedFile
String line_
 buffer for the line in use More...
 
Position line_number_
 line number in the file More...
 
bool trim_whitespaces_
 
vector< char > col_buffer_
 buffer for column parsing More...
 
- Protected Attributes inherited from BALL::File
String name_
 
String original_name_
 
OpenMode open_mode_
 
bool is_open_
 
bool is_temporary_
 

Static Protected Attributes

static const Size MAX_LENGTH_
 
- Static Protected Attributes inherited from BALL::File
static HashSet< Stringcreated_temp_filenames_
 
static TransformationManager transformation_manager_
 
static Size transformation_methods_
 

Additional Inherited Members

- Public Types inherited from BALL::File
typedef std::ios::openmode OpenMode
 
enum  Transformation { TRANSFORMATION__EXEC = 1, TRANSFORMATION__FILTER = 2, TRANSFORMATION__URL = 3 }
 
enum  Type {
  TYPE__UNKNOWN = 0, TYPE__DIRECTORY = 1, TYPE__CHAR_SPECIAL_FILE = 2, TYPE__BLOCK_SPECIAL_FILE = 3,
  TYPE__REGULAR_FILE = 4, TYPE__SYMBOLIC_LINK = 5, TYPE__SOCKET = 6, TYPE__FIFO_SPECIAL_FILE = 7
}
 
- Static Public Member Functions inherited from BALL::File
static Size getSize (String name)
 
static Type getType (String name, bool trace_link)
 
static bool copy (String source_name, String destination_name, Size buffer_size=4096)
 
static bool move (const String &source_name, const String &destination_name)
 
static bool remove (String name)
 
static bool rename (String old_path, String new_path)
 
static bool truncate (String path, Size size=0)
 
static bool createTemporaryFilename (String &temporary, const String &suffix=".TMP")
 
static void enableTransformation (Transformation transformation)
 
static void disableTransformation (Transformation transformation)
 
static bool isTransformationEnabled (Transformation transformation)
 
static void registerTransformation (const String &pattern, const String &exec)
 
static void unregisterTransformation (const String &pattern)
 
static bool isAccessible (String name)
 
static bool isReadable (String name)
 
static bool isWritable (String name)
 
static bool isExecutable (String name)
 

Detailed Description

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

Definition at line 30 of file MOL2File.h.

Constructor & Destructor Documentation

BALL::MOL2File::MOL2File ( )

Default constructor

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

Detailed constructor

Exceptions
Exception::FileNotFoundif the file could not be opened
virtual BALL::MOL2File::~MOL2File ( )
virtual

Destructor.

Member Function Documentation

bool BALL::MOL2File::buildAll_ ( Molecule molecule)
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.

Definition at line 105 of file MOL2File.h.

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

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

Definition at line 108 of file MOL2File.h.

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

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

Definition at line 111 of file MOL2File.h.

String BALL::MOL2File::getSybylType_ ( const Atom atom) const
protected
bool BALL::MOL2File::nextLine_ ( )
protected
const MOL2File& BALL::MOL2File::operator= ( const MOL2File file)
virtual bool BALL::MOL2File::read ( System system)
virtual

Read a system from the MOL2 file

Exceptions
Exception::ParseErrorif a syntax error was encountered

Reimplemented from BALL::GenericMolFile.

virtual Molecule* BALL::MOL2File::read ( )
virtual

Read a molecule from the MOL2 file

Exceptions
Exception::ParseErrorif a syntax error was encountered

Reimplemented from BALL::GenericMolFile.

void BALL::MOL2File::readAtomSection_ ( )
protected
void BALL::MOL2File::readBondSection_ ( )
protected
void BALL::MOL2File::readCommentSection_ ( )
protected
void BALL::MOL2File::readMoleculeSection_ ( )
protected
void BALL::MOL2File::readSetSection_ ( )
protected
void BALL::MOL2File::readSubstructureSection_ ( )
protected
virtual bool BALL::MOL2File::write ( const System system)
virtual

Write a system to the MOL2 file

Exceptions
File::CannotWriteif writing to the file failed

Reimplemented from BALL::GenericMolFile.

virtual bool BALL::MOL2File::write ( const Molecule molecule)
virtual

Write a molecule to a HIN file.

Exceptions
File::CannotWriteif writing to the file failed

Reimplemented from BALL::GenericMolFile.

Member Data Documentation

vector<AtomStruct> BALL::MOL2File::atoms_
protected

Definition at line 188 of file MOL2File.h.

vector<BondStruct> BALL::MOL2File::bonds_
protected

Definition at line 189 of file MOL2File.h.

char BALL::MOL2File::buffer_[4096]
protected

Definition at line 197 of file MOL2File.h.

vector<CommentStruct> BALL::MOL2File::comments_
protected

Definition at line 192 of file MOL2File.h.

bool BALL::MOL2File::found_next_header_
protected

Definition at line 199 of file MOL2File.h.

String BALL::MOL2File::line_
protected

Definition at line 198 of file MOL2File.h.

const Size BALL::MOL2File::MAX_LENGTH_
staticprotected

Definition at line 196 of file MOL2File.h.

MoleculeStruct BALL::MOL2File::molecule_
protected

Definition at line 193 of file MOL2File.h.

Size BALL::MOL2File::number_of_lines_
protected

Definition at line 195 of file MOL2File.h.

vector<SetStruct> BALL::MOL2File::sets_
protected

Definition at line 190 of file MOL2File.h.

vector<SubstructureStruct> BALL::MOL2File::substructures_
protected

Definition at line 191 of file MOL2File.h.

const String BALL::MOL2File::TRIPOS
static

Tripos Record Type Identifier (RTI)

Definition at line 56 of file MOL2File.h.