tsjerk / insane Goto Github PK
View Code? Open in Web Editor NEWINSert membrANE - A simple, versatile tool for building coarse-grained simulation systems
License: GNU General Public License v2.0
INSert membrANE - A simple, versatile tool for building coarse-grained simulation systems
License: GNU General Public License v2.0
Hi Tsjerk,
I'm using insane script recently to build transmembrane protein systems.
when I did this:
insane
-o CG_full_dimer_SOL_ions.gro -p topol.top
-hole 8 -ring
-d 0 -pbc rectangular -x 35 -y 35 -z 15
-sol W -salt 0.15
-f CG_full_dimer.pdb
-l DOPC:8 -l DOPE:1 -l DOPS:1
-dm 0.5
it just dig a hole across teh pbc, directly at the (0,0) of the XY plane. Is there anyway to dig a hole at the center of the membrane?
$ insane -o prot.gro -f ../data/inputs/1a0s/CG1a0s.pdb -sol W -salt 0
Traceback (most recent call last):
File "/home/jon/Envs/tsjerk/bin/insane", line 11, in <module>
load_entry_point('insane', 'console_scripts', 'insane')()
File "/home/jon/dev/Insane/insane/cli.py", line 161, in cli
sys.exit(main(sys.argv))
File "/home/jon/dev/Insane/insane/cli.py", line 142, in main
box) = core.old_main(argv, options)
File "/home/jon/dev/Insane/insane/core.py", line 1195, in old_main
solvent, added = setup_solvent(pbc, protein, membrane, options)
File "/home/jon/dev/Insane/insane/core.py", line 680, in setup_solvent
charge = (options["charge"] != "auto") and int(options["charge"]) or charge
UnboundLocalError: local variable 'charge' referenced before assignment
Someone ought to write a proper description of insane. It can go in the module docstring and be used in the command line interface through __doc__
.
Good Morrow.
I have been able to build my simulation environment using Insane (BTW, love the software) including solvent and lipids, both custom and default. However, I have failed thus far in every attempt to run simulations as I continuously run into issues both in OpenMM and GROMACS with recognizing the particles.
Is there anyone who has managed to run successful simulations using custom lipid+coarse grained-proteins? If so, would you be willing to share what you did to get your simultions running effectively? Thanks!
I can provide my .top/.gro files if needed.
Since, python 2 is not officially supported any more, it would be time to make this python3 compatible. Or is there already a python3 version
fluke
Residue names are written on 4 characters while they should be truncated to 3. Atom names should be 4 if aligned to the first column of the atom name, or 3 if they are aligned on the 2d one.
Currently, long atom names break the alignment of the columns.
Command to reproduce the error:
insane -o test.pdb -l DPG1 -d 5
Hi,
I've had problems building a membrane with the old lipid topologies (POPG.o, POPE.o, etc.). The command I used to demonstrate it was:
./insane. -x 50 -y 50 -z 15 -o DBol_memb.gro -p DBol.top -pbc rectangular -l POPG.o:200 -l CER.o:800
In this resulting system, the resnames are POPG. (without the o - these atoms are a box of red dots in VMD) and CER.o (with the o this time, this old lipid works even though the resname shouldn't be .o).
Most of the old topologies have the same problems.
That was using the version from cgmartini.nl - I couldn't use the latest version from github ("global name 'rn' is not defined").
Best regards,
Marlon
Hi ,
how can build micelle and double bilayer?
how can insert solute (1000) before parametrized, get system with solute, bilayer, water and ions?
it is shown in our group website: http://md.chem.rug.nl/index.php/force-field-parameters/lipids2/351-lipid.html?dir=Glycosphingolipids&lipid=DBG1
thank you
Are you guys looking for any help with the project? If there is anything to be done, I'd be happy to help!
Hello everyone,
INSANE is not able to distinguish between the "HIS" and "HIH" histidine residues with a charge of 0 and +1 respectively. Both these residues are defined in Martinize though. This should be rectified soon as it becomes critical while adding the ions.
At the moment, both the residues are assumed to be "HIS" i.e. without charge.
I am just wondering if it is possible to embed a protein in a membrane and to specify the lipid ratio in the outer and inner leaflets separately rather than just the ratio overall in order to design outer and inner leaflets with different lipid compositions. I couldn't find a clear example of this. Thank you for any guidance!
Happy to see this repository come to life!
I've been wondering for quite some time: why are specific residues, e.g., POPA
and DOPA
missing from insane.py
? Is there any specific reason? Adding them would seem to be a very trivial process.
The following command does not produce the expected number of lipids:
insane -l DOPC=72 -dz 15 -o plop.gro
While I expect 144 DOPC molecules, 72 molecules per leaflet, I only get 128 DOPC molecules in the resulting GRO file. The TOP file reports 72 DOPC per leaflet as expected, though.
Hi Developers,
Thanks for putting together this script for convenience. I would appreciate if you could make switches for some of the functions that have been deprecated in Python 3. The ones that I have noticed include xrange and zip. I managed to get it work but I would appreciate that if you could push the changes so that I don't have to make them manually. Thank you!
When dealing with the insane.py
script I noticed that when solvating a CG protein with
insane -o system_solvated.gro -p system.top -f system.gro -sol W -salt 0.15 -center
The headers of the original system.top
file are ignored and then just simply changed to #include "martini.itp"
. I think insane.py
should respect the prevopis original header or preprocessing options, for example including different martini specifications files or specifying custom system itp files.
Hey i am working on a GoMartini structure of my protein and i recognized that if a use my coarse-grained protein structure, which i made with martinize2, insane.py counts the virtual CA beads into the charge determination of the protein. I know that i could work around this pretty easily, but i like the fact, that i can set up my system and change the salt concentration so easily with insane.py maybe this can be adjusted quite easily? Or i am doing something wrong?
Kind regards,
Denis
Have you created a new script which is compatible with python3?
Is it possible to have python 3 compatibilities for insane? I think the current version is only for python 2 and python 2 has reached its end of life. Thank you.
This is caused when there is no box description in the GRO as the last line. Not sure if this is a bug...
insane -o system.gro -p topol.top -f ../em_dry.gro -d 7 -sol W -salt 0.157
Traceback (most recent call last):
File "/home/bart/.virtualenvs/md/bin/insane", line 8, in
sys.exit(cli())
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/cli.py", line 164, in cli
sys.exit(main(sys.argv))
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/cli.py", line 145, in main
box) = core.old_main(argv, options)
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/core.py", line 1051, in old_main
tm = [ Structure(i) for i in options["solute"] ]
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/core.py", line 1051, in
tm = [ Structure(i) for i in options["solute"] ]
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/core.py", line 291, in init
self.box = groBoxRead(lines[-1])
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/core.py", line 98, in groBoxRead
b = [float(i) for i in a.split()] + 6*[0] # Padding for rectangular boxes
File "/home/bart/.virtualenvs/md/lib/python3.8/site-packages/insane/core.py", line 98, in
b = [float(i) for i in a.split()] + 6*[0] # Padding for rectangular boxes
ValueError: could not convert string to float: '23481POPC'
In GRO files, insane adds a empty line after the box line. While well tolerated by several tools, this empty line goes against the format definition and breaks some tools.
Calling insane without arguments leads to a failure with a traceback displayed to the user. Insane should fail more gracefully.
./insane.py
; NDX Solute 1 0
; Charge of protein: 0.000000
; NDX Membrane 1 0
; Charge of membrane: 0.000000
; Total charge: 0.000000
; NDX Solvent 1 0
; NDX System 1 0
; "I mean, the good stuff is just INSANE" --Julia Ormond
Traceback (most recent call last):
File "./insane.py", line 1914, in <module>
sys.exit(main())
File "./insane.py", line 1813, in main
if options["-o"].value.endswith(".gro"):
AttributeError: 'NoneType' object has no attribute 'endswith'
Hi,
i have been trying to use the script on both a WSL2 (Linux subsystem) and installed through anaconda (both via pip). I get the following error in both cases. I sourced the folder to the path, but also get the same error when running the script directly from the folder.
Traceback (most recent call last):
File "c:\users\pasca\anaconda3\lib\runpy.py", line 193, in run_module_as_main
"main", mod_spec)
File "c:\users\pasca\anaconda3\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\pasca\AppData\Roaming\Python\Python37\Scripts\insane.exe_main.py", line 4, in
File "C:\Users\pasca\AppData\Roaming\Python\Python37\site-packages\insane_init.py", line 37, in
from core import *
ModuleNotFoundError: No module named 'core'
What I am trying to build is a system for the plant thylakoid membrane, it is already available in Martini2 ff (http://cgmartini.nl/index.php/all-files-needed-for-the-simulation-of-a-thylakoid-membrane). I do have the protein model produced with martinize3. The name of the lipids however changed (I cannot fine corresponding definitions in the "_lipid_data.py".
I ran the following command, guessing the lipid types with the new names:
insane -f m13_cg.pdb -o system.gro -p system.top -x 200 -y 300 -z 200 -l OPPG:5 -l JPPG:10 -l FPMG:5 -l DFMG:25 -l FPSG:5 -l FPGG:35 -l DFGG:15 -center -sol W -salt 0.01
In this zip folder the AA and the CG models.
mode13_Hok.zip
Thanks,
Pascal
Insane is missing the very standard --version
, or any way of accessing the version of the program. This makes it more difficult to ask people what version they are using when they ask a question (e.g. on the martini forum). @Pitje06 just encountered this scenario.
The --version
option is an option that user often expect to be there in any program. Not having it made me sad 😢
So far, insane allows to specify a relative number of lipids. The actual number of lipid is set from that relative number and the size of the box. It would be convenient to be able to, instead, set the absolute number of lipids, and have the size of the box adjusted accordingly.
Dear developers,
There is a difference in the POP2 naming (or maybe mapping too) scheme between the INSANE and the Martini database:
Whereas it is C2A D3A
in the INSANE.
Line 120 in cb6b557
Line 131 in d82d70b
The bead names are D2A C3A
in the Martini database:
http://cgmartini.nl/images/parameters/lipids/Phosphatidylinositols/POP2/martini_v2.0_POP2_01.itp
Thank you for reading.
Rescaling XY PBC for absolute numbers of lipids takes the hole and protein area into account, but does not consider the grid that is used for placement. This may cause a too small number of cells available for lipid placement. Solution: adjust grid spacing, but this may need to be done iteratively.
Seems like the insane installation is dependent on Python version. As NameError: name 'xrange' is not defined
is a Python 2 vs Python3 problem. Does insane require Python 2.7?
Currently the install of insane fails with:
Traceback (most recent call last): File "bin/insane", line 5, in <module> from insane.cli import cli File "python3.6/site-packages/insane/__init__.py", line 37, in <module> from .core import * File "/python3.6/site-packages/insane/core.py", line 35, in <module> from simopt import opt_func ImportError: cannot import name 'opt_func'
Insane does not always follow the coding style convention used by most python projects. This translate to a record -20.66/20 on pylint. We may be able to do better.
https://gist.github.com/jbarnoud/fdf799717c412ba0a8ec03b40e54deee
Hi Developers,
Is there a way to include additional .itp files in insane in order to re-create a complex realistic plasma membrane with insane? For instance, is there a method to include the following .itp in insane as so the allow for the recognition of lipids currently not included in insane:
.itp files are from Ingólfsson, Helgi I., et al. "Lipid organization of the plasma membrane." Journal of the american chemical society 136.41 (2014): 14554-14559.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.