Apologies for the hasty mail - the error was on my side. But now that
it compiles when I try to render an image I get the error:
Exception in thread "main" java.lang.NoSuchMethodError:
org.openscience.cdk.interfaces.IAtom.getHydrogenCount()Ljava/lang/Integer;
at
org.openscience.cdk.renderer.generators.BasicAtomGenerator.generateElements(BasicAtomGenerator.java:221)
at
org.openscience.cdk.renderer.generators.BasicAtomGenerator.generate(BasicAtomGenerator.java:194)
at
org.openscience.cdk.renderer.generators.BasicAtomGenerator.generate(BasicAtomGenerator.java:143)
at
org.openscience.cdk.renderer.generators.BasicAtomGenerator.generate(BasicAtomGenerator.java:48)
at
org.openscience.cdk.renderer.AtomContainerRenderer.generateDiagram(AtomContainerRenderer.java:585)
at
org.openscience.cdk.renderer.AtomContainerRenderer.paintMolecule(AtomContainerRenderer.java:265)
at org.guha.rcdk.view.MoleculeImage.getBytes(MoleculeImage.java:72)
at org.guha.rcdk.view.MoleculeImage.main(MoleculeImage.java:85)
In 1.3.6, this method is no longer available, as far as I can tell.
On Thu, Sep 23, 2010 at 4:10 PM, Rajarshi Guha <[email protected]> wrote:
> With the 1.3.6 jar and the jchempaint 15 jar I can't compile
>
> Are there any plans to finally get the rendering in sync with the CDK
> so that one could actually use it, rather than spend an afternoon
> hacking on it?
>
> compile:
> [mkdir] Created dir: /Users/guhar/src/cdkr/rcdkjar/classes
> [javac] Compiling 15 source files to /Users/guhar/src/cdkr/rcdkjar/classes
> [javac]
> /Users/guhar/src/cdkr/rcdkjar/src/org/guha/rcdk/view/MoleculeImage.java:59:
> cannot find symbol
> [javac] symbol : constructor
> Renderer(java.util.List<org.openscience.cdk.renderer.generators.IGenerator>,org.openscience.cdk.renderer.font.AWTFontManager)
> [javac] location: class org.openscience.cdk.renderer.Renderer
> [javac] Renderer renderer = new Renderer(generators, new
> AWTFontManager());
> [javac] ^
> [javac]
> /Users/guhar/src/cdkr/rcdkjar/src/org/guha/rcdk/view/panels/MoleculeCell.java:56:
> cannot find symbol
> [javac] symbol : constructor
> Renderer(java.util.List<org.openscience.cdk.renderer.generators.IGenerator>,org.openscience.cdk.renderer.font.AWTFontManager)
> [javac] location: class org.openscience.cdk.renderer.Renderer
> [javac] this.renderer = new Renderer(generators, new
> AWTFontManager());
> [javac] ^
> [javac] 2 errors
>
>
>
>
> On Thu, Sep 23, 2010 at 8:50 AM, Özgür Demir <[email protected]>
> wrote:
>> Hi,
>>
>> I'm trying to implement some "simple" tasks using CDK. Given a Molecule
>> I want to retrieve its Formula, Smiles Code, Molecular Weight and
>> finally render an image. I was able to compute the smiles string and
>> formula using CDK 1.2.7:
>>
>> //smiles
>> SmilesGenerator sg = new SmilesGenerator();
>> molecule.setSmiles(sg.createSMILES(cdkmolecule));
>> //formula
>> IMolecularFormula moleculeFormula =
>> MolecularFormulaManipulator.getMolecularFormula(cdkmolecule);
>> molecule.setFormula(MolecularFormulaManipulator.getString(moleculeFormula));
>>
>> next I wanted to render an image. I found an example on
>> http://chem-bla-ics.blogspot.com/2010/04/cdk-jchempaint-1-rendering-molecules.html
>> which assumes cdk-1.3.x and cdk-jchempaint. Trying to run this code with
>> cdk-1.3.6 and cdk-jchempaint-15 (I got both via sourceforge) reveals the
>> following exception:
>>
>> Exception in thread "main" java.lang.NoSuchMethodError:
>> org.openscience.cdk.interfaces.IChemObjectBuilder.newInstance(Ljava/lang/Class;[Ljava/lang/Object;)Lorg/openscience/cdk/interfaces/ICDKObject;
>> at
>> org.openscience.cdk.renderer.generators.BasicBondGenerator.getRingSet(BasicBondGenerator.java:142)
>> at
>> org.openscience.cdk.renderer.generators.BasicBondGenerator.generate(BasicBondGenerator.java:204)
>> at
>> org.openscience.cdk.renderer.generators.BasicBondGenerator.generate(BasicBondGenerator.java:57)
>> at
>> org.openscience.cdk.renderer.AtomContainerRenderer.generateDiagram(AtomContainerRenderer.java:585)
>> at
>> org.openscience.cdk.renderer.AtomContainerRenderer.paint(AtomContainerRenderer.java:240)
>>
>>
>> The code for the smiles string generation does not work either with cdk
>> 1.3.x. I get the following exception:
>>
>> Exception in thread "main" java.lang.NoSuchMethodError:
>> org.openscience.cdk.smiles.SmilesGenerator.createSMILES(Lorg/openscience/cdk/interfaces/IAtomContainer;)Ljava/lang/String;
>>
>> Hence, 1.3.x does not seem to be compatible to 1.2.x? Is that true? So
>> I'm a little bit confused which version to use and how to calculate the
>> desired properties?
>> Regards
>>
>> Özgür Demir
>>
>>
>>
>> heres the code for image creation:
>>
>> private static void renderImage(IMolecule molecule, File file, int
>> width, int height) throws Exception {
>> Rectangle drawArea = new Rectangle(width, height);
>> Image image = new BufferedImage(width, height,
>> BufferedImage.TYPE_INT_RGB);
>> StructureDiagramGenerator sdg = new StructureDiagramGenerator();
>> sdg.setMolecule(molecule);
>> sdg.generateCoordinates();
>> molecule = sdg.getMolecule();
>> List<IGenerator<IAtomContainer>> generators = new
>> ArrayList<IGenerator<IAtomContainer>>();
>> generators.add(new BasicSceneGenerator());
>> generators.add(new BasicBondGenerator());
>> generators.add(new BasicAtomGenerator());
>> AtomContainerRenderer renderer = new
>> AtomContainerRenderer(generators, new AWTFontManager());
>> renderer.setup(molecule, drawArea);
>> Graphics2D g2 = (Graphics2D) image.getGraphics();
>> g2.setColor(Color.WHITE);
>> g2.fillRect(0, 0, width, height);
>> renderer.paint(molecule, new AWTDrawVisitor(g2));
>> ImageIO.write((RenderedImage) image, "PNG", file);
>> }
>>
>>
>> ------------------------------------------------------------------------------
>> Start uncovering the many advantages of virtual appliances
>> and start using them to simplify application deployment and
>> accelerate your shift to cloud computing.
>> http://p.sf.net/sfu/novell-sfdev2dev
>> _______________________________________________
>> Cdk-user mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/cdk-user
>>
>
>
>
> --
> Rajarshi Guha
> NIH Chemical Genomics Center
>
--
Rajarshi Guha
NIH Chemical Genomics Center
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user