From: sushil r. <ron...@gm...> - 2007-04-12 11:05:49
|
I have added a new constant in the cdkconstans called TOTAL_RING_BOND_COUNT. In initialization code of smartquerytool i wrote ////////////////////////////////////////////////////////////////////////////////// Iterator atomss = atomContainer.atoms(); while(atomss.hasNext()){ IAtom atom = (IAtom) atomss.next(); List allatoms = atomContainer.getConnectedAtomsList(atom); int counter=0; IAtom any=null; for(int i=0;i<allatoms.size();i++){ any =(IAtom) allatoms.get(i); if(any.getFlag(CDKConstants.ISINRING)){ counter++; } } any.setProperty(CDKConstants.TOTAL_RING_BOND,new Integer(counter));counter=0; } //////////////////////////////////////////////////////////////////////////////////////// every thing is fine upto here i have also checked the property it is set finely for all atoms. Now i have another class whose method matches is called after the initialization code. public boolean matches(IAtom atom) { System.out.println(atom.getAtomTypeName()+"-->"+atom.getProperty( CDKConstants.TOTAL_RING_BOND)); Integer total_ring_bond = ((Integer)atom.getProperty( CDKConstants.TOTAL_RING_BOND)).intValue(); if(Connection_Size == total_ring_bond) return true; return false; } but here the property is coming 0 for all atoms. what might be the reason. -- ******************************** sushil ronghe Center of Pharmacoinformatics India ********************************* |