I'm trying to use CML for my bachelor's project, for which I'm making a virtual laboratory.
I wrapped the jumbo.jar in my reaction plugin, but I'm not quite sure where to start extending the functionality of jumbo.
The structure I had thought of myself before noticing CML did not only include XML specification is as follows:
-A workspace can contain a number of mixtures
-A mixture contains a a number of substances with a certain mass
-A substance contains a list of atoms
-An atom keeps his own information and the bonds which it has(as a list of atoms)
Using functional groups to determine which reactions would take place seemed like a relatively simple process.
At the start of an experiment the reactionsystem would:
-take a look at the mixtures
-determine the present functional groups,
-extract the reactionrules which use these groups
-using environment parameters and limiting factors to determine which rules will take place
-use the rules in on the present substances to create the reactionproducts
-create an updated mixture with the newly formed substances along with a propagation matrix to determine changes in quantity over time, or do these steps at each time interval so that the changes are not determined by the propagation matrix but values calculated at that time.
I am not quite sure where to start with the implementation of this system.
Most importantly; is jumbo suitable to implement something like the simple system I described above?
Where do I find the classes to create a CMLSubstance from a XML document?
Is the execution of a reaction supported?
Could you point me to documentation or and open-source implementation which could help me figure this out?
Thanks for your help and all the work you have put into this great project.