Loading...
Searching...
No Matches
BALL::SDFile Class Reference
Molecular Modeling » File Formats » Molecular structure file formats

`#include <BALL/FORMAT/SDFile.h>`

Inheritance diagram for BALL::SDFile:

## Public Member Functions

Constructors and Destructors
| SDFile ()
| SDFile (const String &filename, File::OpenMode open_mode=std::ios::in)
virtual | ~SDFile ()
| Destructor.
Public Member Functions inherited from BALL::MOLFile
| MOLFile ()
| MOLFile (const String &filename, File::OpenMode open_mode=std::ios::in)
virtual | ~MOLFile ()
| Destructor.
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.
| 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.
const String & | getLine () const
| Return the current line.
String & | getLine ()
| Return the current line.
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.
bool | has (const String &text) const
| Return true if the current line contains text.
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.
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

## Reading and Writing of Kernel Datastructures

bool | read_atoms_
virtual bool | write (const System &system)
virtual bool | write (const Molecule &molecule)
virtual bool | read (System &system)
virtual Molecule * | read ()
Size | countMolecules ()
void | disableAtoms ()
void | enableAtoms ()
const SDFile & | operator= (const SDFile &file)
void | readPropertyBlock_ (Molecule &molecule)
void | writePropertyBlock_ (const Molecule &molecule)

## 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 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).
static const OpenMode | MODE_OUT
| Open for output.
static const OpenMode | MODE_APP
| Append. Seek to end before each write operation.
static const OpenMode | MODE_BINARY
| Binary mode.
static const OpenMode | MODE_ATE
| Seek to end directly after opening.
static const OpenMode | MODE_TRUNC
| Truncate an existing file.
static const String | TRANSFORMATION_EXEC_PREFIX
| Prefix for filenames that are created through the execution of commands "exec:".
static const String | TRANSFORMATION_FILE_PREFIX
| Prefix for files (to mimick URL-like behavior) "file:".
static const String | TRANSFORMATION_FTP_PREFIX
| Prefix for FTP-transfers "ftp://".
static const String | TRANSFORMATION_HTTP_PREFIX
| Prefix for HTTP-transfer "http://".
Molecule * | readCTAB_ (std::vector< Atom * > &atom_map)
bool | readCountsLine_ (CountsStruct &counts)
| Read the Counts line of a MOL file.
bool | readAtomLine_ (AtomStruct &atom)
| Read a line from the atom block.
bool | readBondLine_ (BondStruct &bond)
| Read a line from the bond block.
void | writeCountsLine_ (const CountsStruct &counts)
| Write the Counts line.
void | writeAtomLine_ (const AtomStruct &atom)
| Write a line of the atom block.
void | writeBondLine_ (const BondStruct &bond)
| Write a line of the bond block.
virtual void | initRead_ ()
virtual void | initWrite_ ()
bool | input_is_temporary_
bool | compress_output_
bool | gmf_is_closed_
String | zipped_filename_
String | line_
| buffer for the line in use
Position | line_number_
| line number in the file
bool | trim_whitespaces_
vector< char > | col_buffer_
| buffer for column parsing
String | name_
String | original_name_
OpenMode | open_mode_
bool | is_open_
bool | is_temporary_
static const String | counts_format_
| The format of the counts line.
static const String | atom_format_
| The format of an entry of the atom block.
static const String | bond_format_
| The format of an entry of the bond block.
static HashSet< String > | created_temp_filenames_
static TransformationManager | transformation_manager_
static Size | transformation_methods_

## Detailed Description

MDL SD file class. This class enables BALL to read and write MDL SD files.

  A description of this file format (and the related MOLFile
  format) can be obtained from the MDL webpage http://www.mdli.com

Definition at line 22 of file SDFile.h.

## Constructor & Destructor Documentation

## SDFile() [1/2]

BALL::SDFile::SDFile | ( |  | ) |

Default constructor

## SDFile() [2/2]

BALL::SDFile::SDFile | ( | const String & | filename,
|  | File::OpenMode | open_mode = std::ios::in )

Detailed constructor.

Exceptions

  Exception::FileNotFound | if the file could not be opened

## ~SDFile()

virtual BALL::SDFile::~SDFile | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## countMolecules()

Size BALL::SDFile::countMolecules | ( |  | ) |

Count the number of molecule (MOL) records in the SDF

Returns
  number of MOL records in SDFile

## disableAtoms()

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.

## enableAtoms()

void BALL::SDFile::enableAtoms | ( |  | ) |

Read atoms and bonds.

See also
  disableAtoms

## operator=()

const SDFile & BALL::SDFile::operator= | ( | const SDFile & | file | ) |

## read() [1/2]

virtual Molecule * BALL::SDFile::read | ( |  | ) |

virtual

Read a single molecule from an SD file.

Exceptions

  Exception::ParseError | if a syntax error was encountered

Reimplemented from BALL::MOLFile.

## read() [2/2]

virtual bool BALL::SDFile::read | ( | System & | system | ) |

virtual

Read a system from the SD file

Exceptions

  Exception::ParseError | if a syntax error was encountered

Reimplemented from BALL::MOLFile.

## readPropertyBlock_()

void BALL::SDFile::readPropertyBlock_ | ( | Molecule & | molecule | ) |

protected

Read the property block of an SD file. The values are stored as named properties in the molecule read.

## write() [1/2]

virtual bool BALL::SDFile::write | ( | const Molecule & | molecule | ) |

virtual

Append a single molecule to the SD file.

Exceptions

  File::CannotWrite | if writing to the file failed

Reimplemented from BALL::MOLFile.

## write() [2/2]

virtual bool BALL::SDFile::write | ( | const System & | system | ) |

virtual

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.

Exceptions

  File::CannotWrite | if writing to the file failed

Reimplemented from BALL::MOLFile.

## writePropertyBlock_()

void BALL::SDFile::writePropertyBlock_ | ( | const Molecule & | molecule | ) |

protected

Read the propertyblock of an SD file. The values are stored as named properties in the molecule read.

## Member Data Documentation

## read_atoms_

bool BALL::SDFile::read_atoms_

protected

Whether atoms and bonds should be read

Definition at line 117 of file SDFile.h.