mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-03 21:44:30 +08:00
Merge branch 'master' of https://github.com/rdkit/rdkit
This commit is contained in:
@@ -419,7 +419,6 @@ namespace RDKit{
|
||||
|
||||
unsigned int nAts=mol.getNumAtoms();
|
||||
double *dMat = new double[nAts*nAts];
|
||||
sptr.reset(dMat);
|
||||
|
||||
for(unsigned int i=0;i<nAts;++i){
|
||||
if(useAtomWts){
|
||||
@@ -434,7 +433,10 @@ namespace RDKit{
|
||||
}
|
||||
}
|
||||
|
||||
if(propName!="") mol.setProp(propName,sptr,true);
|
||||
if(propName!=""){
|
||||
sptr.reset(dMat);
|
||||
mol.setProp(propName,sptr,true);
|
||||
}
|
||||
return dMat;
|
||||
}
|
||||
} // end of namespace MolOps
|
||||
|
||||
@@ -133,7 +133,7 @@ namespace RDKit {
|
||||
};
|
||||
|
||||
|
||||
MolHistogram::MolHistogram(const ROMol &mol, const double *dmat) :
|
||||
MolHistogram::MolHistogram(const ROMol &mol, const double *dmat, bool cleanupDmat) :
|
||||
d_h(boost::extents[mol.getNumHeavyAtoms()][O3_MAX_H_BINS]) {
|
||||
PRECONDITION(dmat,"empty distance matrix");
|
||||
unsigned int nAtoms = mol.getNumAtoms();
|
||||
@@ -155,6 +155,7 @@ namespace RDKit {
|
||||
}
|
||||
++y;
|
||||
}
|
||||
if(cleanupDmat) delete [] dmat;
|
||||
}
|
||||
|
||||
|
||||
@@ -835,9 +836,9 @@ namespace RDKit {
|
||||
}
|
||||
else {
|
||||
refHist = (extRefHist ? extRefHist
|
||||
: new MolHistogram(refMol, MolOps::get3DDistanceMat(refMol, refCid, false, false, "")));
|
||||
: new MolHistogram(refMol, MolOps::get3DDistanceMat(refMol, refCid, false, false, ""),true));
|
||||
prbHist = (extPrbHist ? extPrbHist
|
||||
: new MolHistogram(prbMol, MolOps::get3DDistanceMat(prbMol, prbCid, false, false, "")));
|
||||
: new MolHistogram(prbMol, MolOps::get3DDistanceMat(prbMol, prbCid, false, false, ""),true));
|
||||
lap = (extLAP ? extLAP : new LAP(largestNHeavyAtoms));
|
||||
lap->computeCostMatrix(prbMol, *prbHist,
|
||||
refMol, *refHist, o3aConstraintVect, costFunc, data);
|
||||
@@ -1025,9 +1026,9 @@ namespace RDKit {
|
||||
LAP *lap = NULL;
|
||||
if (!local) {
|
||||
refHist = (extRefHist ? extRefHist
|
||||
: new MolHistogram(refMol, MolOps::get3DDistanceMat(refMol, refCid, false, false, "")));
|
||||
: new MolHistogram(refMol, MolOps::get3DDistanceMat(refMol, refCid, false, false, ""),true));
|
||||
prbHist = (extPrbHist ? extPrbHist
|
||||
: new MolHistogram(prbMol, MolOps::get3DDistanceMat(prbMol, prbCid, false, false, "")));
|
||||
: new MolHistogram(prbMol, MolOps::get3DDistanceMat(prbMol, prbCid, false, false, ""),true));
|
||||
lap = (extLAP ? extLAP : new LAP(largestNHeavyAtoms));
|
||||
}
|
||||
for (l = 0, score[0] = 0.0;
|
||||
|
||||
@@ -131,7 +131,7 @@ namespace RDKit {
|
||||
|
||||
class MolHistogram {
|
||||
public:
|
||||
MolHistogram(const ROMol &mol, const double *dmat);
|
||||
MolHistogram(const ROMol &mol, const double *dmat, bool cleanupDmat=false);
|
||||
~MolHistogram() {};
|
||||
inline int get(const unsigned int y, const unsigned int x) const {
|
||||
PRECONDITION(y < d_h.shape()[0], "Invalid index on MolHistogram");
|
||||
|
||||
Reference in New Issue
Block a user