14 #ifndef INCLUDE_MOLASSEMBLER_IO_H
15 #define INCLUDE_MOLASSEMBLER_IO_H
28 class BondOrderCollection;
31 namespace Molassembler {
35 class AngstromPositions;
50 static const bool& enabled();
55 static Molecule fromCanonicalSMILES(
const std::string& can);
60 static Molecule fromIsomericSMILES(
const std::string& smi);
66 static Molecule fromInChI(
const std::string& inchi);
69 static Molecule fromFormat(
const std::string& lineNotation,
const std::string& format);
76 MASM_EXPORT std::pair<Utils::AtomCollection, Utils::BondOrderCollection>
exchangeFormat(
82 MASM_EXPORT std::pair<Utils::AtomCollection, Utils::BondOrderCollection>
exchangeFormat(
91 MASM_EXPORT std::tuple<Utils::AtomCollection, Utils::BondOrderCollection, std::vector<AtomIndex>>
shuffle(
113 MASM_EXPORT std::vector<Molecule>
split(
const std::string& filename);
125 MASM_EXPORT
void write(
126 const std::string& filename,
132 MASM_EXPORT
void write(
133 const std::string& filename,
146 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:77
Molecule read(const std::string &filename)
Read a single molecule from a file.
std::pair< Utils::AtomCollection, Utils::BondOrderCollection > exchangeFormat(const Molecule &molecule, const AngstromPositions &angstromWrapper)
Extract exchange format information from a molecule and positional data.
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::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:44