10 #ifndef __CHEMICALFEATUREDEF_H_02122004_1750__ 11 #define __CHEMICALFEATUREDEF_H_02122004_1750__ 19 #include <boost/shared_ptr.hpp> 22 class MolChemicalFeatureDef;
30 const std::string &type);
33 std::vector<double>::iterator
beginWeights() {
return d_weights.begin(); };
34 std::vector<double>::iterator
endWeights() {
return d_weights.end(); };
37 return d_weights.begin();
40 return d_weights.end();
44 d_weights.insert(d_weights.begin(), weights.begin(), weights.end());
47 " pattern->getNumAtoms() != len(feature weight vector)");
51 const std::string &
getFamily()
const {
return d_family; };
52 const std::string &
getType()
const {
return d_type; };
53 const std::string &
getSmarts()
const {
return d_smarts; };
63 boost::shared_ptr<ROMol> dp_pattern;
64 std::vector<double> d_weights;
unsigned int getNumAtoms(bool onlyExplicit=1) const
returns our number of atoms
const std::string & getType() const
unsigned int getNumWeights() const
const ROMol * getPattern() const
std::vector< double >::const_iterator endWeights() const
const std::string & getFamily() const
Defines the primary molecule class ROMol as well as associated typedefs.
std::vector< double >::iterator beginWeights()
std::vector< double >::iterator endWeights()
ROMol is a molecule class that is intended to have a fixed topology.
std::list< boost::shared_ptr< MolChemicalFeatureDef > > CollectionType
Class to allow us to throw a ValueError from C++ and have it make it back to Python.
std::vector< double >::const_iterator beginWeights() const
void setWeights(const std::vector< double > &weights)
const std::string & getSmarts() const