Hello,

I wrote a python script to do this. I would used pymol. Number each of the pdb files 00000ps.pdb 00250ps.pdb, etc. Also, remove the water. Just save the file as distances.py and run in pymol.

from pymol import cmd

cmd.reinitialize()
Distances=[]
Line=''
TimeMax=11500
TimeIncr=0
AA=1
AAMax=477
Distances.append([]) ## This is for amino acid 0
while AA <= AAMax:
    Message = "Amino Acid Number "+ str(AA)+'\n'
    print Message
    Distances.append([])
    TimeIncr=0
    while TimeIncr <= TimeMax:
        PDBTime=str("%05d"%TimeIncr)
        PDBFile = PDBTime + 'ps.pdb'
        Message = PDBTime + '\n'
        print Message
        cmd.load(PDBFile)
        ## hide everything
## dist=cmd.distance('tmp', PDBTime+'ps///91/CA',PDBTime +'ps///478/FE') dist=cmd.distance('tmp', PDBTime+'ps///'+str(AA)+'/ CA',PDBTime+'ps///478/FE')
        if AA==1:
            ## print "OK"
            Distances[0].append(PDBTime)
            Line=str("%8.3f"%dist)
            Distances[1].append(Line)
        else:
            Line=str("%8.3f"%dist)
            Distances[AA].append(Line)
        TimeIncr=TimeIncr+250
        cmd.reinitialize()
    AA=AA+1

DistancesTranspose=[]

Increment=0
Line = 'Time\t'
while Increment < AAMax-1:
    Line = Line + 'aa'+str(Increment+18)+'\t'
    Increment=Increment+1
Line = Line + 'aa'+str(Increment+18)+'\r\n'
DistancesTranspose.append(Line)


Increment=0
while Increment <= len(Distances[0])-1:
    NestedIncrement=0
    Line=''
    while NestedIncrement <= len(Distances)-1:

        if NestedIncrement >=1:
DistanceDifference = str(float(Distances[NestedIncrement] [Increment])-float(Distances[NestedIncrement][0]))
        else:
                DistanceDifference = str(Distances[NestedIncrement][Increment])
                
        if NestedIncrement == (len(Distances)-1):
Line = Line + DistanceDifference + '\r\n' ## DistFile.write("%s\t" % Test)
        else:
            Line = Line + DistanceDifference + '\t'

        NestedIncrement=NestedIncrement+1
    DistancesTranspose.append(Line)
    Increment=Increment +1
        
Message = "Writing File ...\n"
print Message

file('distances.dat', 'w').writelines(DistancesTranspose)

Best wishes,
Art

On Sep 10, 2007, at 8:36 PM, Rui Li wrote:

Hi all,

I want to get the plot of Change in distances between two atom during MD
simulation.
what program can I use?
Thank you in advance


_______________________________________________
gmx-users mailing list    [email protected]
http://www.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to [EMAIL PROTECTED]
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

_______________________________________________
gmx-users mailing list    [email protected]
http://www.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at http://www.gromacs.org/search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to [EMAIL PROTECTED]
Can't post? Read http://www.gromacs.org/mailing_lists/users.php

Reply via email to