User 3d1087fe51
16-09-2010 18:17:03
Hi all,
I am interested in finding the net charge of a number of small molecules at a particular pH (7.4). I have read a number of other forum posts on this topic, but I still have some questions, and I would like to be sure that I am calculating the net charge correctly.
Below, I've summarized the charge info for a number of sample molecules. In each case I used the cxcalc command:
FC: cxcalc formalcharge MoleculeName.sdf
FC7.4: cxcalc formalcharge -H 7.4 MoleculeName.sdf
CHG7.4: cxcalc chargedistribution -H 7.4 MoleculeName.sdf
The results:
Molecule/Ion FC FC7.4 CHG7.4
Chloride -1 -1 -1
Trypan Blue -4 -4 -4
Calcein 0 -4 -3.04
ATP 0 -4 -3.66
Eosin Yellow 0 -2 -1.82
Glutamic Acid -1 -1 -1.01
Glucose 0 0 0.00
Meglumine 0 +1 +0.98
Sodium +1 +1 0
Potassium +1 +1 0
Calcium +2 +2 0
Propidium +2 +2 0
Ethidium +1 +1 0
Rhodamine B +1 0 -1.00
Serva Blue +1 -1 -2.00
For all of the molecules with FC <= 0, the FC7.4 and CHG7.4 are approximately equal, which is what I would expect. However, for all of the molecules with FC > 0, FC7.4 and CHG7.4 are not equal. I'm pretty sure that the net charge on these molecules are approximately the values in FC7.4, but I'm concerned/confused that CHG7.4 does not match.
Questions:
1) Am I doing this correctly? Is there a better way?
2) Why does the charge calculation seem correct for the negatively charged species, but not for positively charged species?
I'd appreciate any help or insights!
Thanks,
Kyle
User 3d1087fe51
16-09-2010 23:07:48
I did some more digging, and developed a bash shell script for net charge. The basic approach is find the charge of each microspecies and take a weighted average of them. Is this a sensible approach?
Here's the script.
#!/bin/bash
# pH
PH=7.4;
# Net charge
QNET=0;
# Percentage of microspecies analyzed
PTOT=0;
# Number of microspecies
IMAX=`evaluate -e "msCount()" $1`;
# Loop through microspecies
for (( I=0 ; I<$IMAX ; I++)); do
# Microspecies
MS=`evaluate -e "ms('$PH',$I)" $1`;
# Percentage of all microspecies that is this microspecies
P=`evaluate -e "msDistr('$PH',$I)" $1`;
# Microspecies charge
Q=`evaluate -e "totalcharge()" $MS`;
# Percentage of microspecies that have been analyzed
PTOT=`echo "$PTOT + $P" | bc`;
# Contribution of microspecies to net charge
QNETI=`echo "$P * $Q * 0.01000" | bc`;
# Net charge contibuted by all microspecies analyzed thus far
QNET=`echo "$QNET + $QNETI" | bc`;
# Display progress
echo "$I | MS done: $PTOT% Qnet: $QNET | MS: $P% Qms: $Q";
# Done yet? Done after 99.95 % of microspecies have been analyzed
# or if the current microspecies represents < 0.01% of total
DONE=`echo "$PTOT>99.95 || $P<0.01" | bc`;
# If done, print net charge and break
if [ "$DONE" -eq "1" ]; then
# Print net charge
echo "Net charge: $QNET";
# Break
break;
fi
done
If the script is saved as "findNetCharge.sh", then it can be run: findNetCharge.sh MoleculeName.sdf
Using the script to calculated CHG7.4 (net charge at pH 7.4), my updated results are:
Molecule/Ion FC7.4 CHG7.4
Chloride -1 -1
Trypan Blue -4 -4
Calcein -4 -3.61
ATP -4 -3.49
Eosin Yellow -2 -1.85
Glutamic Acid -1 -1.01
Glucose 0 0
Meglumine +1 +0.98
Sodium +1 +1
Potassium +1 +1
Calcium +2 +2
Propidium +2 +2
Ethidium +1 +1
Rhodamine B 0 0
Serva Blue -1 -1
These results, and the agreement between the net charge (CHG7.4) and formal charge (FC7.4), make much more sense than what was in my first post.
If there are any problems with my approach, please let me know.
Kyle
User 851ac690a0
20-09-2010 07:30:43
Hi,
1) Am I doing this correctly? Is there a better way?
2) Why does the charge calculation seem correct for the negatively charged species, but not for positively charged species?
1.,Yes, that is correct.
2., Your positively charged species are either 'metal counter ions' or 'quaterner amine' like salts. These two types of cations to be missed in the "pH dependent charge calculation". I have fixed this bug now. The fixed version will be available in the next patch release.
Jozsi
User 851ac690a0
20-09-2010 07:42:12
Hi,
did some more digging, and developed a bash
shell script for net charge. The basic approach is find the charge of
each microspecies and take a weighted average of them. Is this a
sensible approach?
Yes this is correct. This "pH- charge-calculation" also available in Marvin (Tools => Protonation=>Isolectric point) . I attached a figure.
Jozsi
User 3d1087fe51
20-09-2010 13:06:02
Great. Thanks for your help, Jozsi!
Kyle