Molsimilarity

Question types ::: qtype_molsimilarity
Maintained by Louis Plyer, Céline Perves, Gilles MARCOU, Célien Jacquemard
Moodle plugin allowing the teacher to ask a chemistry related question by drawing the expected answer. The student will answer by drawing the response.
Latest release:
67 sites
104 downloads
12 fans
Current versions available: 3

Moodle plugin allowing the teacher to ask a chemistry related question in which the expected answer is a chemical structure. The student will answer by drawing the response. The specificity of the plugin is that is allows for soft grading: the grade is computed based on the similarity between the expected and the student's answer. Thus, partially correct answers are adequately awarded.

The similarity between the expected, and the student's answer is computed through a REST server. The server software is provided within this plugin, and it can be configured to fine tune how the similarity measures are computed. The REST server computes the similarity based on ISIDA molecular descriptors and Tanimoto coefficient. The teacher has some control over the way the similarity is translated into a grade, allowing to adjust the level of exigency of a given question.

Both lone pairs and radicals are taken into account. Additionally, if the option is selected, and the two molecules to compare are similar, the stereochemistry will be also taken into account in the grading process, thanks to the use of the INCHI.


Installation

You can move the location of the Api_server directory, but you shoudn't move the individual elements inside it (inchi-1/inchi-1.exe, rest_api_multi, t0t3l2u4FCUR.xml and the temp_stock subdirectory need to be in the same directory).

The method of fragmentation used to create the ISIDA descriptors can be changed by modifying the file Api_server/t0t3l2u4FCUR.xml. The documentation about ISIDA descriptors can be found in the subdirectory Api_server.


Under Linux please use rest_api_multi, under Windows, please use rest_api_multi.exe

The default port used by the server is 9080. Once installed, the ISIDA Server Url (including port) can be modified in the admin settings page for the call from moodle (Administration of the website -> Plugins -> Question type -> Molsimilarity -> ISIDA Server Url.).

If modified, the port must be modified on the server side as well, by assigning the port value to the variable portIsida in a shell or by the use of the option '--Port='.

For security reasons, the plugin uses JSON Web Tokens (JWT) to securize the transaction between the API and Moodle. Therefore, if you don't use the API server in local, you are highly encouraged to modify the key used to encode the signature of the JWT. It can be modified in the Administrator plugin parameters. Administration of the website -> Plugins -> Question type -> Molsimilarity -> ISIDA Server KEY. In order for the request to the server to be accepted, the key on server side must be identical, and must be modified in Api_server/JWTKEY.txt. If you wish to use JWT, you need to use the option '--JWTNEEDED' while launching the application.

If you wish to launch the given server in local, without modifying the parameters, please use the following command in a shell: ./rest_api_multi > /dev/null (/dev/null to remove the warnings)


API code

If you wish to have access to the uncompiled files of the API, please send an email to Gilles Marcou: g.marcou@unistra.fr


Copyright

Louis Plyer louis.plyer@unistra.fr
Gilles Marcou g.marcou@unistra.fr
Céline Perves cperves@unistra.fr
Rachel Schurhammer rschurhammer@unistra.fr
Alexandre Varnek varnek@unistra.fr

Licence

GNU GPL v3 or later, IUPAC/InChI-Trust Licence No.1.0

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2

Contributors

Louis Plyer (Lead maintainer)
Céline Perves: Development
Gilles MARCOU: Development
Célien Jacquemard: Development
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Céline Perves
    सोम, 14 अक्टोबर 2024, 8:01 PM
    Hello,
    What is the command line used to launch ISIDA server
    What are the different parameters entered in molsimilarity plugin general settings (serverurl,...)
    What did you put in curl settings curlsecurityblockedhosts and curlsecurityallowedport
  • Pawel Gadalinski
    मङ्गल, 29 अक्टोबर 2024, 7:04 PM
    hi
    Céline Perves.
    Thanks you 4 supporting. NOw is working
  • Céline Perves
    बिहि, 31 अक्टोबर 2024, 5:25 PM
    Nice, thanks you for the feedback
  • Pawel Gadalinski
    मङ्गल, 18 मार्च 2025, 9:23 PM
    hi again. How can i uninstall plugin ? i need upgrade to moodle 4.5 but first have to delete from moodle 4.4 ... but no visable option to uninstall.
  • Pawel Gadalinski
    बुध, 19 मार्च 2025, 3:03 PM
    i have error: core_plugin/err_cannot_uninstall_plugin
  • Céline Perves
    बुध, 19 मार्च 2025, 3:16 PM
    Hello,
    if you have instances of molsimilarityquestions you must delete them before uninstalling the plugin, this Moodle behaviour for question type plugins
    Note that this is not necessary to uninstall 4.1 molsimilarity plugin to migrate to 4.5 plugin version, the plugin update is took into account
  • Pawel Gadalinski
    बुध, 19 मार्च 2025, 7:06 PM
    thank You i will try. I have error500 after upgrade 4.4-> 4.5 and moodle site stop working... Serarching in whole added plugins
  • Céline Perves
    बुध, 19 मार्च 2025, 7:08 PM
    maybe come from other plugin , I'll contact you
  • Pawel Gadalinski
    बुध, 19 मार्च 2025, 7:10 PM
    is possible molsimilarity plugin crash my site ? or should i searching in another plugins ?
  • Céline Perves
    बुध, 19 मार्च 2025, 7:30 PM
    I had no troubles migrating from 4.1 to 4.5 version, Have you try to look in the apache/ngix error logs?Have you old 2.2 assignments, this block the moodle update?
  • Pawel Gadalinski
    बिहि, 20 मार्च 2025, 6:23 PM
    now i have error while updateing 4.4->4.5

    Stack trace:
    line 33 of /question/type/molsimilarity/db/messages.php: Error thrown
    line 692 of /lib/messagelib.php: call to require()
    line 487 of /lib/messagelib.php: call to message_get_providers_from_file()
    line 629 of /lib/upgradelib.php: call to message_update_processors()
    line 771 of /lib/upgradelib.php: call to upgrade_component_updated()
    line 1937 of /lib/upgradelib.php: call to upgrade_plugins()
    line 719 of /admin/index.php: call to upgrade_noncore()
  • Pawel Gadalinski
    बिहि, 20 मार्च 2025, 6:33 PM
    hurray. i have solution.

    1 . i removed folder moodle/question/type/molsimilarity (save copy)
    2. succesful upgrade moodle 4.4-> 4.5
    3. past copied folder molsimilarity to moodle/question/type/
    4. upgrade plugin molsimilarity by standard procedure

    and working !
  • Céline Perves
    बिहि, 20 मार्च 2025, 6:39 PM
    the standard procedure is to replace old plugin code by new one after having removed the old code
    In the case of molsimilarity plugin a lot of javascript module files have changed (new one, old one removed) that can explain errors if you only copy new code under old one not deleted before
    I'll put a warning concerning this in the readme
    Glad it works for you and thanks for your return
  • Pawel Gadalinski
    बिहि, 20 मार्च 2025, 10:16 PM
    i my case , i upgrade to moodle 4.4.7 and upgrade plugin molsimilarity to 1.4.3 (2024061700) . Nothing to do with folders. Only by web panel administrator in moodle.
    when i have moodle 4.4.7 cannot update molsimilarity to 1.5.0 (2025022100) - got error - wrong version moodle.

    So hgave to update moodle to 4.5 . And when upgrading i have error above (line 33 of /question/type/molsimilarity/db/messages.php: Error thrown) . Got error without making any changes to the files .

    To fix that problem solution is above

  • Céline Perves
    शुक्र, 21 मार्च 2025, 6:47 PM
    Thank you for your return
    It's seems to come from a depreacted constant removed beetween 4.4.x and 4.5.x but in the 1.5.0 version of the plugin I remove that constant
    I'll try to reproduce the error to prevent this to arrive
1 2
Please login to post comments