15 #ifndef INCLUDE_MOLASSEMBLER_IO_H
16 #define INCLUDE_MOLASSEMBLER_IO_H
29 class BondOrderCollection;
32 namespace Molassembler {
36 class AngstromPositions;
51 static const bool& enabled();
56 static Molecule fromCanonicalSMILES(
const std::string& can);
61 static Molecule fromIsomericSMILES(
const std::string& smi);
67 static Molecule fromInChI(
const std::string& inchi);
70 static Molecule fromFormat(
const std::string& lineNotation,
const std::string& format);
77 MASM_EXPORT std::pair<Utils::AtomCollection, Utils::BondOrderCollection>
exchangeFormat(
83 MASM_EXPORT std::pair<Utils::AtomCollection, Utils::BondOrderCollection>
exchangeFormat(
92 MASM_EXPORT std::tuple<Utils::AtomCollection, Utils::BondOrderCollection, std::vector<AtomIndex>>
shuffle(
114 MASM_EXPORT std::vector<Molecule>
split(
const std::string& filename);
126 MASM_EXPORT
void write(
127 const std::string& filename,
133 MASM_EXPORT
void write(
134 const std::string& filename,
147 MASM_EXPORT
void write(
const std::string& filename,
const Molecule& molecule);
Models a molecule as a graph (connectivity of atoms) and a list of stereopermutators.
Definition: Molecule.h:73
Molecule read(const std::string &filename)
Read a single molecule from a file.
Defines basic types widely shared across the project.
A wrapper class around Utils' PositionCollection to emphasize that the positions stored therein are i...
Definition: AngstromPositions.h:25
void write(const std::string &filename, const Molecule &molecule, const AngstromPositions &angstromWrapper)
Writer function for various chemical formats.
std::pair< Utils::AtomCollection, Utils::BondOrderCollection > exchangeFormat(const Molecule &molecule, AngstromPositions angstromWrapper)
Extract exchange format information from a molecule and positional data.
std::tuple< Utils::AtomCollection, Utils::BondOrderCollection, std::vector< AtomIndex > > shuffle(const Utils::AtomCollection &ac, const Utils::BondOrderCollection &bos)
Applies a random atom index permutation to exchange data.
std::vector< Molecule > split(const std::string &filename)
Read multiple molecules from a file.
Provides Molecule instances from line notations of molecules such as SMILES and InChI.
Definition: IO.h:45