Re: [ccp4bb] Structure alignment

2012-07-23 Thread Edwin Pozharski

One of many possible ways is to use rms_cur command in pymol.

But fundamentally such number is meaningless, since root mean square 
deviation is only useful when the average shift between the two 
structures is (close to) zero.



On 07/23/2012 11:06 AM, Theresa Hsu wrote:

Dear all

I have two proteins in PDB each with two subunits. One of the subunits can 
align well in both. How do I calculate rmsd for the aligned subunits and the 
other non-align subunits *separately*?

Thank you.


Re: [ccp4bb] Structure alignment

2012-07-23 Thread eugene . krissinel
Dear Theresa,

You could use Gesamt from CCP4 6.3.0, which will align a given range of 
residues in one protein onto a range of residues from another protein. Just run 
$CCP4/bin/gesamt for usage instructions and selection syntax, or use Structure 
Superposition from CCP4i.

Best,

Eugene


On 23 Jul 2012, at 16:06, Theresa Hsu wrote:

 Dear all
 
 I have two proteins in PDB each with two subunits. One of the subunits can 
 align well in both. How do I calculate rmsd for the aligned subunits and the 
 other non-align subunits *separately*?
 
 Thank you.


-- 
Scanned by iCritical.



Re: [ccp4bb] structure alignment based on the ligand

2009-04-13 Thread Abhinav Kumar

Hi,I am attaching a program that will do what you want.After entering the file names (one fixed and the other moving), the program asks for anchor atom names, i.e. a few atoms in your ligand that you want to use as reference atoms for computing the alignment. If you do not give any atom names, all atoms of the ligand will be used as the anchor atoms.You can repeat this process to align all of your pdb files to one reference file.#!/usr/bin/perl
##
use warnings;
use strict;
##
#
# DESCRIPTION: LSQKAB
# AK 3/08
#
## Reference:
## A solution for the best rotation to relate two sets of vectors
##  -- Wonfgang Kabsch, Acta Cryst. A32, 922, 1976
#
##
my ( @R, @RtR, @avector, @mu, @bvector, @U );
##
my $line = '-' x 70 . \n;
print $line;
print  Enter reference pdb name: ;

#my $ref_pdb = 1mht.pdb;
my $ref_pdb = STDIN;
chomp $ref_pdb;
print  Enter moving pdb name: ;

#my $mov_pdb = 1x1b.pdb;
my $mov_pdb = STDIN;
chomp $mov_pdb;
print  Ligand residue chain and number must be same in both files.\n;
print  Enter residue chain and number: [Z 999] ;

#my $chain_num = Z 999;
my $chain_num = STDIN;
chomp $chain_num;
my ( $chain_mol, $num_mol ) = split  , $chain_num;
print  Enter anchor atoms: (case sensitive) ;

#my $anchor_atoms = N1 N3 N6 N7 N9 C2' C4' SD CG C;
my $anchor_atoms = STDIN;
chomp $anchor_atoms;
unless ($anchor_atoms) {
print   == All atoms in the residue '$chain_num' will be used for LSQ.\n;
}
print $line;
print Reference pdb:\t$ref_pdb\n;
print Moving pdb:\t$mov_pdb\n;
print Range:\t$chain_mol-$num_mol\n;
##
my %pdb_ref = ReadPDB($ref_pdb);
my %pdb_mov = ReadPDB($mov_pdb);
## Verify that the anchor atoms are present in both files in that residue.
Delete_missing_anchor_atoms();
print Anchor atoms:\t$anchor_atoms\n;
print $line;

### find centroids
my @center_ref = Center( \%pdb_ref );
my @center_mov = Center( \%pdb_mov );

### shift molecule to origin
Move_to_origin( @center_ref, \%pdb_ref );
Move_to_origin( @center_mov, \%pdb_mov );

Construct_R();  ### r[ij] = sum_atoms(yi * xj)
Construct_RtR();### RtR = R-transpose * R

#Print_matrix(\...@r);
#Print_matrix(\...@rtr);
Eigen(@RtR);### Eigen values (mu) /Eigen vectors (a-vector) of RtR

#print \nEigen values = @mu\n;
#Print_matrix(\...@avector);
Construct_bvector();### bvector = (R * a-vector)/sqrt(eigen value)

#Print_matrix(\...@bvector);
Construct_U();  ### U = Rotation matrix = b-vector * a-vector
Print_matrix( \...@u );

my @translation = Apply_trans( @center_ref, @center_mov, @U );
printf %12.6f\t, $_ for @translation;
print \n;
Rotate_moving_pdb();### transform the moving structure
##
sub Apply_trans {
my ( $cxr, $cyr, $czr, $cxm, $cym, $czm, @mat ) = @_;
my @in  = ( $cxm, $cym, $czm );
my @out = ( $cxr, $cyr, $czr );
for ( my $i = 0 ; $i  3 ; $i++ ) {
for ( my $j = 0 ; $j  3 ; $j++ ) {
$out[$i] -= $mat[$i][$j] * $in[$j];
}
}
return @out;
}
###
sub Center {
my $coord = shift;
my ( $sumx, $sumy, $sumz );
my $n = 0;
foreach my $atom ( keys %{$coord} ) {
$sumx += $coord-{$atom}{x};
$sumy += $coord-{$atom}{y};
$sumz += $coord-{$atom}{z};
$n++;
}
$sumx /= $n;
$sumy /= $n;
$sumz /= $n;
return ( $sumx, $sumy, $sumz );
}
###
sub Construct_R {
my @x;
my @y;
my $n = 0;
foreach my $atom ( keys %pdb_ref ) {
$x[$n][0] = $pdb_mov{$atom}{x};
$x[$n][1] = $pdb_mov{$atom}{y};
$x[$n][2] = $pdb_mov{$atom}{z};
$y[$n][0] = $pdb_ref{$atom}{x};
$y[$n][1] = $pdb_ref{$atom}{y};
$y[$n][2] = $pdb_ref{$atom}{z};
$n++;
}
my $natoms = $n;
for ( my $i = 0 ; $i  3 ; $i++ ) {
for ( my $j = 0 ; $j  3 ; $j++ ) {
$R[$i][$j] = 0;
for ( my $n = 0 ; $n  $natoms ; $n++ ) {
$R[$i][$j] += $y[$n][$i] * $x[$n][$j];
}
}
}
}
##
sub Construct_bvector {
for ( my $i = 0 ; $i  3 ; $i++ ) {
for ( my $j = 0 ; $j  3 ; $j++ ) {
$bvector[$i][$j] = 0;
for ( my $k = 0 ; $k  3 ; $k++ ) {
$bvector[$i][$j] += $R[$j][$k] * $avector[$i][$k];
}
$bvector[$i][$j] /= sqrt( $mu[$i] );
}
}
}
##
sub 

Re: [ccp4bb] structure alignment based on the ligand

2009-04-13 Thread Miri Hirshberg

Mon., April. 13th 2009
EBI

On Sun, 12 Apr 2009, rui wrote:


Hi, All
I have dozens of complex structures ( protein + ligand ) and want to align
the structures based on the ligand. Does anyone know such kind of program?
Or if can get the information around the ligand site, that would be even
better.
Thanks.

R



long time ago I used ProFit for exactly want you want, giving it only the 
ligand atom list for the fitting, then looking for the different 
protein environment. There is now a new version of the program.


 http://www.bioinf.org.uk/software/profit/

Good luck

Miri

 
Dr Miri Hirshberg
European Bioinformatics Institute UK
http://www.ebi.ac.uk

Phone: +44 (0) 1223 492647
FAX:   +44 (0) 1223 494487



Re: [ccp4bb] structure alignment based on the ligand

2009-04-13 Thread junfeng liu

Coot can do that. You can use lsq to overlap the whole atoms of ligands.
Another way is using LigAlign in Pymol.
Good luck!
leo

rui wrote:

Hi, All

I have dozens of complex structures ( protein + ligand ) and want to 
align the structures based on the ligand. Does anyone know such kind 
of program? Or if can get the information around the ligand site, that 
would be even better.

Thanks.

R


Re: [ccp4bb] structure alignment based on the ligand

2009-04-13 Thread Christian Biertuempfel
Hi,
To complete the responses you already have got, I recommend to use
LSQMAN ( http://xray.bmc.uu.se/usf/lsqman_man.html ) for your alignment
task. It can only compare two structures at a time but LSQMAN can easily
be run script-based (using one structure as the reference).

Select either all atoms 'at al' or define your own set with
'at de atom definition(s) as in pdb ' for the superimposition and
choose the residue numbers of your ligand for alignment.

Happy Eastern!
christian



rui wrote:
 Hi, All
 
 I have dozens of complex structures ( protein + ligand ) and want to
 align the structures based on the ligand. Does anyone know such kind of
 program? Or if can get the information around the ligand site, that
 would be even better.
 Thanks.
 
 R

-- 
___

Dr. Christian Biertümpfel
Laboratory of Molecular Biology

NIDDK/National Institutes of Health  phone: +1 301 402 4647
9000 Rockville Pike, Bldg. 5, Rm. B1-03  fax:   +1 301 496 0201
Bethesda, MD 20892-0580
USA
___


Re: [ccp4bb] structure alignment based on the ligand

2009-04-12 Thread John Badger
If you mean that you have many structure files for the same protein but with 
different ligands you can automatically align them all based on just the target 
site CA atoms (i.e. defined as those close to one of the ligands) using the 
Job/Cocrystal superposition application in MIFit8
http://code.google.com/p/mifit/
See tutorial lesson 15. One of the outputs is a file containing all of the 
aligned 
ligands.

It is also possible to perform bulk import of prealigned PDB files placed in 
the 
same directory with the normal File/Open Models... command but holding down 
the shift button and selecting the many structure files with the mouse. 
Different models will be displayed in different colors. 

For medically interesting proteins it is increasingly the case that there are 
dozens of cocrystals in the PDB and it becomes tedious to understand how 
they relate to each other without an alignment tool that can automatically run 
over the whole set.


Re: [ccp4bb] structure alignment based on the ligand

2009-04-12 Thread rui
Thanks for the answer. Actually, it's the opposite. I have many structures
that have different protein but with the same ligand(sugar). And I want to
fixed the ligand and align the different proteins to see the active site.

On Sun, Apr 12, 2009 at 7:36 PM, John Badger jbadg...@san.rr.com wrote:

 If you mean that you have many structure files for the same protein but
 with
 different ligands you can automatically align them all based on just the
 target
 site CA atoms (i.e. defined as those close to one of the ligands) using the
 Job/Cocrystal superposition application in MIFit8
 http://code.google.com/p/mifit/
 See tutorial lesson 15. One of the outputs is a file containing all of the
 aligned
 ligands.

 It is also possible to perform bulk import of prealigned PDB files placed
 in the
 same directory with the normal File/Open Models... command but holding down
 the shift button and selecting the many structure files with the mouse.
 Different models will be displayed in different colors.

 For medically interesting proteins it is increasingly the case that there
 are
 dozens of cocrystals in the PDB and it becomes tedious to understand how
 they relate to each other without an alignment tool that can automatically
 run
 over the whole set.