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 {
56 CX_ALL = std::numeric_limits<std::int32_t>::max()
78 bool doKekule =
false,
79 const Bond *bondIn =
nullptr,
80 bool allHsExplicit =
false,
81 bool isomericSmiles =
true);
93 const Bond *bond,
int atomToLeftIdx = -1,
bool doKekule =
false,
94 bool allBondsExplicit =
false);
119 bool doKekule =
false,
int rootedAtAtom = -1,
120 bool canonical =
true,
121 bool allBondsExplicit =
false,
122 bool allHsExplicit =
false,
123 bool doRandom =
false) {
149 const ROMol &mol,
unsigned int numSmiles,
unsigned int randomSeed = 0,
150 bool doIsomericSmiles =
true,
bool doKekule =
false,
151 bool allBondsExplicit =
false,
bool allHsExplicit =
false);
156 const std::vector<int> &atomsToUse,
157 const std::vector<int> *bondsToUse =
nullptr,
158 const std::vector<std::string> *atomSymbols =
nullptr,
159 const std::vector<std::string> *bondSymbols =
nullptr);
187 const ROMol &mol,
const std::vector<int> &atomsToUse,
188 const std::vector<int> *bondsToUse =
nullptr,
189 const std::vector<std::string> *atomSymbols =
nullptr,
190 const std::vector<std::string> *bondSymbols =
nullptr,
191 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
192 bool canonical =
true,
bool allBondsExplicit =
false,
193 bool allHsExplicit =
false) {
225 bool doKekule =
false,
int rootedAtAtom = -1,
226 bool canonical =
true,
227 bool allBondsExplicit =
false,
228 bool allHsExplicit =
false,
229 bool doRandom =
false) {
244 const std::vector<int> &atomsToUse,
245 const std::vector<int> *bondsToUse =
nullptr,
246 const std::vector<std::string> *atomSymbols =
nullptr,
247 const std::vector<std::string> *bondSymbols =
nullptr);
273 const ROMol &mol,
const std::vector<int> &atomsToUse,
274 const std::vector<int> *bondsToUse =
nullptr,
275 const std::vector<std::string> *atomSymbols =
nullptr,
276 const std::vector<std::string> *bondSymbols =
nullptr,
277 bool doIsomericSmiles =
true,
bool doKekule =
false,
int rootedAtAtom = -1,
278 bool canonical =
true,
bool allBondsExplicit =
false,
279 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