Commit a793eb4c by maarten

backup

git-svn-id: svn+ssh://gitlab/srv/svn-repos/pdb-redo/trunk@226 a1961a4f-ab94-4bcc-80e8-33b5a54de466
parent 6f1a592c
...@@ -117,12 +117,13 @@ class Compound ...@@ -117,12 +117,13 @@ class Compound
float formulaWeight() const; float formulaWeight() const;
int charge() const; int charge() const;
bool isWater() const; bool isWater() const;
bool isSugar() const;
std::vector<ChiralCentre> chiralCentres() const { return mChiralCentres; } std::vector<ChiralCentre> chiralCentres() const { return mChiralCentres; }
bool isIsomerOf(const Compound& c) const;
std::vector<std::string> isomers() const; std::vector<std::string> isomers() const;
bool isIsomerOf(const Compound& c) const;
std::vector<std::tuple<std::string,std::string>> mapToIsomer(const Compound& c) const;
private: private:
// Entity& mEntity; // Entity& mEntity;
......
...@@ -418,6 +418,11 @@ bool Compound::isWater() const ...@@ -418,6 +418,11 @@ bool Compound::isWater() const
return mId == "HOH" or mId == "H2O"; return mId == "HOH" or mId == "H2O";
} }
bool Compound::isSugar() const
{
return cif::iequals(mGroup, "furanose") or cif::iequals(mGroup, "pyranose");
}
CompoundAtom Compound::getAtomById(const string& atomId) const CompoundAtom Compound::getAtomById(const string& atomId) const
{ {
CompoundAtom result; CompoundAtom result;
...@@ -725,6 +730,17 @@ bool Compound::isIsomerOf(const Compound& c) const ...@@ -725,6 +730,17 @@ bool Compound::isIsomerOf(const Compound& c) const
return result; return result;
} }
vector<tuple<string,string>> Compound::mapToIsomer(const Compound& c) const
{
vector<tuple<string,string>> result;
bool check = StructuresAreIsomeric(mAtoms, mBonds, c.mAtoms, c.mBonds, result);
if (not check)
throw runtime_error("Compounds " + id() + " and " + c.id() + " are not isomers in call to mapToIsomer");
return move(result);
}
vector<string> Compound::isomers() const vector<string> Compound::isomers() const
{ {
vector<string> result; vector<string> result;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment