using marvin applet : returns mol file of created molecule

User 247a2c5018

21-07-2009 16:05:47

Dear support,


 


I try to replace JME applet by marvin applet :


Fisrt I have 2 problems :


- the elements table are not represented because of my htaccess rules :


RewriteRule ^.*\.zip sdfile.php [QSA,L]


 


=> all zip files of marvin packages are not read because of the rule (elements.zip)


 


How to do?


 


- second problem that I don't see in your help :


which function to use to return MDL mol file of created (drawn) molecule like with JME (http://www.molinspiration.com/jme/doc/jme_functions.html) : public void JME.molFile(void)


 


Thanks for your help!


 


Kiet TRAN

ChemAxon 909aee4527

22-07-2009 08:08:53

Dear Kiet TRAN,


we need some time to investigate the first question. It is possible that we have to wait for a colleague who is out of office this week.


For the second question:
we have an API to retrieve the molecule in MOL file format, though it is returned as a String that you can write to a file.


http://www.chemaxon.com/marvin/help/developer/applets/api/JMSketch.html#getMol(java.lang.String)


This is an example of usage, though covers more than you need: http://www.chemaxon.com/marvin/examples/applets/sketch/js_io.html


Kind regards,
Judit

ChemAxon 5433b8e56b

22-07-2009 11:04:19

Dear Kiet TRAN,


For the first question i can suggest you to extend your rewriting rules to not match any file in marvin applet package.


If i think well you are using Apache webserver, so you could use a RewriteCond before the rule in your configuration for example like this:


RewriteCond {%REQUEST_URI} !^marvin_applet_package_uriwhere the marvin_applet_package_uri is the relative path from your site's document root to the directory of your Marvin Applet package.


Bets regards,
Istvan

User 247a2c5018

22-07-2009 13:28:37

Thank you for your help


The real rule is :


 


RewriteCond %{REQUEST_URI} !marvin


 


and not  : RewriteCond {%REQUEST_URI} !^marvin


 


 


Kiet

User 247a2c5018

22-07-2009 13:39:07

In apache log, I have these warning :


 


 File does not exist: /data-dev/abonne/marvin/META-INF
[Wed Jul 22 15:34:51 2009] [error] [client 192.XX] File does not exist: /data-dev/abonne/marvin/META-INF
[Wed Jul 22 15:35:20 2009] [error] [client 192.XX] File does not exist: /data-dev/abonne/marvin/chemaxon/marvin/dict.class
[Wed Jul 22 15:35:20 2009] [error] [client 192.XX] File does not exist: /data-dev/abonne/marvin/plugins/plugins.properties


 (70014)End of file found: mod_mime_magic: read failed /www-data-dev/abonne/marvin/chemaxon/isotopes.data


Have you seen already this log?

ChemAxon 5433b8e56b

22-07-2009 13:44:02

Good to hear, thanks for the refinement.


Just a question: if i remember well, the ^ character in regexp matches at the begining of the expression, is it possible that the relative path of your applet package contains special chars, and therfore not matched? If i am right, your RewriteCond will match for any REQUEST_URI contains the string marvin, for example the file example.org/datadir/marvinmolfiles.zip too.


Best regards,
Istvan

ChemAxon 5433b8e56b

22-07-2009 14:34:45

About the warning:


The META-INF searching could be a missconfiguration of the codebase for the applet. It should search the META-INF directory in appletlaunch.jar, or in jmarvin.jar depending on the codebase.


The dict.class searched by the classloader, while loading a property file for Marvin.


The plugins.properties file is searched because it is possible to add third party calculator plugins for Marvin, and that file is responsible to contain the third party plugins' properties. More information on this topic can be found at http://www.chemaxon.com/marvin/examples/plugin-integration/index.html


The last error message seems to be an Apache configuration problem, Apache use mime magic to determine mime-types for files, and maybe treats the file somthing else than it is and run into an internal error. Due the mod_mime_magic cause the lack of performace of the webserver, i suggest you to turn mod_mime_magic off unless you do not need it for special ocassions.


Regards,
Istvan

User 247a2c5018

22-07-2009 14:55:07


<For the second question:
<we have an API to retrieve the molecule in MOL file format, though it is returned as a String that <you can write to a file.


http://www.chemaxon.com/marvin/help/developer/applets/api/JMSketch.html#getMol(java.lang.String)


<This is an example of usage, though covers more than you need: http://www.chemaxon.com/marvin/examples/applets/sketch/js_io.html


<Kind regards,
<Judit


 


OK it's works :


 


//var smile = document.JME.molFile();
var molfile = document.MSketch.getMol("mol");
document.formulaire.requ_smile.value = molfile;


 


i'm looking for the same function that jmeFile() : (http://www.molinspiration.com/jme/doc/jme_functions.html)


 


    //var jmef = document.JME.jmeFile();
    var jmef = document.MSketch.setMol();
    document.formulaire.requ_structure.value = jmef;


 


I try with setMol() but it doesn't work.


have you the solution?


ChemAxon 909aee4527

23-07-2009 11:42:21

No, unfortunately we do not have JME format support.

User 247a2c5018

03-08-2009 11:29:00

Is there any function to reset the applet?

ChemAxon 7c2d26e5cf

05-08-2009 23:09:34

No. there is not any method in JMSketch/JMView API to reset all setting of the applet (or reinitalize it).


But you can reset the canvas. Call JMSketch.setMol(String) or JMView.setM(int,String) method to update the molecule in Marvin. If the new molecule is an empty one, actually it clear the canvas.

User 247a2c5018

08-06-2010 14:41:47

Dear support,


 


I have this warning in the apache log :


 


File does not exist: /www-data-dev/abonne/JMViewLaunch


 


the php code calling marvin :


 



<script LANGUAGE="JavaScript1.1" SRC="marvin/marvin.js"></script>


<script LANGUAGE="JavaScript1.1">


<!--


// marvin_jvm = "builtin"; // "builtin" or "plugin"


mview_begin("marvin/", 250, 120); //arguments: codebase, width, height


// you could also use the mview_begin("../../..", 200, 200, true ); function call to load the applet without splash screen.


<?php if ($tabstru[$ligdata[$i]["STRU_ID"]]!='') { ?>


mview_param("mol", "<?php echo $tabstru[$ligdata[$i]["STRU_ID"]];?>");


<?php } ?>


mview_param("molbg", "#ffffff");


mview_param("rendering", "wireframe");


mview_end();


//-->


</script>



 

User 247a2c5018

08-06-2010 16:07:47

This warning appears only when i use google chrome .

ChemAxon 7c2d26e5cf

10-06-2010 16:28:52

It would help a lot if we can see what string has been transfered exactly by mview_param("mol",...) when this issue occured.


Please attach the proper part of the generated html source.


I assume that the structure string is not encoded well and that causes problem to Chrome when evaluate the expression.

User 247a2c5018

11-06-2010 08:05:55

mview_param("mol", "\n"+" -IDBS- 042120101113\n"+"\n"+" 5 4 0 0 0 0 0 0 0 0999 V2000\n"+" 3.1000 -5.5000 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 2.3833 -5.9167 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 0.9625 -5.9167 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 0.2500 -6.3375 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 1.6750 -6.3292 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 2 1 3 0 0 0\n"+" 3 5 1 0 0 0\n"+" 4 3 2 0 0 0\n"+" 5 2 1 0 0 0\n"+"M END\n"+"");


 


mview_param("mol", "\n"+" -IDBS- 042720091552\n"+"\n"+" 5 4 0 0 0 0 0 0 0 0999 V2000\n"+" -0.9083 -2.2125 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n"+" -1.6208 -1.8000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" -0.9083 -3.0375 0.0000 N 0 0 0 0 0 0 0 0 0 0 0 0\n"+" -1.6208 -0.9750 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" -2.3333 -2.2125 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0\n"+" 2 1 2 0 0 0\n"+" 3 1 1 0 0 0\n"+" 4 2 1 0 0 0\n"+" 5 2 1 0 0 0\n"+"M END\n"+"");

ChemAxon 7c2d26e5cf

15-06-2010 14:14:37

Thanks for sharing your example.


We will check how it works under the reported platform.

ChemAxon 5433b8e56b

24-06-2010 09:44:39

Hi,


I have checked the example you gave to us with Windows 7, Google Chrome5.0.375.70, and Java1.6.0_u20, on an Apache web server, with Marvin 5.3.3, and it is working for me, and loads the molecule.


I can assume the following: you are using different marvin.js and applet versions, or a customized marvin.js. Marvin 5.3.0 and newer versions are containing the JMViewLaunch class in the appletlaunch.jar file, under chemaxon.marvin.applet package, if you are using a customized marvin.js file, then it may use a wrong CODE and/or ARCHIVE parameter for the applet. The correct code parameter is chemaxon.marvin.applet.JMViewLaunch, and the correct ARCHIVE parameter is appletlaunch.jar unfortunatelly there is a mistake in our documentation in relation to this, but i'll fix it. But it is very interesting why it causes this issue only with Chrome, could it be a cache problem, or you have tried to clean the browser and java cache?


If i am wrong, and/or you have further informations, or the solution, then don't hasitate to share your experiences with us. If the problem persists, then the version of the operating system, the used java, Chrome and Marvin, would be also useful for further debugging.


Regards,
Istvan