11#ifndef RD_SMILESWRITE_H_012020
12#define RD_SMILESWRITE_H_012020
26 bool doIsomericSmiles =
28 bool doKekule =
false;
32 bool canonical =
true;
33 bool allBondsExplicit =
false;
34 bool allHsExplicit =
false;
35 bool doRandom =
false;
37 int rootedAtAtom = -1;
40namespace SmilesWrite {
76 bool doKekule =
false,
77 const Bond *bondIn =
nullptr,
78 bool allHsExplicit =
false,
79 bool isomericSmiles =
true);
91 const Bond *bond,
int atomToLeftIdx = -1,
bool doKekule =
false,
92 bool allBondsExplicit =
false);
117 bool doKekule =
false,
int rootedAtAtom = -1,
118 bool canonical =
true,
119 bool allBondsExplicit =
false,
120 bool allHsExplicit =
false,
121 bool doRandom =
false) {
147 const ROMol &mol,
unsigned int numSmiles,
unsigned int randomSeed = 0,
148 bool doIsomericSmiles =
true,
bool doKekule =
false,
149 bool allBondsExplicit =
false,
bool allHsExplicit =
false);
154 const std::vector<int> &atomsToUse,
155 const std::vector<int> *bondsToUse =
nullptr,
156 const std::vector<std::string> *atomSymbols =
nullptr,
157 const std::vector<std::string> *bondSymbols =
nullptr);
185 const ROMol &mol,
const std::vector<int> &atomsToUse,
186 const std::vector<int> *bondsToUse =
nullptr,
187 const std::vector<std::string> *atomSymbols =
nullptr,
188 const std::vector<std::string> *bondSymbols =
nullptr,
189 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
190 bool canonical =
true,
bool allBondsExplicit =
false,
191 bool allHsExplicit =
false) {
223 bool doKekule =
false,
int rootedAtAtom = -1,
224 bool canonical =
true,
225 bool allBondsExplicit =
false,
226 bool allHsExplicit =
false,
227 bool doRandom =
false) {
242 const std::vector<int> &atomsToUse,
243 const std::vector<int> *bondsToUse =
nullptr,
244 const std::vector<std::string> *atomSymbols =
nullptr,
245 const std::vector<std::string> *bondSymbols =
nullptr);
271 const ROMol &mol,
const std::vector<int> &atomsToUse,
272 const std::vector<int> *bondsToUse =
nullptr,
273 const std::vector<std::string> *atomSymbols =
nullptr,
274 const std::vector<std::string> *bondSymbols =
nullptr,
275 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
276 bool canonical =
true,
bool allBondsExplicit =
false,
277 bool allHsExplicit =
false) {
The class for representing atoms.
class for representing a bond
#define RDKIT_SMILESPARSE_EXPORT
RDKIT_SMILESPARSE_EXPORT bool inOrganicSubset(int atomicNumber)
returns true if the atom number is in the SMILES organic subset
RDKIT_SMILESPARSE_EXPORT std::string GetBondSmiles(const Bond *bond, int atomToLeftIdx=-1, bool doKekule=false, bool allBondsExplicit=false)
returns the SMILES for a bond
RDKIT_SMILESPARSE_EXPORT std::string getCXExtensions(const ROMol &mol, std::uint32_t flags=CXSmilesFields::CX_ALL)
returns the cxsmiles data for a molecule
RDKIT_SMILESPARSE_EXPORT std::string GetAtomSmiles(const Atom *atom, bool doKekule=false, const Bond *bondIn=nullptr, bool allHsExplicit=false, bool isomericSmiles=true)
returns the SMILES for an atom
RDKIT_SMILESPARSE_EXPORT std::vector< std::string > MolToRandomSmilesVect(const ROMol &mol, unsigned int numSmiles, unsigned int randomSeed=0, bool doIsomericSmiles=true, bool doKekule=false, bool allBondsExplicit=false, bool allHsExplicit=false)
returns a vector of random SMILES for a molecule (may contain duplicates)
RDKIT_SMILESPARSE_EXPORT std::string MolFragmentToSmiles(const ROMol &mol, const SmilesWriteParams ¶ms, const std::vector< int > &atomsToUse, const std::vector< int > *bondsToUse=nullptr, const std::vector< std::string > *atomSymbols=nullptr, const std::vector< std::string > *bondSymbols=nullptr)
returns canonical SMILES for part of a molecule
RDKIT_SMILESPARSE_EXPORT std::string MolToSmiles(const ROMol &mol, const SmilesWriteParams ¶ms)
returns canonical SMILES for a molecule
RDKIT_SMILESPARSE_EXPORT std::string MolToCXSmiles(const ROMol &mol, const SmilesWriteParams &ps, std::uint32_t flags=SmilesWrite::CXSmilesFields::CX_ALL)
returns canonical CXSMILES for a molecule
RDKIT_SMILESPARSE_EXPORT std::string MolFragmentToCXSmiles(const ROMol &mol, const SmilesWriteParams ¶ms, const std::vector< int > &atomsToUse, const std::vector< int > *bondsToUse=nullptr, const std::vector< std::string > *atomSymbols=nullptr, const std::vector< std::string > *bondSymbols=nullptr)
returns canonical CXSMILES for part of a molecule