Re: [ccp4bb] structure alignment based on the ligand
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 ' 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
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
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
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 = ; chomp $ref_pdb; print " Enter moving pdb name: "; #my $mov_pdb = "1x1b.pdb"; my $mov_pdb = ; 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 = ; 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 = ; 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] ); } } }
Re: [ccp4bb] structure alignment based on the ligand
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 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. > >
Re: [ccp4bb] structure alignment based on the ligand
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.
[ccp4bb] structure alignment based on the ligand
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