Hi Zeineb,
Thanks for providing so much detail — that will help me try to help you.
> On Oct 22, 2019, at 2:40 PM, Zeineb Si Chaib <z.s...@fz...> wrote:
>
> Dear LOOS users,
>
> I have coarse-grained trajectories with Martini FF of a membrane protein in an explicit membrane (POPC, POPE, CHOL) and water + ions environment.
>
> I would like to calculate the local density of the different lipids around my protein. The final result should be a 2D time-averaged density map like the one done in this article (Figure 2): https://www.ncbi.nlm.nih.gov/pubmed/24158802 <https://www.ncbi.nlm.nih.gov/pubmed/24158802>. The Authors also used LOOS to perform this analysis.
>
> Question
> 1- I read the LOOS documentation and I think that membrane_map is a suitable tool for this. Someone to confirm it? :)
>
> This tool assumes that the bilayer normal is the z-axis and that the bilayer center is at z=0. In order to get this I post-processed my trajectory with Gromacs (I am used to it) using the following commands:
>
> A) gmx trjconv -s md.tpr -f md.xtc -o md_PBCnojump.xtc -pbc nojump
> B) gmx trjconv -s md.tpr -f md_PBCnojump.xtc -o md_PBCnojump_center.xtc -center
> #Group for centering = protein
> C) gmx trjconv -s md.tpr -f md_PBCnojump_center.xtc -o md_PBCnojump_center_pbcmol_compact.xtc -pbc mol -ur compact
>
This looks ok, but I’m only moderately competent with gromacs so I’m not sure.
> The obtained trajectory seems good: protein (dimer) centered in the box and the bilayer normal is the z-axis. However, the center is not at z=0.
>
> I looked in LOOS tools and it seems that merge-traj can be used to center at z=o. This code will work best if the system has connectivity information thus I used gmxdump2pdb.pl to get a PSF file for my system:
>
> gmx dump -s md.tpr | gmxdump2pdb.pl fake_system
>
> The command line generated one PDB and one PSF file but with some Warnings :
> Missing atom count in topology so inferring number of atoms in segment Protein_A at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment Protein_B at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment POPC at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment POPE at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment CHOL at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment POPC at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment POPE at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment CHOL at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment W at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment NA at gmxdump2pdb.pl line 594, <> line 63555.
> Missing atom count in topology so inferring number of atoms in segment CL at gmxdump2pdb.pl line 594, <> line 63555.
This looks ok. If you look at the resulting PSF and PDB, are they ok?
>
> I used merge-traj tool as follow to center at z=0:
>
> merge-traj --z-centering-selection ‘resname=="POPC POPE CHOL"’ fake_system.psf output_traj.dcd Traj.dcd
The z-centering-selection is wrong — nothing will be selected. You want something like
‘(resname==“POPC”) || (resname == “POPE”) || (resname == “CHOL”)’
You could have done the whole recentering thing in one shot by also supplying an —xy-centering-selection option, eg
—xy-centering-selection ’segname =~ “Protein_”'
>
> The problem that I got is that I can’t open the trajectory (dcd + psf files) because it seems that the latter doesn’t contain all the connectivity information (bonds, angles, and dihedrals are missing).
Can you send me the warning or error message you’re getting here? I don’t know what this means.
Also, what happens if you run
trajinfo fake_system.psf output_traj.dcd
> I tried to replace the psf file in the merge-traj command line with the PDB file but the same problem: I can’t read the output trajectory and I think that this tool only generates dcd format output.
>
> Question
> 2- Am I using merge-traj correctly? (The aim is just to center at z=0 since all the rest seems OK.)
The selection string was wrong, but otherwise it looks ook.
> 3- How can I counter this problem? Is there any other tool that I can use in order to preprocess the trajectory before using membrane-map?
>
> Next, I tried to do some tests with membrane-map just to see how this tool works. For example: in order to calculate the density of CHOL molecules around the protein I was using it as follow :
>
> membrane_map --xmin -130 --xmax 130 --ymin -130 --ymax 130 --xbins 130 --ybins 130 --upper-only Traj_frame0.pdb Traj_concatenaed.pdb --calc density 'resname == "CHOL"' 'name== "BB”’ > output.xvg
The align selection isn’t what you want, I don’t think. Right now, you’re aligning on the cholesterols, and measuring the density of “BB”. Aligning on the cholesterols doesn’t make much sense, because they’re moving around. I think you want to align on the protein, so the cholesterol selection should be replaced with
’segname =~ “Protein_”’
which would align each frame against the protein segments from the first frame.
I’m not sure what atom BB is, but you’ll get the density of it in each pixel.
>
> The output was:
> # Found 1 matching molecules
> # X Y
> Value(s)
> -130 -130
> 0
> -130 -128
> 0
>
> Questions
> 4- Correct me if I am wrong, please: xmin, xmax, ymin and ymax are the dimensions of the 2D grid and consequently they should correspond to the dimensions of the box of the simulation?
Yes, this is correct.
> 5- According to what on what I should choose the values for xbin and ybin? any specifications for coarse-grained system?
Basically, it’s a tradeoff between a rougher grid with less noise and a finer grid with more. 2x2 Ang is pretty reasonable to start. Luckily, it runs fast so you can try more than 1 grid size.
> 6- The output file starts with "# Found 1 matching molecules”. The matching molecule corresponds to the “align-selection”?
That says it found 1 molecule matching your target selection — the BB atoms.
> 7- The output file has 3 columns. X and Y columns are points in the 2D grid and the 3rd column should correspond to the time-average density of Cholesterol molecules at this coordinate. Is that correct?
> I suppose that 0 values that I am getting are because my trajectory is not centered at z=0 so of course, this output is not significant.
It’ll actually be the density of atom BB.
>
> I am sorry for all these questions. I am a new user of LOOS and I want to check if my understanding is correct and to be sure that I am using the tools in the correct way.
>
No problem, I’m happy to help. Our terminology is a little foreign, because we have to be useable to multiple packages, and they don’t refer to things the same way.
Going forward, though, you might want to either raise an issue on GitHub, or email loo...@gm... – we’ve migrated off SourceForge and are discouraging use of the mailing lists.
Hope this helps — if not, write back and I’ll keep trying to help.
Cheers,
Alan
________________________________
Dr. Alan Grossfield
Associate Professor
Department of Biochemistry and Biophysics
University of Rochester Medical Center
610 Elmwood Ave, Box 712
Rochester, NY 14642
Phone: 585 276 4193
http://membrane.urmc.rochester.edu
https://orcid.org/0000-0002-5877-2789
|