grief from Marvin 5.3

User 870ab5b546

02-03-2010 22:30:54

We have just upgraded to JChem and Marvin 5.3.  We are having lots of problems.


(1) I have created customized templates, such as configurationNormal.xml, including a customized generic structures toolbar, generic.csmol.  I replace the default delivered copy jchem/marvin/chemaxon/marvin/templates/generic.csmol with a symlink to my version.  The configuration template works fine, except instead of my new generic toolbar template, it loads multiple copies of the ChemAxon toolbar.  I'm attaching pictures of the Marvin 5.2 version and the Marvin 5.3 version as well as the configuration file.  This forum won't let me make more than three attachments, so I pasted generic.csmol below. 


Here is the code we use to launch the Marvin applet:


    msketch_begin("/nosession/marvin", panelWidth, panelHeight);
if (isMechanism) {
msketch_param("menuconfig", "/nosession/configMech");
} else if (isSynthesis) {
msketch_param("menuconfig", "/nosession/configSynth");
} else if (is3D) {
msketch_param("menuconfig", "/nosession/config3D");
} else {
msketch_param("menuconfig", "/nosession/configNormal");
}
msketch_param("molbg", "#ffffff");
msketch_param("ttmpls1", "*Generic*chemaxon/marvin/templates/generic.csmol");
if (is3D) {
msketch_param("xtmpls", "chemaxon/marvin/templates/conformers.t");
} else {
msketch_param("tmpls6", ":Conformers:chemaxon/marvin/templates/conformers.t");
}
msketch_param("abbrevgroups", "/nosession/marvin/chemaxon/marvin/templates/ACE.abbrevgroups");

(In Marvin 5.2, all that was needed for the abbrevgroups file was the file name, but apparently in Marvin 5.3, we need the whole absolute path.)


Please tell me how to replace your generic template with mine in Marvin 5.3, like I could do in Marvin 5.2.  (I saw something in your documentation about the template being in the jar file.  Does that mean I can't replace it, like I could in Marvin 5.2?  If so, I protest.)


(2) If I open the detached sketcher window upon launching Marvin 5.3, and then I close it, I do not get the ordinary attached sketcher window back.  The parent Marvin window remains unchanged, showing only View and Help menus and no toolbars.  If I click on the canvas, I get back the detached window.  Not only is this behavior is different from Marvin 5.2.6, it is very limiting.  Please fix.


(3) In JChem 5.2, there is one jchem jar file, called jchem.jar, in jchem/lib/ .  In JChem 5.3, there are 16 additional jar files whose names begin with jchem.  In JChem 5.2, there is one marvin jar file in jchem/marvin/ .  In JChem 5.3, there are 39 MarvinBeans-* jar files in jchem/lib/ .  Without symlinks to at least some of these jar files, we get runtime NoClassDefFound errors.  Do we need symlinks to ALL of the jar files?  Can't you make our lives easier by combining them all into a single jar file?


My version of generic.smol:


Cyclopentane
class M*03239812502D

5 5 0 0 0 0 0 0 0 0999 V2000
Z4kV-H5W60
96iV9s3W60
RsiVZX1W60
hIlVZX1W60
z2mV9s3W60
10201
20301
30401
40501
10501
M END
> <rotation.unit>
90
$$$$
Cyclohexane
class M*03239812442D

6 6 0 0 0 0 0 0 0 0999 V2000
000WGS2W60
iuzV8E1W60
iuzVun+V60
000WmZzV60
K72Wun+V60
K72W8E1W60
10201
20301
30401
40501
50601
10601
M END
> <rotation.unit>
90
$$$$
Cycloheptane
class M*09140910342D

7 7 0 0 0 0 999 V2000
2tzV2P3W60
v2yV6X2W60
DcxVSZ0W60
bsyVf++V60
Vt+Vf++V60
t70WSZ0W60
Bh-V6X2W60
10201
20301
30401
40501
50601
60701
70101
M END
> <rotation.unit>
90
$$$$
Benzene
class M*03239812442D

6 6 0 0 0 0 0 0 0 0999 V2000
000WGS2W60
iuzV8E1W60
iuzVun+V60
000WmZzV60
K72Wun+V60
K72W8E1W60
10201
20302
30401
40502
50601
10602
M END
> <rotation.unit>
30
$$$$

User 870ab5b546

03-03-2010 20:52:38

There also appears to be a bug in how a ttmpls parameter is read.  When I have this line in my Marvin initiation:


msketch_param("ttmpls1", "chemaxon/marvin/templates/conformers.t");

I get an error message, "Error reading template set location: onformers.t" (note the missing letter "c"), and MarvinSketch fails to launch.


If I use this line instead:



msketch_param("xtmpls", "chemaxon/marvin/templates/conformers.t");


I do not get the error message.  However, the conformers templates do NOT appear in the templates bar.

ChemAxon 909aee4527

04-03-2010 08:53:06

Hi Bob,


yes, unfortunately there are known problems with the template parameters, they don't work well on our site either.


They are already fixed and waiting for the new release.


We are sorry for the inconveniences.


Kind regards,
Judit

User 870ab5b546

04-03-2010 13:44:20

Thanks.  I will wait for the next version before I complain any more about the templates.  Meanwhile, can you answer (2) and (3) above?

ChemAxon 7c2d26e5cf

05-03-2010 19:14:33


(2) If I open the detached sketcher window
upon launching Marvin 5.3, and then I close it, I do not get the
ordinary attached sketcher window back.  The parent Marvin window
remains unchanged, showing only View and Help menus and no toolbars.
 If I click on the canvas, I get back the detached window.  Not only is
this behavior is different from Marvin 5.2.6, it is very limiting.
 Please fix.


We will fix it.


(3) In JChem 5.2, there is one jchem jar file, called jchem.jar, in
jchem/lib/ .  In JChem 5.3, there are 16 additional jar files whose
names begin with jchem.  In JChem 5.2, there is one marvin jar file in
jchem/marvin/ .  In JChem 5.3, there are 39 MarvinBeans-* jar files
in jchem/lib/ .  Without symlinks to at least some of these jar files,
we get runtime NoClassDefFound errors.  Do we need symlinks to ALL of
the jar files?  Can't you make our lives easier by combining them all
into a single jar file?


In 5.3, Marvin Beans API has been devided into sevaral jars (MarvinBeans.jar + MarvinBeans-*.jar). But this change does not influence the usage of the API. You have to give only MarvinBeans.jar in the CLASSPATH, The manifest file of MarvinBeans.jar includes information about the other jars, so you don't have to enumerate them.
Currently, MarvinBeans.jar includes only the core API (without GUI) and additional modules (like GUI, calculations) are located in the new jars.


The situation is similar in JChem API. Earlier, everything was wrapped into the jchem.jar (also the Marvin Beans API), currently you find the same classes in the following jars: MarvinBeans.jar, MarvinBeans-*.jar, jchem.jar, jchem-*.jar.


I do not know how you operate with symbolic links. Can you tell more about it?


User 870ab5b546

05-03-2010 20:49:45










Tamas wrote:



In 5.3, Marvin Beans API has been devided into sevaral jars (MarvinBeans.jar + MarvinBeans-*.jar). But this change does not influence the usage of the API. You have to give only MarvinBeans.jar in the CLASSPATH, The manifest file of MarvinBeans.jar includes information about the other jars, so you don't have to enumerate them.


Currently, MarvinBeans.jar includes only the core API (without GUI) and additional modules (like GUI, calculations) are located in the new jars.


The situation is similar in JChem API. Earlier, everything was wrapped into the jchem.jar (also the Marvin Beans API), currently you find the same classes in the following jars: MarvinBeans.jar, MarvinBeans-*.jar, jchem.jar, jchem-*.jar.


I do not know how you operate with symbolic links. Can you tell more about it?


 



Our directory structure is as follows.  We have /home/aceorg/aceorg/jchem/ , which contains all JChem and Marvin 5.3.1 files, and /home/aceorg/aceorg/DEV-2.2/ which contains all ACE code.  DEV-2.2/ contains epoch-plugin/ and courseware/ .  epoch-plugin/ and courseware/ contain build/ , src/ , lib/ , conf/, and web/ .  The JSP files of our Web application are in web/ .  web/ contains WEB-INF/lib/ , which contains the symbolic links to any jar files that are needed for the web application to run.  


Before JChem 5.3, the only JChem- or Marvin-related symlink that we needed in epoch-plugin/web/WEB-INF/lib was to ~jchem/lib/jchem.jar .  When we upgraded to JChem 5.3, we started getting runtime NoClassDefFound exceptions for classes like Standardizer and MolAtom, even though the source code compilation ran fine.  When I put symlinks in WEB-INF/lib to *all* of the jchem* and Marvin* jar files in ~jchem/lib/ , the NoClassDefFound exceptions went away.  I haven't tried removing the symlinks again recently.  


We are running Tomcat 6.

ChemAxon 7c2d26e5cf

09-03-2010 18:37:07

I have consulted with JChem guys (they are experts in Tomcat questions). They suggested the following solutions.


- Write a script that generates symbolic link for each jar file.


- Copy directly all jars into the WEB-INF/lib (instead of symlinks).

User 870ab5b546

09-03-2010 18:48:10

You suggested above that we should still need only jchem.jar in WEB-INF/lib, and that is what we had prior to JChem 5.3.  Now, though, we need symlinks to about 40 files -- all those that begin with jchem* and MarvinBeans* -- to avoid runtime NoClassDefFound errors.  


Whether we have symlinks or the original files is inconsequential.  And generating all of the symlinks is not difficult, it can be done with just two commands.  


The only problem it creates is one of maintainability.  It is more difficult to maintain a program with 40 symlinks/files in WEB-INF/lib than it is to maintain a program with just one symlink/file in WEB-INF/lib.  


The fact that you think we should need only jchem.jar, but we find that we need explicit references to every jar file, suggests a problem.  

ChemAxon 7c2d26e5cf

12-03-2010 16:57:27

Rendering of JChem API into several small jars is the first step in a long way. We are focusing on the modularization of the API. Like in applet, only required jars are loaded when you use the API. Currently, there are a lot of cross references among modules but we will release them as we are refactoring the code.

User 870ab5b546

26-05-2010 14:26:24










Bob wrote:
(1) I have created customized templates, such as configurationNormal.xml, including a customized generic structures toolbar, generic.csmol.  I replace the default delivered copy jchem/marvin/chemaxon/marvin/templates/generic.csmol with a symlink to my version.  The configuration template works fine, except instead of my new generic toolbar template, it loads multiple copies of the ChemAxon toolbar.  










Judit wrote:

Hi Bob,


yes, unfortunately there are known problems with the template parameters, they don't work well on our site either.


They are already fixed and waiting for the new release.


We are sorry for the inconveniences.


Kind regards,
Judit



Are these problems fixed in Marvin 5.3.3?  They were still present in Marvin 5.3.2.

ChemAxon 5433b8e56b

02-06-2010 18:09:47

Hi Bob,


according to our bug tracking system, the issue is fixed in 5.3.2. but there can be misunderstandings, or use cases we have not tested well. As far as i know, we have not modified the Template handling after 5.3.2. yet.


Can you clarify the situation for me with the toolbar problem? What are the parameters you set for the applet, and where are your template files are stored?


Best regards,
Istvan

User 870ab5b546

03-06-2010 00:12:46

The generic toolbar seems to work properly now in Marvin 5.3.3.  However, see this post for new problems related to toolbars in the detached sketcher window.  And see this post for a continuing unresolved complaint about users no longer being able to detach and reattach the sketcher window themselves.  (This feature was present previously, and you removed it.)

ChemAxon 5433b8e56b

03-06-2010 13:19:18

Hi Bob,


i am happy about at least this one is working. I will check the cited topics also, and will give you answers for your questions and information about the status of the issues.


Regards,
Istvan