metabolizer setSubstrate API

User 762d73597f

09-12-2013 15:52:48

Anybody have ideas about what the metabolizer API means by "Identifier" in the setSubstrate(substrate, identifier) call.  Doc doesn't say...


setSubstrate(Molecule substrate, java.lang.String identifier)
          Sets the substrate molecule to be metabolized.


setSubstrate
public void setSubstrate(Molecule substrate,
                         java.lang.String identifier)
                  throws MetabolizerExceptionSets the substrate molecule to be metabolized.


Parameters:
substrate - the substrate molecule to metabolize
identifier - the unique substrate identifier

ChemAxon d76e6e95eb

09-12-2013 16:21:44

Metabolizer's reaction engine generates a specific identifier for each metabolite - called synthesis code - which encodes the formation steps. For example:


AldehydeOxidation(PrimaryAlcoholOxidation(BenzylicHydroxylation(toluene):1):1):1


Where toluene is the identifier of the original substrate. This identifier does not have to be a compound name, it can be a corporate compound identifier as well, such as PG-23-47. The sznthesis code of a metabolite then can look like:


AldehydeOxidation(PrimaryAlcoholOxidation(BenzylicHydroxylation(PG-23-47):1):1):1


When no identifier is given, the command line tool and the GUI just uses an auto-number as an identifier, such as


AldehydeOxidation(PrimaryAlcoholOxidation(BenzylicHydroxylation(1):1):1):1


 


The trailing :1):1 numbers can be different from 1, when more than one metabolite is produced by a transformation step. Synthesis code is originated from Reactor, you can see more about in this forum topic.


So the identifier can be any string value, but ideally it is the short name/code/identifier of your substrate and it will be part of the synthesis codes of the enumerated metabolites.