harryjubb / arpeggio Goto Github PK
View Code? Open in Web Editor NEWCalculation of interatomic interactions in molecular structures
Home Page: http://biosig.unimelb.edu.au/arpeggioweb/
License: GNU General Public License v3.0
Calculation of interatomic interactions in molecular structures
Home Page: http://biosig.unimelb.edu.au/arpeggioweb/
License: GNU General Public License v3.0
Dear Dr. Jubb,
I am interested in using the Arpeggio package that you developed with Tom Blundell to analyse a structure that we recently determined. I have installed Docker and pulled the docker image from DockerHub following these instructions:
https://github.com/harryjubb/arpeggio
Unfortunately, the run command gives me the following error:
docker: Error response from daemon: unable to find user leonart3: no matching entries in passwd file.
Have you encountered this problem before and what is the fix? I am running a brand new MacBook Pro. Docker installed fine and I went though running the docker tutorial to familiarise myself with the system. Unfortunately, since the Arpeggio webserver is currently not responding, I need to run Arpeggio locally, but in any case I would like to have the ability to run the software on my machine.
Any help to fix my problem would be very gratefully received.
Kind regards,
Thomas Leonard
Hi Harry,
I am trying to select a residue with no chain (//ALA`24/CA), but when I try to calculate the interactions with arpeggio, it gives me this output:
docker run --rm -v directory-path -u XXXX:XXXX -it arpeggio python arpeggio.py /XXXX.pdb -s /0/24/ -v
INFO//12:09:16.966//Program begin.
INFO//12:09:17.017//Loaded PDB structure (BioPython)
INFO//12:09:17.078//Loaded PDB structure (OpenBabel)
INFO//12:09:17.093//Mapped OB to BioPython atoms and vice-versa.
INFO//12:09:17.250//Added hydrogens.
INFO//12:09:17.480//Typed atoms.
INFO//12:09:17.498//Determined atom explicit and implicit valences, bond orders, atomic numbers, formal charge and number of bound hydrogens.
INFO//12:09:17.537//Initialised SIFts.
INFO//12:09:17.545//Determined polypeptide residues, chain breaks, termini
INFO//12:09:18.044//Percieved and stored rings.
INFO//12:09:18.071//Perceived and stored amide groups.
INFO//12:09:18.106//Added hydrogens to BioPython atoms.
INFO//12:09:18.115//Added VdW radii.
INFO//12:09:18.123//Added covalent radii.
INFO//12:09:18.128//Completed NeighborSearch.
INFO//12:09:18.132//Assigned rings to residues.
ERROR//12:09:18.135//Selection was empty.
I've tried with -s //24/
and it gave me this:
INFO//12:10:45.387//Program begin.
INFO//12:10:45.444//Loaded PDB structure (BioPython)
INFO//12:10:45.504//Loaded PDB structure (OpenBabel)
INFO//12:10:45.519//Mapped OB to BioPython atoms and vice-versa.
INFO//12:10:45.675//Added hydrogens.
INFO//12:10:45.902//Typed atoms.
INFO//12:10:45.921//Determined atom explicit and implicit valences, bond orders, atomic numbers, formal charge and number of bound hydrogens.
INFO//12:10:45.959//Initialised SIFts.
INFO//12:10:45.968//Determined polypeptide residues, chain breaks, termini
INFO//12:10:46.464//Percieved and stored rings.
INFO//12:10:46.489//Perceived and stored amide groups.
INFO//12:10:46.526//Added hydrogens to BioPython atoms.
INFO//12:10:46.534//Added VdW radii.
INFO//12:10:46.542//Added covalent radii.
INFO//12:10:46.546//Completed NeighborSearch.
INFO//12:10:46.551//Assigned rings to residues.
ERROR//12:10:46.551//Invalid selector: //24/
Traceback (most recent call last):
File "arpeggio.py", line 1406, in
selection = selection_parser(args.selection, entity)
File "arpeggio.py", line 187, in selection_parser
raise SelectionError(original_selection)
main.SelectionError
I had no issue when I was using arpeggio for a receptor with side-chains.
Do you have any solution for this?
Kind regards,
Maria
Hi Harry,
I'm running arpeggio within the shell you provided after translating arpeggio to python 3.7. I was able to calculate contacts without using the '-s'
command, but I wasn't able to get the memory usage. This was the error I got:
D:/arpeggio-master/arpeggio.py:110: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
if isinstance(x, collections.Iterable):
WARNING:root:Resource usage information not available ().
Running show contacts.
File "D:/arpeggio-master/show_contacts.py", line 432
print 'Please select XML-RPC (-xml) or script (-s) output.'
When I tried to calculate the interactions with a specific residue usingos.system('run_and_show.sh file.pdb -s /B/100/ -v')
, this happened:
ERROR:root:Invalid selector: B:/100/
Traceback (most recent call last):
File "D:/arpeggio-master/arpeggio.py", line 1408, in <module>
selection = selection_parser(args.selection, entity)
File "D:/arpeggio-master/arpeggio.py", line 239, in selection_parser
raise SelectionError(original_selection)
__main__.SelectionError: B:/100/
Running show contacts.
File "D:/arpeggio-master/show_contacts.py", line 432
print 'Please select XML-RPC (-xml) or script (-s) output.'
Any ideas on how to solve this?
Note: I didn't change the lines related to those two errors.
Hi Harry,
I've been trying to open my pdb file in different ways using your example, but these are the errors that are coming up.
PS C:\WINDOWS\system32> docker run --rm -v :/run -it harryjubb/arpeggio python arpeggio.py pdb -s C:\WINDOWS\system32\CB2HU210_fixed6.pdb -v
INFO//10:26:26.783//Program begin.
Traceback (most recent call last):
File "arpeggio.py", line 708, in
s = pdb_parser.get_structure('structure', pdb_filename)
File "/usr/local/lib/python2.7/site-packages/Bio/PDB/PDBParser.py", line 85, in get_structure
with as_handle(file, mode='rU') as handle:
File "/usr/local/lib/python2.7/contextlib.py", line 17, in enter
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/Bio/File.py", line 113, in as_handle
with open(handleish, mode, **kwargs) as fp:
IOError: [Errno 2] No such file or directory: 'pdb'
PS C:\WINDOWS\system32> docker run --rm -v :/run -it harryjubb/arpeggio python arpeggio.py -s CB2HU210_fixed6.pdb -v
usage: arpeggio.py [-h] [-s SELECTION [SELECTION ...] | -sf SELECTION_FILE]
[-wh] [-mh] [-ms MINIMISATION_STEPS]
[-mf {MMFF94,UFF,Ghemical}]
[-mm {DistanceGeometry,SteepestDescent,ConjugateGradients}]
[-co VDW_COMP] [-i INTERACTING] [-ph PH] [-sa] [-a] [-he]
[-op OUTPUT_POSTFIX] [-v]
pdb
arpeggio.py: error: too few arguments
PS C:\WINDOWS\system32> docker run --rm -v :/run -it harryjubb/arpeggio python arpeggio.py /run/CB2HU210_fixed6.pdb -s RESNAME:FMM -v
INFO//10:29:02.821//Program begin.
Traceback (most recent call last):
File "arpeggio.py", line 708, in
s = pdb_parser.get_structure('structure', pdb_filename)
File "/usr/local/lib/python2.7/site-packages/Bio/PDB/PDBParser.py", line 85, in get_structure
with as_handle(file, mode='rU') as handle:
File "/usr/local/lib/python2.7/contextlib.py", line 17, in enter
return self.gen.next()
File "/usr/local/lib/python2.7/site-packages/Bio/File.py", line 113, in as_handle
with open(handleish, mode, **kwargs) as fp:
IOError: [Errno 2] No such file or directory: '/run/CB2HU210_fixed6.pdb'
PS C:\WINDOWS\system32> docker run --rm -v "$(pwd)":/run -u id -u
:id -g
-it harryjubb/arpeggio python arpeggio.py /run/1XKK.pdb -s RESNAME:FMM -v
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: invalid reference format.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.
Note: I've given a try again with the example at the end and the same thing is happening.
Kind regards,
Maria
See below. Removing the altLoc specifications in 3QNM.pdb resolves the problem.
$ arpeggio.py 3QNM.pdb
ERROR//15:58:12.122//OpenBabel OBAtom with PDB serial number 1193 could not be matched to a BioPython counterpart.
Traceback (most recent call last):
File "/homes/chonofsk/bin/arpeggio/arpeggio.py", line 752, in <module>
raise OBBioMatchError(serial)
__main__.OBBioMatchError
Allow mmCIF files to be used as input.
it should be a case of changing a few places of in the code where โ.pdbโ is hard-coded as the extension, to output the correct extension. A command line flag (and/or file extension detection) will probably have to be added to say which type of file is being processed and therefore use the right parsers.
Hi,
I was wondering which parameters (from the list we can us in the command line) are used when the interactions are calculated on the webserver? i.e. if there is energy minimisation of the hydrogens, how many hydrogen minimisation steps, with which forcefield (MMFF94,UFF or Ghemical), with which method (Distance Geometry, Steepest Descent or Conjugate Gradients), which compensation factor for VdW radii dependent interactions types, which distance cutoff for grid points to be 'interacting' with the entity and finally which pH is set as default?
Thank you
Can the arpeggio be used to detect interactions if the receptor is RNA or DNA? Tests indicate that it works for some cases, eg., for 1AJU, but fails to run on 1Q8N or 5SWE (RNA) and 3EM2 or 3MVB (DNA).
Hi, thanks for the software.
I have a PDB for an antibody-antigen complex with three chains: H, L, N. However, the output of Arpeggio showed that it mainly concentrated on intrachain interactions like:
H/16/O H/85/O 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 INTRA_SELECTION
N/119/O N/140/O 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 INTRA_SELECTION
I want interchain interactions like:
H/x/x N/x/x ...
L/x/x H/x/x ...
How can I do that, on web server and in a programmatic way?
Hello,
I was wondering if you can link the definition you used for a weak hydrogen bond, hydrophobic interaction and so on. The hyperlinks linked to CREDO do not work.
Thank you.
Charlotte
I ran arpeggio as so
python arpeggio.py my.pdb -s /D// -wh
python show_contacts.py my.pdb -s
So I compared my .pml file with the .pse file I got from the web server, and they're slightly different.
I would like to know how can you produce the same results that you get from the web server using command line? What are the designated options for arpeggio.py when running on the web server? How do you produce .pse file with command line?
Thank you.
Hello there
Please does the command line tool produces a pymol .pse for visualization?
Thanks
From https://bitbucket.org/harryjubb/arpeggioweb/issues/20/default-parameters-hydrogen-adding:
Hello,
I was wondering which parameters (method, forcefield, number of steps) are used on the online tool of Arpeggio?
Thank you for your time.
Sincerly,
Charlotte Crauwels
Hi Harry,
I was able to run arpeggio on my file with no issue, but now I can't select the ligand.
This is what's coming up:
docker run --rm -v c:/directory:/pdbfile -it arpeggio python arpeggio.py /pdbfile s- '/E/999[LI2]/' v-
usage: arpeggio.py [-h] [-s SELECTION [SELECTION ...] | -sf SELECTION_FILE]
[-wh] [-mh] [-ms MINIMISATION_STEPS]
[-mf {MMFF94,UFF,Ghemical}]
[-mm {DistanceGeometry,SteepestDescent,ConjugateGradients}]
[-co VDW_COMP] [-i INTERACTING] [-ph PH] [-sa] [-a] [-he]
[-op OUTPUT_POSTFIX] [-v]
pdb
arpeggio.py: error: unrecognized arguments: s- /E/999[LI2]/ v-
I tried also with RESNAME:999 and had the same issue.
Reminder: I'm working with Windows.
Kind regards,
Maria
Hi Harry,
I've been trying to use the print script on python ,but I can't get the *.contacts output file.
The script runs perfectly fine , but this is all I'm getting :
INFO//15:09:10.727//Program begin.
INFO//15:09:10.776//Loaded PDB structure (BioPython)
INFO//15:09:10.777//Detected that the input structure contains hydrogens. Hydrogen addition will be skipped.
INFO//15:09:10.984//Loaded PDB structure (OpenBabel)
INFO//15:09:10.994//Mapped OB to BioPython atoms and vice-versa.
INFO//15:09:11.127//Typed atoms.
INFO//15:09:11.137//Determined atom explicit and implicit valences, bond orders, atomic numbers, formal charge and number of bound hydrogens.
INFO//15:09:11.171//Initialised SIFts.
WARNING//15:09:11.174//Chain termini could not be determined for chain E. It may not be a polypeptide chain.
INFO//15:09:11.176//Determined polypeptide residues, chain breaks, termini
INFO//15:09:11.341//Percieved and stored rings.
INFO//15:09:11.361//Perceived and stored amide groups.
INFO//15:09:11.367//Added hydrogens to BioPython atoms.
INFO//15:09:11.372//Added VdW radii.
INFO//15:09:11.377//Added covalent radii.
INFO//15:09:11.381//Completed NeighborSearch.
INFO//15:09:11.384//Assigned rings to residues.
INFO//15:09:11.386//Made selection.
INFO//15:09:11.482//Expanded to binding site.
INFO//15:09:11.483//Flagged selection rings.
INFO//15:09:11.484//Completed new NeighbourSearch.
INFO//15:09:11.553//Calculated pairwise contacts.
INFO//15:09:11.710//Program End. Maximum memory usage was 83.724 MB.
Kind regards,
Maria
Hi
I have got an error message while I was trying to find the interactions within a complexe made of 3 chains in the command line with the following parameters:
'[1KXV_1.clean.pdb', '-s', '/A/2/', '-s', '/A/154/', '-s', '/A/155/', '-s', '/A/203/', '-s', '/A/204/', '-s', '/A/205/', '-s', '/A/206/', '-s', '/A/208/', '-s', '/A/241/', '-s', '/A/243/', '-s', '/A/245/', '-s', '/A/246/', '-s', '/A/248/', '-s', '/A/249/', '-s', '/A/282/', '-s', '/A/283/', '-s', '/A/285/', '-s', '/A/288/', '-s', '/A/290/', '-s', '/A/291/', '-s', '/B/122/', '-s', '/B/123/', '-s', '/B/124/', '-s', '/B/133/', '-s', '/B/134/', '-s', '/B/138/', '-s', '/B/139/', '-wh', '-mh', '-ms', '10', '-mf', 'MMFF94', '-mm', 'ConjugateGradients', '-ph', '7.4', '-he']'
The error message was :
"This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."
Only the .atomtypes is created.
However, while I tried to find the interactions in the same complexe at the same residues on the web server, the output files were solved quite fastly.
Is there a way to manage this kind of complexes with multiple chains in the command line? If not, please refer to my previous question which is: "What are the default parameters used on the webserver to find the interactions (number of hydrogen minimisation steps, forcefield, method ...) ?" so I can use the outputs from the webserver.
Thank you
Hello Harry and team, great work on creating arpeggio. I am currently using the web interface but I could not find the .ari output in the "full data package" output. Am I missing something?
Hello
I was wondering if it is currently possible or possible to enhance arpeggio with support for multimodel PDB. From the source, the input structure is loaded with biopython PDBParser which also support multi-model pdb.
However, I am seeing that the structure is also loaded using Open Babel, not sure if that one support multi-models, or how essential it is for the output.
If multi-model PDB can be loaded, this could be a nice feature for MD trajectories for example. I actually try a version in which every trajectory frame is dumped and then read by arpeggion and all the output are parsed and concatenated into a panda pandadataframe with good methods for analysis. Then one can get some interesting plots like the attached file.
Hydrogen Bond.pdf
This ligand is leaving a protein.
Hi here,
I just got to know that the I cannot get any "INTRA" interaction when I provide more than one selection.
As an example, I ran the following commands on a PDB structure, 3L5X (PDB ID).
python arpeggio.py 3L5X.pdb -s /H/104 -s /A/107
python arpeggio.py 3L5X.pdb -s /H// -s /A//
From the first command, I expected any interactions between /A/107/ and /H/104/ to be 'INTRA' but they were considered as INTER.
Similarly, when I used only chain identifier for the selections (H and A), all of interactions were marked as INTER.
I cannot think of any clue of this issue...
Any ideas?
Hi Harry,
I wanted to run arpeggio using the docker image and the example you provide. I tried:
run --rm -v "$(pwd)":/run -u
id -u:
id -g -it harryjubb/arpeggio python arpeggio.py /run/1uyk.pdb -s RESNAME:PUX -v
and i get :
INFO//11:52:21.248//Program begin. INFO//11:52:21.321//Loaded PDB structure (BioPython) INFO//11:52:21.701//Loaded PDB structure (OpenBabel) ERROR//11:52:21.712//OpenBabel OBAtom with PDB serial number 1468 could not be matched to a BioPython counterpart. Traceback (most recent call last): File "arpeggio.py", line 759, in <module> raise OBBioMatchError(serial) __main__.OBBioMatchError
Any idea why this happens .... ?
Cheers
Peter
when I upload my pdb file the ligand is missing, I have checked and it is present in the original file but when loaded it is not present and is not registered in the output.
https://bitbucket.org/harryjubb/arpeggioweb/issues/21/incorrect-pdb-loading
Using:
docker run --rm -v c:/<directory-location>:/<container-location> -u 1000:1000 -it arpeggio python /pathto/file.pdb -s RESNAME:xxx -v
Output:
File "/pathto/file.pdb", line 1
ATOM 1 N VAL B 19 -26.876 -10.933 2.860 1.00 0.00 N
^
SyntaxError: invalid syntax
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.