normal Using insane.py

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2438 by Rajat Desikan
Using insane.py was created by Rajat Desikan
Hi All,
Firstly, I want to congratulate all the people behind Martini for a lovely website. It has been some time since I visited, and the current website looks stunning.

I had a question for setting up {DOPC+50%Cholesterol} and {DOPS+50%Cholesterol} membrane systems. I need 500 molecules of DOPC/DOPS and 500 of cholesterol. I want to use insane.py in this regard. This is what I tried:

./insane.py -l DOPC[:250] -l Cholesterol[:250] -u DOPC[:250] -u Cholesterol[:250] -a (?) -sol water[:?]

I do not know what to use for area and number of waters (Is the number of waters defined per simulation cell or per lipid)...and using ./insane.py -l DOPC[:250] -l Cholesterol[:250] -u DOPC[:250] -u Cholesterol[:250] fails with an error:

; X: 2.500 (3 lipids) Y: 2.165 (3 lipids)
; 9 lipids in upper leaflet, 9 lipids in lower leaflet
Traceback (most recent call last):
File "./insane.py", line 1107, in <module>
lipU, numU = zip(*[ parse_mol(i) for i in lipU ])
File "./insane.py", line 388, in parse_mol
return l[0], len(l) == 1 and 1 or float(l[1])
ValueError: invalid literal for float(): 250]

Please help me out. Thanks!

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2513 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Hi,
Please help me out. Thanks!

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2515 by tsjerk
Replied by tsjerk on topic Using insane.py
Hi Rajat,

Sorry for missing the message. The square brackets mean that the part is optional, they should not be included. At present insane can't set a fixed number of molecules, but fills a membrane based on the size of the unit cell, the area per lipid and the relative abundance of species. By default, the latter is 1, so -l DOPC -l CHOL will give a membrane with equal numbers of DOPC and cholesterol. This is the same as specifying -l DOPC:1 -l CHOL:1. If you would need a 2:1 ratio, you could specify -l DOPC:2 -l CHOL:1 (or -l DOPC:2 -l CHOL). Unless you explicitly set a composition for the upper leaflet (-u), both leaflets are given the same composition. You can play a bit with the size of the unit cell and the area per lipid to get as close as you can to 500 lipids.
For the water, you need to use -sol W for default MARTINI water or -sol PW for polarizable water. This is equal to -sol W:1, indicating a relative abundance of 1 with respect to all solvent (but if you only have one species...). To get a certain ratio of water to lipid, you need to play with the size of the solvent layer, using -z. Specifying fixed numbers is on the todo list, and I'll add specifying a given solvent:lipid ratio. But it will have to wait a bit.

Hope it helps,

Tsjerk

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2516 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Thank you, Tsjerk. I will try this out and get back to you.

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2566 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Hi,
For anyone interested, here is how I built my bilayer
./insane.py -l DOPC -l CHOL -a .5 -pbc rectangular -x 18 -y 18 -z 10 -o DOPC_CHOL_50%_martini.gro

Though pure DOPC has an area per headgroup of about 0.70 nm2, I found that specifying 0.50 leads to much better packing with 50% CHOL.

Output:
; X: 18.000 (25 lipids) Y: 18.000 (25 lipids)
; 625 lipids in upper leaflet, 625 lipids in lower leaflet
; Charge of membrane: 0.000000
; Total charge: 0.000000
DOPC 312
CHOL 312
DOPC 312
CHOL 312

I prefer solvating the membrane later with a simple genbox command

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2567 by tsjerk
Replied by tsjerk on topic Using insane.py
Hi Rajat,

Thanks for the msg. Good to know that the .50 APL works. As for the solvent, whatever works for you is good. I added the generation of solvent, because genbox gave problems with MARTINI water.

Cheers,

Tsjerk

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2568 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Hi Tsjerk,
What problems did you experience with genbox?

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2569 by tsjerk
Replied by tsjerk on topic Using insane.py
Hi Rajat,

When using genbox with a box of normal (single-bead) Martini water, it doesn't fill the box properly, and you end up with a central region with far too high density.

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago - 10 years 5 months ago #2570 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Oh, I never analysed this in great detail. Doesn't EM followed by a longuish equilibration(100ns) resolve this? If it doesn't, I might use the solvate option of insane.py
Last edit: 10 years 5 months ago by Rajat Desikan.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2571 by tsjerk
Replied by tsjerk on topic Using insane.py
Well, the proof of the pudding is in the eating of it. If it works for you, it's fine. If you run into problems, you know where to look first :)

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2572 by xavier
Replied by xavier on topic Using insane.py
Well, the procedure you mention should take care of the problem but it might also disturb your system quite significanly nad you might encounter serious problems of equilibrations and frequent crashes due to the expansion of the box ...

We had described several options to this problem by notably using a solvating water box bigger than the box solvated.

Now we recommend to use the insane script when possible. It makes life easier.

Rajat Desikan wrote: Oh, I never analysed this in great detail. Doesn't EM followed by a longuish equilibration(100ns) resolve this? If it doesn't, I might use the solvate option of insane.py

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2581 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Hi Xavier,
Eventually, I intend use my membrane to insert a protein into it. So, I usually take my equilibrated membrane, strip off all the water, insert it by concatenation of the bare membrane with the protein and resolvate it. Is it better to use insane.py for solvating this system? The protein is a membrane toxin with a water filled channel inside. I am not sure about how insane.py solvates this system because the lipids inside the channel have to be deleted!

I like the idea of a bigger waterbox. But from what you say, I think it is important to get insane.py working...

Thank you.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2583 by tsjerk
Replied by tsjerk on topic Using insane.py
Try it! Take the channel, oriented as it should go into the membrane, and use insane to build a membrane around it. As long as you don't incidentally add -hole to the command line, lipids will not be allowed in the center of the protein.

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago #2587 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Thanks Tsjerk, Xavier.

If it works, I will post my workflow in this thread.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2598 by xavier
Replied by xavier on topic Using insane.py
Just to make things clear: if you want to equilibrate your bilayer prior the insertion of the protein, insane won't be useful. Insane is good at building all from scratch: bilayer+protein+solvent. Then you can equilibrate piece by piece.

The best solution will depend on your system and your objective ... typically if you

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago - 10 years 5 months ago #2613 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Hi all,
I got insane.py working. But I have one minor issue - Proper orientation of protein in membrane

I want to build a protein in a 18nmx18nmx17nm box and centered at (9 9 7.45):
editconf -f protein.pdb -o protein.gro -box 18 18 17 -center 9 9 7.45

The bilayer without water had the same box dimensions but centered differently in z:
editconf -f bilayer.pdb -o bilayer.gro -box 18 18 17 -center 9 9 12.45

I would then concatenate both files, add solvent, ions, etc

I am following the following script:
./insane.py -l DMPC -a .5 -pbc rectangular -x 18 -y 18 -z 17 -f DMPC_LE_elnedyn.pdb -o DMPC_LE_elnedyn_6_insane.gro -sol W -salt 0.15

How do I center it as above?

Thanks.
Last edit: 10 years 5 months ago by Rajat Desikan.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2618 by tsjerk
Replied by tsjerk on topic Using insane.py
Hi Rajat,

If you add -center, the protein is centered on Z. Note that this takes the whole extent of the protein. If you need to center it on a certain transmembrane domain, you can position it first with editconf using a suitable index file, using -center 0 0 0. This point corresponds to the bilayer center in insane.

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago - 10 years 5 months ago #2619 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Following up on the previous question, is there a way of using insane.py so that within the same box, we can have a different geometrical center for the protein and the lipid bilayer?

Note: in the previous question, I tried using editconf to center the protein. But the bilayer was off center.

Tsjerk,
If I understood it right, 0 0 0 corresponds to the bilayer center in insane.py
So, if the required transmembrane domain of my protein is centered at 0 0 0, the bilayer will automatically build around that.

Thanks,
Last edit: 10 years 5 months ago by Rajat Desikan.

Please Log in or Create an account to join the conversation.

More
10 years 5 months ago #2620 by tsjerk
Replied by tsjerk on topic Using insane.py
Exactly. The bilayer will be built in the XY plane, centered at Z=0, and afterwards the system is shifted such that the protein+bilayer is in the center of the box. With insane.py -center the protein is centered on z. With the option -dm you can specify an offset, so you can place the protein above or below the membrane center.

Please Log in or Create an account to join the conversation.

  • Rajat Desikan
  • Rajat Desikan's Avatar Topic Author
  • Offline
  • Expert Boarder
More
10 years 5 months ago - 10 years 5 months ago #2622 by Rajat Desikan
Replied by Rajat Desikan on topic Using insane.py
Thank you, Tsjerk.

Here is my workflow for anyone interested. I am sure the -dm option will work too.

editconf -f protein.pdb -o protein.gro -box 18 18 17 -center 9 9 -5.8 (Play around to get this right!)

./insane.py -l DMPC -a .4 -pbc rectangular -x 18 -y 18 -z 18 -f protein.gro -o insane.gro -sol W -salt 0.15 -ring

(Notes: I get an optimum packing with DMPC -a 0.4; I want lipids inside the protein, hence -ring)
Last edit: 10 years 5 months ago by Rajat Desikan.

Please Log in or Create an account to join the conversation.

Time to create page: 0.134 seconds