NAME
Bio::Tools::Run::QCons - Run Qcons to analyze protein-protein contacts
VERSION
version 0.112880
SYNOPSIS
my $q = Bio::Tools::Run::QCons->new(
file => $pdbfile,
chains => [$chain1, $chain2],
);
my $contacts_by_atom = $q->atom_contacts;
$contacts_by_residue = $q->residue_contacts;
DESCRIPTION
This module implements a wrapper for the QCons application. QCons itself
is an implementation of the Polyhedra algorithm for the prediction of
protein-protein contacts. From the program's web page
():
"QContacts allows for a fast and accurate analysis of protein binding
interfaces. Given a PDB file [...] and the interacting chains of
interest, QContacts will provide a graphical representation of the
residues in contact. The contact map will not only indicate the contacts
present between the two proteins, but will also indicate whether the
contact is a packing interaction, hydrogen bond, ion pair or salt bridge
(hydrogen-bonded ion pair). Contact maps allow for easy visualization
and comparison of protein-protein interactions."
For a thorough description of the algorithm, its limitations and a
comparison with several others, refer to Fischer, T. et. al: Assessing
methods for identifying pair-wise atomic contacts across binding
interfaces, J. Struc. Biol., vol 153, p. 103-112, 2006.
ATTRIBUTES
file
Gets or sets the file with the protein structures to analyze. The file
format should be PDB.
Required.
chains
chains => ['A', 'B'];
Gets or sets the chain IDs of the subunits whose contacts the program
will calculate. It takes an array reference of two strings as argument.
Required.
probe_radius($radius);
Gets or sets the probe radius that the program uses to calculate the
exposed and buried surfaces. It defaults to 1.4 Angstroms, and unless
you have a really strong reason to change this, you should refrain from
doing it.
verbose
Output debugging information to "STDERR". Off by default.
program_name
The name of the executable. Defaults to 'Qcontacts', but it can be set
to anything at construction time:
my $q = Bio::Tools::Run::QCons->new(
program_name => 'qcons',
file => $pdbfile,
chains => [$chain1, $chain2],
Notice that if the binary is not on your PATH environment variable, you
should give "program_name" a full path to it.
atom_contacts
Return an array reference with the information of every atom-atom
contact found.
The structure of the array reference is as follows:
$by_atom = [
{
'area' => '0.400',
'type' => 'V',
'atom2' => {
'number' => '461',
'res_name' => 'SER',
'res_number' => '59',
'name' => 'OG'
},
'atom1' => {
'number' => '2226',
'res_name' => 'ASN',
'res_number' => '318',
'name' => 'CB'
}
},
]
This corresponds to the information of one contact. Here, 'atom1' refers
to the atom belonging to the first of the two polypeptides given to the
'chains' method; 'atom2' refers to the second. The fields 'number' and
'name' refer to the atom's number and name, respectively. The fields
'res_name' and 'res_number' indicate the atom's parent residue name and
residue id. 'type' indicates one of the five non-covalent bonds that the
program predicts:
residue_contacts
Returns an array reference with the information of every residue-residue
contact found.
The structure of the array is organized as follows:
$by_res = [
{
'area' => '20.033',
'res1' => {
'number' => '318',
'name' => 'ASN'
},
'res2' => {
'number' => '59',
'name' => 'SER'
}
},
]
Here, bond type is obviously not given since the contact can possibly
involve more than one atom-atom contact type. 'res1' and 'res2'
correspond to the residues of the first and second chain ID given,
respectively. 'area' is the sum of every atom-atom contact that the
residue pair has. Their names (as three-letter residue names) and number
are given as hashrefs.
Every bond type has the 'area' attribute, which indicates the surface
(in square Angstroms) of the interaction. In addition, all N-O contacts
(I, S and H) have a 'Rno' value that represents the N-O distance.
Directional contacts (S and H) also have an 'angle' feature that
indicates the contact angle. For salt bridges, estimations of the free
energy of hydrogen bond (dGhb) and free energy of ionic pair (dGip) are
also given.
THANKS
To Chad Davis for prodding me to dust off and release this module to the
CPAN.
AUTHOR
Bruno Vecchi
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Bruno Vecchi.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.