Pore coordinate in Hole

139 views
Skip to first unread message

Eric Lang

unread,
Jun 15, 2017, 12:01:12 PM6/15/17
to MDnalysis discussion
Hello,

I am using Hole and MDAnalysis (version 0.16) to compute the average pore radius of a protein in a similar way as describe in this very useful notebook: https://gist.github.com/orbeckst/64c0bd5a037b3e434cc8ee6732030252
I have however a problem, I would like that for the pore coordinate, 0 corresponds to the centre of mass of my protein, but it looks like I cannot choose where 0 will be for the pore coordinate, even if I specify explicitly the cpoint option in the Hole command.

H_Hex2_xray = HOLE('../4-CC-Hex2/2-MD/ccHex2_all_prod_dry_oriented_noDPH.pdb', endrad=5,\
                   sample=0.1, cvect=[0,0,1], executable="/home/SOFTWARE/hole2/exe/hole") 
H_Hex2_xray.run()
H_Hex2_xray.collect()
ax = H_Hex2_xray.plot(linewidth=1, color='red', label=False)

I obtain the following plot (plot1.png)




If I specify the center of mass of the protein with cpoint:
H_Hex2_xray = HOLE('../4-CC-Hex2/2-MD/ccHex2_all_prod_dry_oriented_noDPH.pdb', endrad=5,\
                   sample=0.1, cvect=[0,0,1], cpoint=[35.28098678588867,35.635162353515625,34.87477493286133], executable="/home/SOFTWARE/hole2/exe/hole") 
H_Hex2_xray.run()
H_Hex2_xray.collect()
ax = H_Hex2_xray.plot(linewidth=1, color='red', label=False)

I obtain the same plot as previously (plot2.png)




Is there a way to set the 0 coordinate to be the center of mass of my protein as it is the case in https://gist.github.com/orbeckst/64c0bd5a037b3e434cc8ee6732030252 where it looks like Hole is doing it by default.
Otherwise is there an easy way to shift the coordinates using in this case 34.87 (Z-coordinate of the COM) to shift the coordinate (perhaps by modifying rxncoord_Hex2_holo = np.concatenate([profile.rxncoord for frame, profile in H_Hex2_holo.sorted_profiles_iter()])?)?

Many thanks in advance for your help,

Eric



Oliver Beckstein

unread,
Jun 15, 2017, 2:26:52 PM6/15/17
to mdnalysis-...@googlegroups.com
Hi Eric,

Welcome to the mailing list!

Thank you for the detailed description, that makes it easier for me to give an answer.

> On 15 Jun, 2017, at 04:11, Eric Lang <eric.j...@gmail.com> wrote:
>
> Hello,
>
> I am using Hole and MDAnalysis (version 0.16) to compute the average pore radius of a protein in a similar way as describe in this very useful notebook: https://gist.github.com/orbeckst/64c0bd5a037b3e434cc8ee6732030252
> I have however a problem, I would like that for the pore coordinate, 0 corresponds to the centre of mass of my protein, but it looks like I cannot choose where 0 will be for the pore coordinate, even if I specify explicitly the cpoint option in the Hole command.
>
> H_Hex2_xray = HOLE('../4-CC-Hex2/2-MD/ccHex2_all_prod_dry_oriented_noDPH.pdb', endrad=5,\
> sample=0.1, cvect=[0,0,1], executable="/home/SOFTWARE/hole2/exe/hole")
> H_Hex2_xray.run()
> H_Hex2_xray.collect()
> ax = H_Hex2_xray.plot(linewidth=1, color='red', label=False)
>
> I obtain the following plot (plot1.png)
>

The HOLE pore coordinate is generated by HOLE itself. It is the distance along the possibly twisted pore path. I actually don't know how HOLE decides to initialise it; I don't think that it uses CPOINT (but feel free to convince me otherwise). My best guess is that it uses the actual coordinates of the protein.

You could re-center your protein (and you might do something like this anyway if you RMSD-fit your protein trajectory prior to HOLE analysis).

u = mda.Universe("../4-CC-Hex2/2-MD/ccHex2_all_prod_dry_oriented_noDPH.pdb")
protein = u.select_atoms("protein")
com = protein.center_of_mass()
u.atoms.translate(-com)
u.atoms.write("centered.pdb")

and then try again

H = HOLE("centered.pdb", …)

Does this help?

I suppose you could try shifting rxncoord by an offset

H.profiles[0].rxncoord += offset

and then plot.

Oliver


>
>
>
>
> If I specify the center of mass of the protein with cpoint:
> H_Hex2_xray = HOLE('../4-CC-Hex2/2-MD/ccHex2_all_prod_dry_oriented_noDPH.pdb', endrad=5,\
> sample=0.1, cvect=[0,0,1], cpoint=[35.28098678588867,35.635162353515625,34.87477493286133], executable="/home/SOFTWARE/hole2/exe/hole")
> H_Hex2_xray.run()
> H_Hex2_xray.collect()
> ax = H_Hex2_xray.plot(linewidth=1, color='red', label=False)
>
> I obtain the same plot as previously (plot2.png)
>
>
>
>
>
> Is there a way to set the 0 coordinate to be the center of mass of my protein as it is the case in https://gist.github.com/orbeckst/64c0bd5a037b3e434cc8ee6732030252 where it looks like Hole is doing it by default.
> Otherwise is there an easy way to shift the coordinates using in this case 34.87 (Z-coordinate of the COM) to shift the coordinate (perhaps by modifying rxncoord_Hex2_holo = np.concatenate([profile.rxncoord for frame, profile in H_Hex2_holo.sorted_profiles_iter()])?)?
>
> Many thanks in advance for your help,
>
> Eric
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "MDnalysis discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to mdnalysis-discus...@googlegroups.com.
> To post to this group, send email to mdnalysis-...@googlegroups.com.
> Visit this group at https://groups.google.com/group/mdnalysis-discussion.
> For more options, visit https://groups.google.com/d/optout.

--
Oliver Beckstein * orbe...@gmx.net
skype: orbeckst * orbe...@gmail.com

Eric Lang

unread,
Jun 16, 2017, 6:45:00 AM6/16/17
to MDnalysis discussion
Hi Oliver,

Thanks a lot for your help and quick reply!

Indeed, after re-centering the protein using the translate command, I was able to have the 0 coordinate corresponding to the center of mass.

Many thanks,

Eric
  


Reply all
Reply to author
Forward
0 new messages