BALL
1.4.79
|
#include <BALL/FORMAT/SDFile.h>
Public Member Functions | |
Constructors and Destructors | |
SDFile () | |
SDFile (const String &filename, File::OpenMode open_mode=std::ios::in) | |
virtual | ~SDFile () |
Destructor. More... | |
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 () |
void | disableAtoms () |
void | enableAtoms () |
const SDFile & | operator= (const SDFile &file) |
Public Member Functions inherited from BALL::MOLFile | |
MOLFile () | |
MOLFile (const String &filename, File::OpenMode open_mode=std::ios::in) | |
virtual | ~MOLFile () |
Destructor. More... | |
const MOLFile & | operator= (const MOLFile &file) |
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 GenericMolFile & | operator= (const GenericMolFile &rhs) |
void | defineInputAsTemporary (bool b=true) |
void | enableOutputCompression (String zipped_filename) |
bool | isCompressedFile () |
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 | |
void | readPropertyBlock_ (Molecule &molecule) |
void | writePropertyBlock_ (const Molecule &molecule) |
Protected Member Functions inherited from BALL::MOLFile | |
Molecule * | readCTAB_ (std::vector< Atom * > &atom_map) |
bool | readCountsLine_ (CountsStruct &counts) |
Read the Counts line of a MOL file. More... | |
bool | readAtomLine_ (AtomStruct &atom) |
Read a line from the atom block. More... | |
bool | readBondLine_ (BondStruct &bond) |
Read a line from the bond block. More... | |
void | writeCountsLine_ (const CountsStruct &counts) |
Write the Counts line. More... | |
void | writeAtomLine_ (const AtomStruct &atom) |
Write a line of the atom block. More... | |
void | writeBondLine_ (const BondStruct &bond) |
Write a line of the bond block. More... | |
Protected Member Functions inherited from BALL::GenericMolFile | |
virtual void | initRead_ () |
virtual void | initWrite_ () |
Protected Attributes | |
bool | read_atoms_ |
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_ |
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... | |
Static Protected Attributes inherited from BALL::MOLFile | |
static const String | counts_format_ |
The format of the counts line. More... | |
static const String | atom_format_ |
The format of an entry of the atom block. More... | |
static const String | bond_format_ |
The format of an entry of the bond block. More... | |
Static Protected Attributes inherited from BALL::File | |
static HashSet< String > | created_temp_filenames_ |
static TransformationManager | transformation_manager_ |
static Size | transformation_methods_ |
MDL SD file class. This class enables BALL to read and write MDL SD files.
BALL::SDFile::SDFile | ( | ) |
Default constructor
BALL::SDFile::SDFile | ( | const String & | filename, |
File::OpenMode | open_mode = std::ios::in |
||
) |
Detailed constructor.
Exception::FileNotFound | if the file could not be opened |
|
virtual |
Destructor.
void BALL::SDFile::disableAtoms | ( | ) |
Do not read atoms and bonds. This (seemingly strange) option allows the user to read the properties of the molecules only. Since SD files can contain all kinds of information besides the molecular structure and reading the structure can be rather time and space consuming, you can disable it with this option. The read and write methods will still create molecules, but they will be empty. However, the NamedProperties of the molecules contain the optional information contained in the SD file.
void BALL::SDFile::enableAtoms | ( | ) |
Read atoms and bonds.
Read a system from the SD file
Exception::ParseError | if a syntax error was encountered |
Reimplemented from BALL::MOLFile.
|
virtual |
Read a single molecule from an SD file.
Exception::ParseError | if a syntax error was encountered |
Reimplemented from BALL::MOLFile.
|
protected |
Read the property block of an SD file. The values are stored as named properties in the molecule read.
Write a system to the SD file. Write all molecules contained in the system to the SD file. All named properties are included in the property section.
File::CannotWrite | if writing to the file failed |
Reimplemented from BALL::MOLFile.
Append a single molecule to the SD file.
File::CannotWrite | if writing to the file failed |
Reimplemented from BALL::MOLFile.
|
protected |
Read the propertyblock of an SD file. The values are stored as named properties in the molecule read.