eigenstate / dabble Goto Github PK
View Code? Open in Web Editor NEWMembrane protein builder and parameterizer
Home Page: http://dabble.robinbetz.com
License: GNU General Public License v2.0
Membrane protein builder and parameterizer
Home Page: http://dabble.robinbetz.com
License: GNU General Public License v2.0
you said it would support amber forcefields but it DOESNT YET OMG
After final membrane composition is printed, the solute selection is shown to have 0 charge.
This is due to a bug in maeffplugin. Fix it
test_relaxin_disulfides_amber in tests/relaxin fails with tleap error message containing some of the following:
Could not find bond parameter for: SH - SH Could not find bond parameter for: SH - SH Could not find bond parameter for: SH - SH Building angle parameters. Could not find angle parameter: CT - SH - SH Could not find angle parameter: SH - SH - CT Could not find angle parameter: CT - SH - SH Could not find angle parameter: SH - SH - CT Could not find angle parameter: CT - SH - SH Could not find angle parameter: SH - SH - CT Building proper torsion parameters. ** No torsion terms for CT-SH-SH-CT ** No torsion terms for CT-SH-SH-CT ** No torsion terms for CT-SH-SH-CT
This is bad because SH is the atom type for sulfur in cysteine, and the disulfided cysteines are being assigned residue type CYM (charged cysteine) instead of CYX (disulfide cysteine). Can you fix this AGAIN??? come on robbo get ur bonded residues in order!!!!
Hi!
I'm currently using dabble to produce structures and my configuration is based on conda install -c rbetz dabble in python 3.6.3.
However, when I try to read pdbs or maes, the problem is raised:
Inferring output format from file extension
Traceback (most recent call last):
File "/home/v-xinhenghe/miniconda3/envs/dabble/bin/dabble", line 11, in
load_entry_point('dabble==2.7.9', 'console_scripts', 'dabble')()
File "/home/v-xinhenghe/miniconda3/envs/dabble/lib/python3.6/site-packages/dabble/main.py", line 233, in main
builder.write()
File "/home/v-xinhenghe/miniconda3/envs/dabble/lib/python3.6/site-packages/dabble/builder.py", line 245, in write
final_id = self._build()
File "/home/v-xinhenghe/miniconda3/envs/dabble/lib/python3.6/site-packages/dabble/builder.py", line 115, in _build
self.add_molecule(self.opts.get('membrane_system'), 'membrane')
File "/home/v-xinhenghe/miniconda3/envs/dabble/lib/python3.6/site-packages/dabble/builder.py", line 282, in add_molecule
atomsel('all', molid=molid).beta = 1
AttributeError: 'atomsel.atomsel' object has no attribute 'beta'
It seems that from vmd import atomsel shows some error that 'atomsel.atomsel' object does not work well. It there any solution?
Thanks for your concerning and wish to get a reply.
Hello!
I have tried to apply your program to several kind of proteins (directly downloaded from the PDB) and the same error raises once and again. I would really appreciate your help.
dabble -i outward_state_n.pdb -o outward_membrane.prmtop -ff charmm36m
Solvent patch dimensions are 44.47 x 44.47 x 210.87
Loading and orienting the solute...
Computing the size of the input periodic cell...
Solute x diameter is 56.08 (57.03 in TM region)
Solute y diameter is 45.56 (42.49 in TM region)
Solute + membrane Z diameter is 60.01
Final system will be 96.08 x 85.56 x 100.56
X,Y solvent buffer: (40.0, 40.0)
X,Y transmembrane buffer: (39.1, 43.1)
Z solvent buffer: 40.5
Tiling solvent...
Traceback (most recent call last):
File "/home/lroldan/miniconda3/envs/membranes/bin/dabble", line 228, in <module>
builder.write()
File "/home/lroldan/miniconda3/envs/membranes/lib/python3.6/site-packages/Dabble/builder.py", line 242, in write
final_id = self._build()
File "/home/lroldan/miniconda3/envs/membranes/lib/python3.6/site-packages/Dabble/builder.py", line 162, in _build
allow_z_tile=self.water_only)
File "/home/lroldan/miniconda3/envs/membranes/lib/python3.6/site-packages/Dabble/builder.py", line 1088, in tile_membrane_patch
tmp_dir=tmp_dir)
File "/home/lroldan/miniconda3/envs/membranes/lib/python3.6/site-packages/Dabble/molutils.py", line 446, in tile_system
atomsel('all', molid=input_id).set('resid', new_resid)
ValueError: sequence passed to set contains the wrong type of data (integer, float, or str)
Robin - I'm wondering whether you've noticed that dabble is only writing out one leaflet of the membrane. I'm requesting a prmtop for a new system with the following parameters:
/share/PI/rondror/software/dabble/dabble -i Q20_WT_rechained_prepped_aligned.mae -o Q20_WT_noglucose_dabbled.prmtop -m 28 -w 10
Please let me know if it would help you to see any of the files produced.
Hi Robin,
I've tried to Dabble a peripheral membrane protein by simply aligning it to a peripheral membrane protein present in the OPM and feeding this through Dabble. Using certain z dimensions (specified by the user), I can get a system where my protein is indeed sitting at some distance below the membrane. However, when I visualize the periodic boxes, the boxes in the z dimension have large gaps between them, which I imagine should be filled with water but are instead a vacuum. I don't know how I didn't catch this earlier. I think this is what is causing my simulations to form 'micelle-like' membranes. Is there anything I can do to prevent this?
Than you!
Naomi
how do i dabble
I used the following command to dabble:
dabble.py -i B2AR_10ALPs.mae -o B2AR_10ALPs_dabbled.prmtop -m 35 -w 10
and gave dabble on copy of 'alprenolol.rtf'. It failed.
I have 10 copies of the same ligand in the system. So I tried to give dabble 10 copies of the same .rtf files. The same thing happens.
If I give the ligands unique residue names like "ALP1", "ALP2" etc and provide ten .rtf and .prm files with the same unique residue names, dabble works. Or at least it doesn't throw the same error.
I will slack you my input files. Thank you, Robin!
The graph representation doesn't take into account stereochemistry, meaning if there are 2 residue definitions for different stereoisomers (lipid11 R- and S-phosphatidylglycerol for example) one will be returned at random.
I haven't checked this actually happens but it definitely does when I think about my implementation.
Probably detect stereoisomers and prompt the user which one it is at this point.
Hi Robin,
Following your previous message about having resolved Parmed Tools error, I tried using Dabble again:
$ /share/PI/rondror/software/miniconda/bin/dabble.py -i MOR_196_PPM_BK1.mae -o system.prmtop -m 30 -w 10 -O
This time the programme failed with an invalid argument (error given below). Could you advise on how to handle this, please?
Thanks,
AJ
Solute net charge: +15
System net charge: +15
Calculating charge on 3 atoms
WARNING: All charges in selection are zero. Check the input file has formal charges defined!
Selection was:
beta 1 and (element Cl)
set([0.0])
Calculating charge on 55686 atoms
Solvent will be 11189 waters, 12 Na (0.059 M), 30 Cl (0.148 M)
Converting 39 waters to 12 Na ions and 27 Cl ions...
Writing system to system.prmtop with 55608 atoms comprising:
128 lipid molecules
11189 water molecules
Traceback (most recent call last):
File "/share/PI/rondror/software/miniconda/bin/dabble.py", line 170, in
builder.write(opts.output_filename)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/Dabble/builder.py", line 223, in write
tmp_dir=self.tmp_dir)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/Dabble/fileutils.py", line 176, in write_final_system
tmp_dir=tmp_dir)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/Dabble/fileutils.py", line 134, in write_ct_blocks
dir=tmp_dir))[1] for _ in users]
File "/share/PI/rondror/software/miniconda/lib/python2.7/tempfile.py", line 308, in mkstemp
return _mkstemp_inner(dir, prefix, suffix, flags)
File "/share/PI/rondror/software/miniconda/lib/python2.7/tempfile.py", line 239, in _mkstemp_inner
fd = os.open(file, flags, 0600)
OSError: [Errno 22] Invalid argument: '/scratch/PI/rondror/MD_simulations/amber/MOR/mOR_active/mobiL/Sxx-BK1/dabbledAhOd/dabble_tmp_userVlm40E.mae'
Hi Robin,
It looks like I'm having trouble getting Dabble to rename a residue (SEP, in my maestro file) for which I know there exists a correct name (SP1) in the top_all36_prot.rtf file. I seem to be stuck in a bit of a loop. Should I just fix the name in my maestro file?
Thanks so much:
-- Dabble error --
WARNING: Found non-protein residues in protein...
Finding residue name SEP
ERROR: Residue name SEP wasn't found in any input topology. Would you like to rename it?
New residue name or CTRL+D to quit > SP1
Finding residue name SEP
ERROR: Residue name SEP wasn't found in any input topology. Would you like to rename it?
The graph matching algorithm doesn't understand how patches work.
Need to implement the following:
I can't think of a good way to enforce absolute box size (especially in the z dimension) in membrane systems due to how the protein may be peripheral to the membrane in the Z dimension. So right now it doesn't work at all and will give you a pretty randomly sized system if you dabble with --absolute-z
and NOT -M TIP3
.
Actually I can think of plenty of good ways to do this. I am just too lazy to do that right now. guh
Hi Robin,
I have been trying to Dabble an MOR structure with a ligand. As per the requirements, I provide the topology and parameter file (obtained from Paramchem). While the topology file is processed without issues, the parameter file is not being processed (error given below). Do you have any thoughts on how this can be handled?
Thanks,
AJ
Currently using the following parameter files:
par_UNK.prm
Traceback (most recent call last):
File "/share/PI/rondror/software/miniconda/bin/dabble.py", line 170, in
builder.write(opts.output_filename)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/Dabble/builder.py", line 223, in write
tmp_dir=self.tmp_dir)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/Dabble/fileutils.py", line 216, in write_final_system
writer.write(write_psf_name)
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/DabbleParam/amber.py", line 89, in write
self._psf_to_charmm_amber()
File "/share/PI/rondror/software/miniconda/lib/python2.7/site-packages/DabbleParam/amber.py", line 141, in _psf_to_charmm_amber
from ParmedTools import chamber, parmout
ImportError: No module named ParmedTools
I tried to dabble this .mae file: home/shenglan/MD_simulations/prepped_proteins/B2AR_APL/[email protected]
I ran the following command: /share/PI/rondror/software/dabble/dabble.py -i B2AR.mae -o B2AR_dabbled.prmtop --absolute-xy 83.0 --absolute-z 87.0
And got this error:
ERROR) syntax error
Traceback (most recent call last):
File "/share/PI/rondror/software/dabble/dabble.py", line 175, in
builder.write(opts.output_filename)
File "/share/PI/rondror/software/dabble/Dabble/builder.py", line 214, in write
final_id = self.build()
File "/share/PI/rondror/software/dabble/Dabble/builder.py", line 131, in build
if not len(atomsel(self.opts.lipid_sel, molid=self.molids['membrane'])):
ValueError: cannot parse atom selection text 'lipid or resname POPS POPG'
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.