private int ringSystemClassifier ( IRing ring , String smile ) throws CDKException { /* System.out.println("IN AtomTypeTools Smile:"+smile); */ logger . debug ( "Comparing ring systems: SMILES=" , smile ) ; if ( PYRROLE_SMI == null ) { final SmilesParser smipar = new SmilesParser ( ring . getBuilder ( ) ) ; initCache ( smipar ) ; } if ( smile . equals ( PYRROLE_SMI ) ) return PYROLE_RING ; else if ( smile . equals ( FURAN_SMI ) ) return FURAN_RING ; else if ( smile . equals ( THIOPHENE_SMI ) ) return THIOPHENE_RING ; else if ( smile . equals ( PYRIDINE_SMI ) ) return PYRIDINE_RING ; else if ( smile . equals ( PYRIMIDINE_SMI ) ) return PYRIMIDINE_RING ; else if ( smile . equals ( BENZENE_SMI ) ) return BENZENE_RING ; int ncount = 0 ; for ( int i = 0 ; i < ring . getAtomCount ( ) ; i ++ ) { if ( ring . getAtom ( i ) . getSymbol ( ) . equals ( "N" ) ) { ncount = ncount + 1 ; } } if ( ring . getAtomCount ( ) == 6 & ncount == 1 ) { return 10 ; } else if ( ring . getAtomCount ( ) == 5 & ncount == 1 ) { return 4 ; } if ( ncount == 0 ) { return 3 ; } else { return 0 ; } }
Identifies ringSystem and returns a number which corresponds to CDKChemicalRingConstant