From dcc5271714bd76fc88b479be190a53a2c35bd578 Mon Sep 17 00:00:00 2001 From: Mitch Miller Date: Thu, 30 May 2024 22:24:16 -0400 Subject: [PATCH 1/3] render an atom with a valence set --- pom.xml | 2 +- .../molwitch/renderer/NchemicalRenderer.java | 4 ++++ .../molwitch/renderer/TestRendering.java | 20 +++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7e252c0..edac859 100644 --- a/pom.xml +++ b/pom.xml @@ -24,7 +24,7 @@ gov.nih.ncats molwitch-renderer - 1.0.16 + 1.0.17 Molwitch Renderer diff --git a/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java b/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java index 9a8a64b..e22503b 100644 --- a/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java +++ b/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java @@ -936,6 +936,10 @@ public void renderChem(Graphics2D g9, Chemical c, int x, int y, int width, int h } } + //MM experiment 30 May 2024 + if(ca.getValence().isPresent()) { + forceDraw = true; + } if (!attatch.equals("")) { attachments.add(attatch); if (ca.getBondCount() == 0) { diff --git a/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java b/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java index 28ce692..bf4bc38 100644 --- a/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java +++ b/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java @@ -372,5 +372,25 @@ public void testBoundCalc() throws Exception{ }); } + @Test + public void renderSingleAtom0Valence() throws Exception{ + ChemicalRenderer renderer = new ChemicalRenderer(); + String name = "4XYU5U00C4"; + Chemical c = Chemical.parseMol(new File(getClass().getResource("/" + name + ".mol").getFile())); + File renderedImageFile = new File(MolWitch.getModuleName() +"_" + name + ".png"); + ImageIO.write(renderer.createImage(c, 600), "PNG", renderedImageFile); + Assert.assertTrue(renderedImageFile.length()> 4000); + } + + @Test + public void renderSingleAtomNoValence() throws Exception{ + ChemicalRenderer renderer = new ChemicalRenderer(); + String name = "4XYU5U00C4_no_valence"; + Chemical c = Chemical.parseMol(new File(getClass().getResource("/" + name + ".mol").getFile())); + File renderedImageFile =new File(MolWitch.getModuleName() +"_" + name + ".png"); + ImageIO.write(renderer.createImage(c, 600), "PNG", renderedImageFile); + Assert.assertTrue(renderedImageFile.length()> 4000); + } + } From 156cc40bb6e40b712df7d3e83023b10a4a91d7f6 Mon Sep 17 00:00:00 2001 From: Mitch Miller Date: Thu, 30 May 2024 22:44:28 -0400 Subject: [PATCH 2/3] change output path in unit test added new molfiles for unit test --- .../gov/nih/ncats/molwitch/renderer/TestRendering.java | 10 ++++++---- src/test/resources/4XYU5U00C4.mol | 6 ++++++ src/test/resources/4XYU5U00C4_no_valence.mol | 6 ++++++ 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 src/test/resources/4XYU5U00C4.mol create mode 100644 src/test/resources/4XYU5U00C4_no_valence.mol diff --git a/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java b/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java index bf4bc38..49c4dc5 100644 --- a/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java +++ b/src/test/java/gov/nih/ncats/molwitch/renderer/TestRendering.java @@ -374,20 +374,22 @@ public void testBoundCalc() throws Exception{ @Test public void renderSingleAtom0Valence() throws Exception{ + String folder ="images\\"; ChemicalRenderer renderer = new ChemicalRenderer(); String name = "4XYU5U00C4"; - Chemical c = Chemical.parseMol(new File(getClass().getResource("/" + name + ".mol").getFile())); - File renderedImageFile = new File(MolWitch.getModuleName() +"_" + name + ".png"); + Chemical c = Chemical.parseMol(new File(getClass().getResource( "/" + name + ".mol").getFile())); + File renderedImageFile = new File(folder + "/" + MolWitch.getModuleName() +"_" + name + ".png"); ImageIO.write(renderer.createImage(c, 600), "PNG", renderedImageFile); Assert.assertTrue(renderedImageFile.length()> 4000); } @Test public void renderSingleAtomNoValence() throws Exception{ + String folder ="images\\"; ChemicalRenderer renderer = new ChemicalRenderer(); String name = "4XYU5U00C4_no_valence"; - Chemical c = Chemical.parseMol(new File(getClass().getResource("/" + name + ".mol").getFile())); - File renderedImageFile =new File(MolWitch.getModuleName() +"_" + name + ".png"); + Chemical c = Chemical.parseMol(new File(getClass().getResource( "/" + name + ".mol").getFile())); + File renderedImageFile =new File(folder + MolWitch.getModuleName() +"_" + name + ".png"); ImageIO.write(renderer.createImage(c, 600), "PNG", renderedImageFile); Assert.assertTrue(renderedImageFile.length()> 4000); } diff --git a/src/test/resources/4XYU5U00C4.mol b/src/test/resources/4XYU5U00C4.mol new file mode 100644 index 0000000..474308c --- /dev/null +++ b/src/test/resources/4XYU5U00C4.mol @@ -0,0 +1,6 @@ + + Marvin 01132105152D + + 1 0 0 0 0 0 999 V2000 + 1.7167 -1.6208 0.0000 C 0 0 0 0 0 15 0 0 0 0 0 0 +M END \ No newline at end of file diff --git a/src/test/resources/4XYU5U00C4_no_valence.mol b/src/test/resources/4XYU5U00C4_no_valence.mol new file mode 100644 index 0000000..af81d98 --- /dev/null +++ b/src/test/resources/4XYU5U00C4_no_valence.mol @@ -0,0 +1,6 @@ + + + + 1 0 0 0 0 0 0 0 0 0999 V2000 + 7.9279 -7.5332 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0 +M END From 6552b2bc9db55eec4512da33fef8a8ff4a3cda01 Mon Sep 17 00:00:00 2001 From: Mitch Miller Date: Fri, 31 May 2024 19:53:54 -0400 Subject: [PATCH 3/3] tweaked method of determining whether to display atoms. When an atom has 0 bonds, always display. (We cannot rely on 'valence' because it's always present.) --- .../java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java b/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java index e22503b..3a986f0 100644 --- a/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java +++ b/src/main/java/gov/nih/ncats/molwitch/renderer/NchemicalRenderer.java @@ -937,7 +937,7 @@ public void renderChem(Graphics2D g9, Chemical c, int x, int y, int width, int h } //MM experiment 30 May 2024 - if(ca.getValence().isPresent()) { + if(ca.getBonds().size()==0) { forceDraw = true; } if (!attatch.equals("")) {