Formal vs. Net Charge Calculation

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