private void setActiveCenters ( IAtomContainer reactant ) throws CDKException { Iterator < IBond > bonds = reactant . bonds ( ) . iterator ( ) ; while ( bonds . hasNext ( ) ) { IBond bondi = bonds . next ( ) ; IAtom atom1 = bondi . getBegin ( ) ; IAtom atom2 = bondi . getEnd ( ) ; if ( bondi . getOrder ( ) == IBond . Order . SINGLE && ( atom1 . getFormalCharge ( ) == CDKConstants . UNSET ? 0 : atom1 . getFormalCharge ( ) ) == 0 && ( atom2 . getFormalCharge ( ) == CDKConstants . UNSET ? 0 : atom2 . getFormalCharge ( ) ) == 0 && reactant . getConnectedSingleElectronsCount ( atom1 ) == 0 && reactant . getConnectedSingleElectronsCount ( atom2 ) == 0 ) { bondi . setFlag ( CDKConstants . REACTIVE_CENTER , true ) ; atom1 . setFlag ( CDKConstants . REACTIVE_CENTER , true ) ; atom2 . setFlag ( CDKConstants . REACTIVE_CENTER , true ) ; } } }
Set the active center for this molecule . The active center will be single bonds . As default is only those atoms without charge and between a sigma bond .