I am using Chemical Terms in Instant JChem and would like to display the % netural species at pH 2, PH 7 and pH 10. Using msDistr("pH", number) I can display the % of one of the microspecies, however number is not always the neutral species. Is there any way of setting this to be the neutral species, or finding which number refers to the neutral species? For example in MarvinSketch I can use tools, protonation, pka and the neutral species is always molecule 1 (in the examples I have tried). So I can read the values directly there - see attachment.
Use the microspecies() Chemical Terms function (or "ms()" for short) for retrieving the microspecies belonging to the distribution value.
evaluate -e "msDistr('7.4', 0)" "NCC(O)=O"
evaluate -e "ms('7.4', 0)" "NCC(O)=O"
evaluate -e "msDistr('7.4', 1)" "NCC(O)=O"
evaluate -e "ms('7.4', 1)" "NCC(O)=O"
evaluate -e "msDistr('7.4', 2)" "NCC(O)=O"
evaluate -e "ms('7.4', 2)" "NCC(O)=O"
The distribution of "[NH3+]CC([O-])=O" is 98.57, the distribution of "NCC([O-])=O" is 1.42, etc.
The msDistr() and the ms() functions can be also used in one expression, separated with semicolon:
evaluate -e "msDistr('7.4', 0);ms('7.4', 0)" "NCC(O)=O"
The number of microspecies can be determined with the microspeciesCount() CT function:
evaluate -e "msCount()" "NCC(O)=O"
Thanks for you help with these Chemical Terms.
The problem I have is that I only want to display the % distribution of the neutral species at 3 pH's and the distribution value for the netural species will change with pH. So for example if I have an SD file with my structures in and I import this into Instant JChem and then create 3 chemical terms columns for msDistr('2', 0), msDistr('7', 0) and msDistr('10', 0). Then I will display the % distribution at 3 pH's but the species that has the largest % at each pH will probably not be the the neutral species. So I will need to do a lot of additional work to discover the % distribution of the neutral species at each pH. For example in if I use the molecule you did below, I will have to look at 8 species at each pH before I find the neutral species pH.
At the moment the only way i can do this simply is to view the column of values displayed for each species in MarvinSketch, as I showed in my example below, but this is quite time consuming and we would like a quick way to do this in Instant JChem or JChem for Excel.
Unfortunately there is no Chemical Terms function which returns the % distribution of the neutral species, and there is no conditional branching ("if") and for loop in Chemical Terms to select only the neutral species from all microspecies. For this purpose the Java/.NET API should be used.
We are examining the ways to make the integration of custom or custom parametrized calculations into Chemical Terms/IJC/JC4XL easier.
Thank you for your help with this.