|
|
| GenericMolFile () |
|
| GenericMolFile (const String &filename, File::OpenMode open_mode=std::ios::in) |
|
virtual | ~GenericMolFile () |
|
virtual void | close () |
|
|
const GenericMolFile & | operator= (const GenericMolFile &rhs) |
|
void | defineInputAsTemporary (bool b=true) |
|
void | enableOutputCompression (String zipped_filename) |
|
bool | isCompressedFile () |
|
|
virtual bool | write (const System &system) |
|
virtual bool | write (const Molecule &molecule) |
|
virtual bool | read (System &system) |
|
virtual Molecule * | read () |
|
|
virtual GenericMolFile & | operator>> (System &system) |
|
virtual GenericMolFile & | operator<< (const System &system) |
|
virtual GenericMolFile & | operator>> (Molecule &molecule) |
|
virtual GenericMolFile & | operator<< (const Molecule &molecule) |
|
| 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 |
|
| 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 |
|
|
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 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 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...
|
|
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).
- GenericMolFile supports two type of operations: reading/writing single molecules and reading/writing systems (i.e. collections of molecules).
- When reading molecules, the structures are read one at a time from the file in the order they are stored. In contrast, reading systems retrieves all structures contained in the file. For file formats that do not support multiple structure in a file (e.g. the MDL MOLFile ), those two operations are basically equivalent. A fundamental difference however is the fact that reading a molecule create a new molecule, whereas reading a system adds the molecules read to an existing instance of System . This implies that the system has to be cleared prior to reading a system if that incremental behaviour is not desired.
- The user interface of the class is mainly provided through the stream operator. A typical example for reading a structure from a HyperChem file might look as follows:
- {verbatim} HINFile hinfile(filename); System S; hinfile >> S; {verbatim} This interface applies to all derived classes as well, so that file formats can be exchanged conveniently.
- GenericMolFile is derived from LineBasedFile since most molecular structure formats are line-based tagged formats, often containing Fortran-style formatted sections. LineBasedFile provides a number of convenient methods to parse that kind of format.
Definition at line 56 of file genericMolFile.h.
virtual Molecule* BALL::GenericMolFile::read |
( |
| ) |
|
|
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
-
Reimplemented in BALL::PDBFile, BALL::MOLFile, BALL::GAMESSDatFile, BALL::GAMESSLogFile, BALL::MOL2File, BALL::KCFFile, BALL::DockResultFile, BALL::XYZFile, BALL::HINFile, BALL::MOPACOutputFile, BALL::SDFile, and BALL::AntechamberFile.