#include #include #include #include #include using namespace std; using namespace OpenBabel; int main(int argc, char* argv[]) { ifstream ifs("EGFR_lig.sdf"); OBConversion conv; conv.SetInFormat("SDF"); OBMol mol; vector lib; while (conv.Read(&mol, &ifs)) { lib.push_back(mol); } ifs.close(); for (auto ii = lib.begin(); ii != lib.end(); ii++) { string s_MW = ii->GetData("PUBCHEM_MOLECULAR_WEIGHT")->GetValue(); double MW = stof(s_MW); string s_logP = ii->GetData("PUBCHEM_XLOGP3_AA")->GetValue(); double logP = stof(s_logP); cout << ii->GetTitle() << "\t" << MW << "\t" << logP << endl; } }