Git Product home page Git Product logo

arpeggio's Introduction

Arpeggio

Outline

Arpeggio calculates interatomic contacts based on the rules defined in CREDO. The program is freely available and requires only Open Source dependencies.

If you make use of Arpeggio, please cite the following article:

Harry C Jubb, Alicia P Higueruelo, Bernardo Ochoa-Montaño, Will R Pitt, David B Ascher, Tom L Blundell, Arpeggio: A Web Server for Calculating and Visualising Interatomic Interactions in Protein Structures, Journal of Molecular Biology, Volume 429, Issue 3, 2017, Pages 365-371, ISSN 0022-2836, https://doi.org/10.1016/j.jmb.2016.12.004. (http://www.sciencedirect.com/science/article/pii/S0022283616305332)

Note: This repository is not currently under active development, however pull requests and issues are welcome. Arpeggio is usable with the instructions below: however there is a more up-to-date and refactored version developed by the wwPDB available at https://github.com/PDBeurope/arpeggio.

  • If you would like to run the original version, or use with Docker or use the web service, please follow the instructions below
  • If you would like to run a more up-to-date version with Python 3.x support, mmCIF support, and more recent bug fixes, using Anaconda, it's recommended to use https://github.com/PDBeurope/arpeggio

Getting Started

Stuck? Start here, and see also the FAQ.

Web Interface

If you would like to run Arpeggio on a small number of individual structures, the easiest way to get started is to use the web interface.

Programmatically

If you need to use Arpeggio programmatically or to run for many structures:

The easiest way to get started is using Docker.

Using the public Docker image

Arpeggio's Docker image is hosted on DockerHub. To use:

docker pull harryjubb/arpeggio

Once downloaded, Arpeggio can be run using:

docker run --rm -v "$(pwd)":/run -u `id -u`:`id -g` -it harryjubb/arpeggio python arpeggio.py /run/1XKK.pdb -s RESNAME:FMM -v

Breaking this down:

  • docker run: run the image
  • --rm: clean up the Docker container when the run is finished
  • -v: bind-mount a host machine directory in the container (with your input files, and where your output files will appear). In this case, the current working directory will be mounted to /run in the container
  • -u `id -u`:`id -g` : Set the user and group in the Docker container to match the host user and group running the container, so that any files written are written as the correct user
  • -it: interactive run with a pseudo-TTY terminal
  • arpeggio: the name of the built Docker image
  • python arpeggio.py: run Arpeggio
  • /run/1XKK.pdb: a PDB file in our mounted host directory
  • -s RESNAME:FMM -v: options passed to Arpeggio, in this case, to calculate interactions for residue with name FMM, and show verbose output

Building the Docker image

You can build the docker image from inside this repository with:

docker build -t 'arpeggio' .

Installing without Docker

If it is not possible to use Docker, please read on for dependencies for manual installation.

Dependencies

Arpeggio is written in Python and currently has the following dependencies:

Dependencies

  • Python (v2.7)
  • Numpy
  • BioPython (>= v1.60)
  • OpenBabel (with Python bindings)

Recommended

  • PyMOL (for visualising contacts)

Arpeggio may work with earlier versions of BioPython, however these haven't been tested. It is recommended that each dependency be the latest version.

Running

python arpeggio.py pdb [options]

Use python arpeggio.py -h for available options.

Arpeggio doesn't do any checking of your PDB structure, other than what BioPython does by default. Alternate locations and missing density are not explicitly accounted for and may result in anomalous results. Please use with caution.

Frequently Asked Questions

See also the GitHub issue questions.

BioPython/OpenBabel are complaining about my structure, what's happening?

Both can be picky about the format of PDB files, for example atom serials must be unique (to map between BioPython and OpenBabel structures), and other issues can raise BioPython errors.

The clean_pdb.py script in https://github.com/harryjubb/pdbtools resolves a number of common errors; if your structure doesn't work, try using that first before trying Arpeggio on the cleaned structure.

My results don't match the output of the web server, what's happening?

In order to prevent errors from BioPython/OpenBabel (described above) causing Arpeggio to fail, the web server preprocesses input PDB files before running Arpeggio. The clean_pdb.py script in https://github.com/harryjubb/pdbtools provides this functionality outside of the web server.

Please also be aware that changing command line options may also result in differences from the web server's output. Arpeggio is run on the web server with the -wh option, and an optional selection.

What happens if my structure does or doesn't have hydrogens?

Arpeggio will add hydrogens using OpenBabel if none are present in the input structure. If your input structure has at least one hydrogen, then hydrogen addition is skipped, and input hydrogens are used. Arpeggio will not add any missing hydrogens to any input structure with at least one hydrogen in (e.g. protein hydrogens will not be added if the ligand is hydrogenated). It is advisable to pre-prepare input structures with a robust hydrogen addition method before running Arpeggio.

How do I determine interactions for multiple residues, e.g. for a protein-protein interface?

Specify multiple -s selection options to define your interface, e.g. -s /A/100/ -s /A/101/ -s /A/102/ -s /A/103/ -s /A/104/ -s /A/104/ -s /A/106/

Run arpeggio.py with the -h option to see help on the selection syntax.

Output Files

*.ari

Atom-aromatic ring interactions.

Column Datatype Description
Atom string <chain_id>/<res_num><ins_code (stripped)>/<atom_name> Uniquely identifies an atom
Ring ID integer Internal number used to identify the aromatic ring
Ring centroid list 3D coordinates of the centre of the ring
Interaction type list Type(s) of interaction this atom/ring are making

*.ri

Aromatic ring-aromatic ring interactions.

Column Datatype Description
Ring 1 ID integer Internal number used to identify the first aromatic ring
Ring 1 Residue string <chain_id>/<res_num> Uniquely identifies the first ring's residue
Ring 1 centroid list 3D coordinates of the centre of the first ring
Ring 2 ID integer Internal number used to identify the second aromatic ring
Ring 2 Residue string <chain_id>/<res_num> Uniquely identifies an the second ring's residue
Ring 2 centroid list 3D coordinates of the centre of the second ring
Inter or intra residue string from (INTER, INTRA_RESIDUE) States whether this ring-ring interaction is within the same residue (e.g. within a small molecule ligand), or between two different residues
Interacting entities string from (INTER, INTRA_NON_SELECTION, INTRA_SELECTION) Distinguishes how this interacting ring pair relates to the selected atoms: see below

*.rings

Aromatic rings found in the structure

Column Datatype Description
Ring ID integer Internal number used to identify the ring
Ring Residue string <chain_id>/<res_num> Uniquely identifies the ring's residue
Ring centroid list 3D coordinates of the centre of the ring

*.atomtypes

Atom types for all of the atoms for which interactions are calculated for. This includes the selected atoms, and the atoms that those atoms interact with.

Column Datatype Description
Atom string <chain_id>/<res_num><ins_code (stripped)>/<atom_name> Uniquely identifies an atom
Atom types list All the atom types that this atom possesses

*.contacts

Pairwise contacts between two individual atoms.

Column Datatype Description
Atom 1 string <chain_id>/<res_num><ins_code (stripped)>/<atom_name> Uniquely identifies the first atom in this contact
Atom 2 string <chain_id>/<res_num><ins_code (stripped)>/<atom_name> Uniquely identifies the second atom in this contact
Clash boolean::integer Denotes if the covalent radii of the two atoms are clashing, i.e. steric clash
Covalent boolean::integer Denotes if the two atoms appear to be covalently bonded
VdW Clash boolean::integer Denotes if the van der Waals radii of the two atoms are clashing
VdW boolean::integer Denotes if the van der Waals radii of the two atoms are interacting
Proximal boolean::integer Denotes the two atoms being > the VdW interaction distance, but with in 5 Angstroms of each other
Hydrogen Bond boolean::integer Denotes if the atoms form a hydrogen bond
Weak Hydrogen Bond boolean::integer Denotes if the atoms form a weak hydrogen bond
Halogen Bond boolean::integer Denotes if the atoms form a halogen bond
Ionic boolean::integer Denotes if the atoms may interact via charges
Metal Complex boolean::integer Denotes if the atoms are part of a metal complex
Aromatic boolean::integer Denotes two aromatic ring atoms interacting
Hydrophobic boolean::integer Denotes two hydrophobic atoms interacting
Carbonyl boolean::integer Denotes a carbonyl-carbon:carbonyl-carbon interaction
Polar boolean::integer Less strict hydrogen bonding (without angle terms)
Weak Polar boolean::integer Less strict weak hydrogen bonding (without angle terms)
Interacting entities string from (INTER, INTRA_NON_SELECTION, INTRA_SELECTION, SELECTION_WATER, NON_SELECTION_WATER, WATER_WATER) Distinguishes how this atom pair relates to the selected atoms: see below

Clash, Covalent, VdW Clash, VdW and Proximal interactions are mutually exclusive: Other interactions can occur simultaneously.

Entity interactions:

  • INTER: Between an atom from the user's selection and a non-selected atom
  • INTRA_SELECTION: Between two atoms both in the user's selection
  • INTRA_NON_SELECTION: Between two atoms that are both not in the user's selection
  • SELECTION_WATER: Between an atom in the user's selection and a water molecule
  • NON_SELECTION_WATER: Between an atom that is not in the user's selection and a water molecule
  • WATER_WATER: Between two water molecules

*.bs_contacts

As with *.contacts, but only including interactions in the binding site (i.e. interactions involving atoms that were selected by the user, with atoms not selected by the user, as opposed to any intra-selection interactions.

*.sift

Interaction fingerprints for individual atoms. These are binary (i.e., on/off) indications of an atom's interaction, not counts.

Column Datatype Description
Atom string <chain_id>/<res_num><ins_code (stripped)>/<atom_name> Uniquely identifies the atom
Clash boolean::integer Denotes if the atom is involved in a steric clash
Covalent boolean::integer Denotes if the atom appears to be covalently bonded
VdW Clash boolean::integer Denotes if the van der Waals radius of the atom is clashing with one or more other atoms
VdW boolean::integer Denotes if the van der Waals radius of the the atom is interacting with one or more other atoms
Proximal boolean::integer Denotes if the atom is > the VdW interaction distance, but with in 5 Angstroms of other atom(s)
Hydrogen Bond boolean::integer Denotes if the atom forms a hydrogen bond
Weak Hydrogen Bond boolean::integer Denotes if the atom forms a weak hydrogen bond
Halogen Bond boolean::integer Denotes if the atom forms a halogen bond
Ionic boolean::integer Denotes if the atom may interact via charges
Metal Complex boolean::integer Denotes if the atom is part of a metal complex
Aromatic boolean::integer Denotes an aromatic ring atom interacting with another aromatic ring atom
Hydrophobic boolean::integer Denotes hydrophobic interaction
Carbonyl boolean::integer Denotes a carbonyl-carbon:carbonyl-carbon interaction
Polar boolean::integer Less strict hydrogen bonding (without angle terms)
Weak Polar boolean::integer Less strict weak hydrogen bonding (without angle terms)

*.specific.sift

Interaction fingerprints for individual atoms. These are binary (i.e., on/off) indications of an atom's interaction, not counts.

The columns match the *.sift files, but the first 15 columns (after the atom identifier) denote only interactions between the selection made by the user, and non-selection atoms; the second 15 columns indicate interactions made within the selection made by the user; and the third 15 columns indicate interactions made with water only.

*.siftmatch, *.polarmatch

These files are for testing purposes.

arpeggio's People

Contributors

harryjubb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arpeggio's Issues

arpeggio for RNA or DNA?

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).

I cannot retrieve my pdb file- using powershell as Admin

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

Support for multi-model pdb

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.

Command Line vs WebServer

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.

running docker image problem

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

Multi chain protein complexes issue command line

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

Running docker image : BioPython

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

cannot print output file

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

arpeggio translation to 3.7 - script works, but a few bugs

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.

Arpeggio dies when PDB file includes altLoc specifier

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

Arpeggio gives "selection empty" or error for residue with no side-chain

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

s- command is not working

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

Get only 'INTER' in .contacts file if I use selections.

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?

How to concentrate only on the interchain interactions

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?

mmCIF input

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.

.ari output in Arpeggio web interface

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?

Invalid syntax after mutagenesis.

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

Default parameters on the webserver vs parameters command line

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

Definition of the interactions

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.