Loading...
Searching...
No Matches
phmodel.h
Go to the documentation of this file.
/**********************************************************************
phmodel.h - Read pH rules and assign charges.
Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc.
Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison
This file is part of the Open Babel project.
For more information, see <http://openbabel.org/>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
***********************************************************************/
#ifndef OB_PHMODEL_H
#define OB_PHMODEL_H
#include <openbabel/parsmart.h>
#include <openbabel/data.h>
namespace OpenBabel
{
// class introduction in phmodel.cpp
class OBAPI OBChemTsfm
{
std::vector<int> _vadel;
std::vector<std::pair<int,int> > _vele;
std::vector<std::pair<int,int> > _vchrg;
std::vector<std::pair<int,int> > _vbdel;
std::vector<std::pair<std::pair<int,int>,int> > _vbond;
OBSmartsPattern _bgn,_end;
public:
OBChemTsfm() {}
~OBChemTsfm() {}
bool Init(std::string&start, std::string &end);
bool Apply(OBMol&);
bool IsAcid();
bool IsBase();
};
class OBAPI OBPhModel : public OBGlobalDataBase
{
std::vector<OBChemTsfm*> _vtsfm;
std::vector<double> _vpKa;
std::vector<std::pair<OBSmartsPattern*,std::vector<double> > > _vschrg;
public:
OBPhModel();
~OBPhModel();
void ParseLine(const char*);
size_t GetSize() { return _vtsfm.size();}
void AssignSeedPartialCharge(OBMol&);
//void CorrectForPH(OBMol&);
void CorrectForPH(OBMol&, double pH = 7.4 );
};
} //namespace OpenBabel
#endif // OB_PHMODEL_H
OpenBabel::OBChemTsfm::~OBChemTsfm
~OBChemTsfm()
Definition phmodel.h:40
OpenBabel::OBChemTsfm::OBChemTsfm
OBChemTsfm()
Definition phmodel.h:39
OpenBabel::OBGlobalDataBase::OBGlobalDataBase
OBGlobalDataBase()
Constructor.
Definition data.h:60
OpenBabel::OBMol
Molecule Class.
Definition mol.h:121
OpenBabel::OBPhModel::OBPhModel
OBPhModel()
Definition phmodel.cpp:46
OpenBabel::OBPhModel::GetSize
size_t GetSize()
Definition phmodel.h:118
OpenBabel::OBPhModel::ParseLine
void ParseLine(const char *)
Specified by particular table classes (parses an individual data line).
Definition phmodel.cpp:67
OpenBabel::OBSmartsPattern
SMARTS (SMiles ARbitrary Target Specification) substructure searching.
Definition parsmart.h:155
data.h
Global data and resource file parsers.
OpenBabel
Global namespace for all Open Babel code.
Definition alias.h:23
parsmart.h
Daylight SMARTS parser.