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;
40 namespace SmilesWrite {
74 bool doKekule =
false,
75 const Bond *bondIn =
nullptr,
76 bool allHsExplicit =
false,
77 bool isomericSmiles =
true);
89 const Bond *bond,
int atomToLeftIdx = -1,
bool doKekule =
false,
90 bool allBondsExplicit =
false);
115 bool doKekule =
false,
int rootedAtAtom = -1,
116 bool canonical =
true,
117 bool allBondsExplicit =
false,
118 bool allHsExplicit =
false,
119 bool doRandom =
false) {
145 const ROMol &mol,
unsigned int numSmiles,
unsigned int randomSeed = 0,
146 bool doIsomericSmiles =
true,
bool doKekule =
false,
147 bool allBondsExplicit =
false,
bool allHsExplicit =
false);
152 const std::vector<int> &atomsToUse,
153 const std::vector<int> *bondsToUse =
nullptr,
154 const std::vector<std::string> *atomSymbols =
nullptr,
155 const std::vector<std::string> *bondSymbols =
nullptr);
183 const ROMol &mol,
const std::vector<int> &atomsToUse,
184 const std::vector<int> *bondsToUse =
nullptr,
185 const std::vector<std::string> *atomSymbols =
nullptr,
186 const std::vector<std::string> *bondSymbols =
nullptr,
187 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
188 bool canonical =
true,
bool allBondsExplicit =
false,
189 bool allHsExplicit =
false) {
221 bool doKekule =
false,
int rootedAtAtom = -1,
222 bool canonical =
true,
223 bool allBondsExplicit =
false,
224 bool allHsExplicit =
false,
225 bool doRandom =
false) {
240 const std::vector<int> &atomsToUse,
241 const std::vector<int> *bondsToUse =
nullptr,
242 const std::vector<std::string> *atomSymbols =
nullptr,
243 const std::vector<std::string> *bondSymbols =
nullptr);
269 const ROMol &mol,
const std::vector<int> &atomsToUse,
270 const std::vector<int> *bondsToUse =
nullptr,
271 const std::vector<std::string> *atomSymbols =
nullptr,
272 const std::vector<std::string> *bondSymbols =
nullptr,
273 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
274 bool canonical =
true,
bool allBondsExplicit =
false,
275 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