From: Egon W. <eg...@us...> - 2005-10-11 17:01:20
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17825/src/org/openscience/cdk/tools Modified Files: DeAromatizationTool.java Log Message: Require the ring atoms to be 6 carbons or 5 carbons and a nitrogen. Index: DeAromatizationTool.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/tools/DeAromatizationTool.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DeAromatizationTool.java 11 Oct 2005 16:23:52 -0000 1.1 +++ DeAromatizationTool.java 11 Oct 2005 17:01:28 -0000 1.2 @@ -28,6 +28,8 @@ */ package org.openscience.cdk.tools; +import java.util.Hashtable; + import org.openscience.cdk.CDKConstants; import org.openscience.cdk.interfaces.Bond; import org.openscience.cdk.interfaces.Ring; @@ -44,13 +46,23 @@ */ public static boolean deAromatize(Ring ring) { boolean result = false; + Hashtable elementCounts = new MFAnalyser(ring).getFormulaHashtable(); if (ring.getRingSize() == 6) { - result = DeAromatizationTool.deAromatizeBenzene(ring); + if (((Integer)elementCounts.get("C")).intValue() == 6) { + result = DeAromatizationTool.deAromatizeBenzene(ring); + } else if (((Integer)elementCounts.get("C")).intValue() == 5 && + ((Integer)elementCounts.get("N")).intValue() == 1) { + result = DeAromatizationTool.deAromatizePyridine(ring); + } } return result; } - public static boolean deAromatizeBenzene(Ring ring) { + private static boolean deAromatizePyridine(Ring ring) { + return deAromatizeBenzene(ring); // same task to do + } + + private static boolean deAromatizeBenzene(Ring ring) { Bond[] bonds = ring.getBonds(); if (bonds.length != 6) return false; for (int i = 0; i<bonds.length; i++) { |