BALL
1.4.2
|
#include <BALL/FORMAT/genericMolFile.h>
Public Member Functions | |
Constructors and Destructors | |
GenericMolFile () | |
GenericMolFile (const String &filename, File::OpenMode open_mode=std::ios::in) | |
virtual | ~GenericMolFile () |
Assignment | |
const GenericMolFile & | operator= (const GenericMolFile &rhs) |
Reading and Writing of Kernel Datastructures | |
virtual bool | write (const System &system) |
virtual bool | write (const Molecule &molecule) |
virtual bool | read (System &system) |
virtual Molecule * | read () |
Operators | |
virtual GenericMolFile & | operator>> (System &system) |
virtual GenericMolFile & | operator<< (const System &system) |
virtual GenericMolFile & | operator>> (Molecule &molecule) |
virtual GenericMolFile & | operator<< (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 LineBasedFile & | operator= (const LineBasedFile &file) |
Position | getLineNumber () const |
Get the last line number in the file. More... | |
const String & | getLine () const |
Return the current line. More... | |
String & | getLine () |
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 "es="", 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 String & | getName () const |
void | setName (const String &name) |
const String & | getOriginalName () 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 () |
TransformationManager & | getTransformationManager () |
const TransformationManager & | getTransformationManager () 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 |
Protected Member Functions | |
virtual void | initRead_ () |
virtual void | initWrite_ () |
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) |
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 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 > | line_buffer_ |
buffer for the line More... | |
vector< char > | col_buffer_ |
buffer for column parsing More... | |
Static Protected Attributes inherited from BALL::File | |
static HashSet< String > | created_temp_filenames_ |
static TransformationManager | transformation_manager_ |
static Size | transformation_methods_ |
Base class for all molecule file format classes. This class provides an interface for all molecular structure formats (except for PDB files, due to their complex and capricious structure and contents).
Definition at line 56 of file genericMolFile.h.
BALL::GenericMolFile::GenericMolFile | ( | ) |
Default constructor
BALL::GenericMolFile::GenericMolFile | ( | const String & | filename, |
File::OpenMode | open_mode = std::ios::in |
||
) |
Detailed constructor
Exception::FileNotFound | if the file could not be opened |
|
virtual |
Destructor
|
protectedvirtual |
Initialize internals for read. This method is called by the default implementation of read(System& system) . Its purpose is the initialization of internal members holding, for example, header information from the file. The default implementation provided is empty.
Reimplemented in BALL::GAMESSLogFile, BALL::GAMESSDatFile, and BALL::HINFile.
|
protectedvirtual |
Initialize internals for write. Same functionality as initRead , but is called prior to writing a system.
|
virtual |
Stream operator for writing a system of molecules. Calls write(const System& system) const .
File::CannotWrite | if writing to the file failed |
Reimplemented in BALL::PDBFile.
|
virtual |
Stream operator for writing a system of molecules. Calls write()
File::CannotWrite | if writing to the file failed |
Reimplemented in BALL::PDBFile.
const GenericMolFile& BALL::GenericMolFile::operator= | ( | const GenericMolFile & | rhs | ) |
Assignment operator. Create a new object pointing to the same filename.
Exception::FileNotFound | if the file could not be opened |
|
virtual |
Stream operator for reading a system. Calls read(System&) .
Exception::ParseError | if a syntax error was encountered |
Reimplemented in BALL::PDBFile.
|
virtual |
Stream operator for reading a molecule. Calls read()
Exception::ParseError | if a syntax error was encountered |
Reimplemented in BALL::PDBFile.
Read a system. This method will read all molecules contained in the file and add them to the system.
Exception::ParseError | if the file could not be parsed while reading a molecule |
Reimplemented in BALL::PDBFile, BALL::MOLFile, BALL::GAMESSDatFile, BALL::GAMESSLogFile, BALL::MOL2File, BALL::HINFile, BALL::KCFFile, BALL::XYZFile, BALL::SDFile, and BALL::AntechamberFile.
|
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.
Exception::ParseError | if the contents of the file could not be parsed |
Reimplemented in BALL::PDBFile, BALL::MOLFile, BALL::GAMESSDatFile, BALL::GAMESSLogFile, BALL::MOL2File, BALL::KCFFile, BALL::XYZFile, BALL::HINFile, BALL::SDFile, and BALL::AntechamberFile.
Write the molecules of a system. If the file format does not support multiple molecules in a single file, a warning should be printed and only the first molecule should be stored.
File::CannotWrite | if writing to the file failed |
Reimplemented in BALL::PDBFile, BALL::MOLFile, BALL::GAMESSDatFile, BALL::GAMESSLogFile, BALL::MOL2File, BALL::KCFFile, BALL::HINFile, BALL::XYZFile, BALL::AntechamberFile, and BALL::SDFile.
Write a molecule. Repeated invocations of this method append molecules to the same file.
File::CannotWrite | if writing to the file failed |
Reimplemented in BALL::PDBFile, BALL::MOLFile, BALL::MOL2File, BALL::GAMESSDatFile, BALL::GAMESSLogFile, BALL::XYZFile, BALL::AntechamberFile, BALL::KCFFile, BALL::HINFile, and BALL::SDFile.