Re: [ccp4bb] Script / matrix for coordinate transformation from a cubic I cell to its primitive P cell ?

2018-05-18 Thread Wim Burmeister

  
  
Hello,
thank you very much for the different answers.

In order to close the discussion, the solution is to expand first
the I213 asymmetric unit to a full I213 unit
cell contents (24 asu, 12 from the rotational symmetry and 12 from
the body-centering) using pdbset.

Then the coordinates have to be rotated using again pdbset and the
matrix :



   

  -0,577335655
  0,5773878412
  0,5773878412


  0,4083025328
  -0,4082287321
  0,816531265


  0,7071581216
  0,7071581216
  0

  




This matrix combines the passage from the cubic to the primitive
triclinic P1 (or actually rhombohedral R3) unit cell (a=b=c,
alpha=beta=gamma=109.47°) and the re-orthogonalization of the
structure in the triclinic unit cell.

Finally, the symmetry information in the pdb header has to be
changed from I213 to P1 and the 12 excess molecules
(asu's) have to be removed manually to stay with 12 molecules
(asu's) filling the primitive triclinic unit cell ( or 4 ones
filling the rhombohedral R3 asymmetric unit.

Greetings
Wim

  



Re: [ccp4bb] Script / matrix for coordinate transformation from a cubic I cell to its primitive P cell ?

2018-05-17 Thread Phil Evans
If you can transform the coordinates correctly, then Pointless can transform 
the data to match, using the coordinates as reference

pointless < On 17 May 2018, at 12:39, Eleanor Dodson 
> <176a9d5ebad7-dmarc-requ...@jiscmail.ac.uk> wrote:
> 
> Yes - here is a bit of the  output from reindexing a set of H32 data to C2
>   
> It tells you this and issues some warnings!
> 
> 
> 
>   You are changing the symmetry of merged data  are you SURE you know 
> what you are doing
> 
> 
> 
>  $TEXT:Warning: $$ comment $$
>  WARNING: ** Symmetry change of merged data **
>  $$
> 
> 
>   New unit cell determined from reindexing:   163.50  136.44  106.47   90.00  
> 103.48   90.00
> 
> 
> 
> 
>  Data line--- symmetry C2
>  Data line--- reindex HKL -h/3 -2k/3 -2l/3, h, -h/3-2k/3+l/3
>  Data line--- noreduce
>  Data line--- end
> 
>   Reflections will be reindexed, and unit cell recalculated
> 
>  Reindexing transformation:
>(h' k' l') =  ( h  k  l ) ( -0.3  1.0 -0.3 )
>  ( -0.7  0.0 -0.7 )
>  ( -0.7  0.0  0.3 )
> 
> 
> 
>  Real axes transformed by same matrix:
>(a' b' c') =  ( a  b  c ) ( -0.3  1.0 -0.3 )
>  ( -0.7  0.0 -0.7 )
>  ( -0.7  0.0  0.3 )
> 
> 
> 
>  Reciprocal axes transformed by inverse matrix:
>   (a*')(  0.0 -0.5 -1.0 ) ( a*)
>   (b*')  = (  1.0 -0.5  0.0 ) ( b*)
>   (c*')(  0.0 -1.0  1.0 ) ( c*)
> 
> 
>  FRACTIONAL coordinates transformed by same matrix:
>   (x') (  0.0 -0.5 -1.0 ) ( x)
>   (y')   = (  1.0 -0.5  0.0 ) ( y)
>   (z') (  0.0 -1.0  1.0 ) ( z)
> 
> 
> On 16 May 2018 at 22:20, Eleanor Dodson  wrote:
> Of course you need to give pdbset the new cell too...
> E
> 
> On 16 May 2018 at 22:20, Eleanor Dodson  wrote:
> Hmm - I think you need
> pdbset
> symgen x-y/2,y/2,z
> 
> Dont have reindex output at home but doesnt it tell you 
> [h' k' l'] = [h k l ] [ 1 1 0]
>   [ 0 2 0]
>   [ 0 0 1] 
> 
> [a* ' ].  [ 1. -1/2.  0].   [a*]
> [b* '].   =.  [ 0   1/2   0].  [b*]
> [c* '].[ 0. 01]   [c*]
> 
> [a'  b'  c']  = [a b c ] [ 1 1 0]
>[ 0 2 0]
>[ 0 0 1] 
> 
> [x '][ 1. -1/2.  0].   [x]
> [y '].   =.  [ 0   1/2   0].  [y]
> [z '].[ 0. 01]   [z]
> 
> 
> Cheers Eleanor
> 
> 
> 
> 
> On 16 May 2018 at 01:11, James Holton  wrote:
> 
> Wow, really?  I thought all reindex gives us is the axis transformation, not 
> the coordinate transform.
> 
> I just tried going from P622 into C222, starting with 3hjd.  By using 
> othercell, I can get an operator for transforming the data: h,h+2k,l.  
> Applying this in reindex, I get the matrix:
> 
> Real axes transformed by same matrix:
>(a' b' c') =  ( a  b  c ) (  1.0  1.0  0.0 )
>  (  0.0  2.0  0.0 )
>  (  0.0  0.0  1.0 )
> But if I apply:
> 
> pdbset xyzin 3hjd.pdb xyzout test.pdb << EOF
> symgen X,X+Y+Y,Z
> EOF
> I get some rather significant geometric distortions.
> 
> Am I doing something wrong?  Or is this just harder than it seems?  
> I find it is a common problem my users face.  They can get an MR solution if 
> they over-merge their data, but not when it is merged in any other space 
> group.  The transition from the P622 to C222 is the most thorny one.  
> Twinning in C222 can get you to apparent P622, and I wonder if ignorance of 
> how to transform the coordinates is the reason why there are no examples of 
> this in the PDB.
> 
> Thanks in advance for your always-appreciated insight!
> 
> -James
> 
> 
> 
> On 5/15/2018 3:15 AM, Eleanor Dodson wrote:
>> Well - if you use reindex to change the reflections from I213 to P1 the log 
>> file gives the rotation matrix need to convert I213 coordinates using the 
>> same convention.
>> There are various clever inputs to reindex which allow you to do this 
>> 
>> Then you can use 
>> 
>> pdbset   xyzin I213.pdb xyzout P1.pdb giving that matrix.
>> From the doc..
>> 
>> ROTATE [INVERT] [MATRIX|EULER|POLAR] values
>> 
>> Define rotational transformation, either as MATRIX (this keyword may be 
>> omitted) followed by 9 numbers (r11 r12 r13 r21 r22 r23 r31 r32 r33), by 
>> keyword EULER followed by Eulerian angles alpha, beta, gamma (as in ALMN), 
>> or by keyword POLAR followed by polar angles omega, phi, kappa (as in 
>> POLARRFN). This transformation will be applied to all atoms. The SHIFT 
>> command may be used to define a translation in addition. The transformation 
>> defined 

Re: [ccp4bb] Script / matrix for coordinate transformation from a cubic I cell to its primitive P cell ?

2018-05-17 Thread Eleanor Dodson
 Yes - here is a bit of the  output from reindexing a set of H32 data to C2


It tells you this and issues some warnings!



  You are changing the symmetry of merged data  are you SURE you know
what you are doing



 $TEXT:Warning: $$ comment $$
 WARNING: ** Symmetry change of merged data **
 $$


  New unit cell determined from reindexing:   163.50  136.44  106.47
90.00  103.48   90.00



 Data line--- symmetry C2
 Data line--- reindex HKL -h/3 -2k/3 -2l/3, h, -h/3-2k/3+l/3
 Data line--- noreduce
 Data line--- end

  Reflections will be reindexed, and unit cell recalculated

 Reindexing transformation:
   (h' k' l') =  ( h  k  l ) ( -0.3  1.0 -0.3 )
 ( -0.7  0.0 -0.7 )
 ( -0.7  0.0  0.3 )



 Real axes transformed by same matrix:
   (a' b' c') =  ( a  b  c ) ( -0.3  1.0 -0.3 )
 ( -0.7  0.0 -0.7 )
 ( -0.7  0.0  0.3 )



 Reciprocal axes transformed by inverse matrix:
  (a*')(  0.0 -0.5 -1.0 ) ( a*)
  (b*')  = (  1.0 -0.5  0.0 ) ( b*)
  (c*')(  0.0 -1.0  1.0 ) ( c*)


 FRACTIONAL coordinates transformed by same matrix:
  (x') (  0.0 -0.5 -1.0 ) ( x)
  (y')   = (  1.0 -0.5  0.0 ) ( y)
  (z') (  0.0 -1.0  1.0 ) ( z)


On 16 May 2018 at 22:20, Eleanor Dodson  wrote:

> Of course you need to give pdbset the new cell too...
> E
>
> On 16 May 2018 at 22:20, Eleanor Dodson  wrote:
>
>> Hmm - I think you need
>> pdbset
>> symgen x-y/2,y/2,z
>>
>> Dont have reindex output at home but doesnt it tell you
>> [h' k' l'] = [h k l ] [ 1 1 0]
>>   [ 0 2 0]
>>   [ 0 0 1]
>>
>> [a* ' ].  [ 1. -1/2.  0].   [a*]
>> [b* '].   =.  [ 0   1/2   0].  [b*]
>> [c* '].[ 0. 01]   [c*]
>>
>> [a'  b'  c']  = [a b c ] [ 1 1 0]
>>[ 0 2 0]
>>[ 0 0 1]
>>
>> [x '][ 1. -1/2.  0].   [x]
>> [y '].   =.  [ 0   1/2   0].  [y]
>> [z '].[ 0. 01]   [z]
>>
>>
>> Cheers Eleanor
>>
>>
>>
>>
>> On 16 May 2018 at 01:11, James Holton  wrote:
>>
>>>
>>> Wow, really?  I thought all reindex gives us is the axis transformation,
>>> not the coordinate transform.
>>>
>>> I just tried going from P622 into C222, starting with 3hjd.  By using
>>> othercell, I can get an operator for transforming the data: h,h+2k,l.
>>> Applying this in reindex, I get the matrix:
>>>
>>> Real axes transformed by same matrix:
>>>(a' b' c') =  ( a  b  c ) (  1.0  1.0  0.0 )
>>>  (  0.0  2.0  0.0 )
>>>  (  0.0  0.0  1.0 )
>>>
>>> But if I apply:
>>>
>>> pdbset xyzin 3hjd.pdb xyzout test.pdb << EOF
>>> symgen X,X+Y+Y,Z
>>> EOF
>>>
>>> I get some rather significant geometric distortions.
>>>
>>> Am I doing something wrong?  Or is this just harder than it seems?
>>>
>>> I find it is a common problem my users face.  They can get an MR
>>> solution if they over-merge their data, but not when it is merged in any
>>> other space group.  The transition from the P622 to C222 is the most thorny
>>> one.  Twinning in C222 can get you to apparent P622, and I wonder if
>>> ignorance of how to transform the coordinates is the reason why there are
>>> no examples of this in the PDB.
>>>
>>> Thanks in advance for your always-appreciated insight!
>>>
>>> -James
>>>
>>>
>>>
>>> On 5/15/2018 3:15 AM, Eleanor Dodson wrote:
>>>
>>> Well - if you use reindex to change the reflections from I213 to P1 the
>>> log file gives the rotation matrix need to convert I213 coordinates using
>>> the same convention.
>>> There are various clever inputs to reindex which allow you to do this
>>>
>>> Then you can use
>>>
>>> pdbset   xyzin I213.pdb xyzout P1.pdb giving that matrix.
>>> From the doc..
>>>
>>> ROTATE [INVERT] [MATRIX|EULER|POLAR] values
>>>
>>> Define rotational transformation, either as MATRIX (this keyword may be
>>> omitted) followed by 9 numbers (r11 r12 r13 r21 r22 r23 r31 r32 r33), by
>>> keyword EULER followed by Eulerian angles alpha, beta, gamma (as in ALMN
>>> ), or by keyword POLAR followed
>>> by polar angles omega, phi, kappa (as in POLARRFN
>>> ). This transformation will
>>> be applied to all atoms. The SHIFT
>>>  command may be used to
>>> define a translation in addition. The transformation defined by ROTATE &
>>> SHIFT, or by TRANSFORM
>>> , is applied after
>>> any SYMGEN 

Re: [ccp4bb] Script / matrix for coordinate transformation from a cubic I cell to its primitive P cell ?

2018-05-15 Thread Kay Diederichs
Hi Wim,

I would use pdbset and the I213 symops to generate 23 copies of the ASU 
contents, and append them to the existing I213 PDB file. The resulting P1 PDB 
file has the same cell constants as the I213 one.

But that's probably not what you want?

Kay

On Tue, 15 May 2018 10:51:15 +0200, Wim Burmeister  
wrote:

>
>  
>  http-equiv="Content-Type">
>  
>  
>Hello,
>does anybody have a script which transforms the pdb file of a
>structure in I-centred I213 into a pdb file based on the
>corresponding primitive P1 unit cell ? A rotation matrix would also
>do� which uses the matrix of the transformation from one coordinate
>system to the other combined with the orthogonalisation convention
>for the P1 cell.
>Best
>Wim
>-- 
>Wim Burmeister
>  Professeur
>  size="1">Institut de Biologie Structurale (IBS) CIBB
>  size="1">71 avenue des Martyrs
>CS 
> 20192  face="Helvetica, Arial, sans-serif">
>38044 Grenoble Cedex 9, FRANCE  face="Helvetica, Arial, sans-serif">
>E-mail: size="1"> href="mailto:wim.burmeis...@ibs.fr;>wim.burmeis...@ibs.fr  face="Helvetica, Arial, sans-serif">  lang="fr-FR">
>  Tel:��� +33 (0) 457 42 87 41�� Fax: +33 (0) 476 20 94 
> 00
>href="http://www.ibs.fr/research/research-groups/viral-replication-machines-group-m-jamin/team-03/article/poxvirus-replication-machinery-presentation/;>face="Helvetica, Arial, sans-serif">lang="fr-FR">website
>href="https://www.openstreetmap.org/?mlat=45.20762mlon=5.69255#map=17/45.20762/5.69255;>size="1">face="Helvetica, Arial, 
> sans-serif">map
>
>  
>  
>


Re: [ccp4bb] Script / matrix for coordinate transformation from a cubic I cell to its primitive P cell ?

2018-05-15 Thread Eleanor Dodson
Well - if you use reindex to change the reflections from I213 to P1 the log
file gives the rotation matrix need to convert I213 coordinates using the
same convention.
There are various clever inputs to reindex which allow you to do this

Then you can use

pdbset   xyzin I213.pdb xyzout P1.pdb giving that matrix.
>From the doc..

ROTATE [INVERT] [MATRIX|EULER|POLAR] values

Define rotational transformation, either as MATRIX (this keyword may be
omitted) followed by 9 numbers (r11 r12 r13 r21 r22 r23 r31 r32 r33), by
keyword EULER followed by Eulerian angles alpha, beta, gamma (as in ALMN
), or by keyword POLAR followed by
polar angles omega, phi, kappa (as in POLARRFN
). This transformation will be
applied to all atoms. The SHIFT
 command may be used to
define a translation in addition. The transformation defined by ROTATE &
SHIFT, or by TRANSFORM ,
is applied after any SYMGEN 
operation. Multiple definitions of ROTATE or TRANSFORM, or of SHIFT will
NOT be concatenated: only the last will be effective.


Eleanor



On 15 May 2018 at 09:51, Wim Burmeister  wrote:

> Hello,
> does anybody have a script which transforms the pdb file of a structure in
> I-centred I213 into a pdb file based on the corresponding primitive P1 unit
> cell ? A rotation matrix would also do  which uses the matrix of the
> transformation from one coordinate system to the other combined with the
> orthogonalisation convention for the P1 cell.
> Best
> Wim
> --
>
> Wim Burmeister
> Professeur
> Institut de Biologie Structurale (IBS) CIBB
> 71 avenue des Martyrs
> 
> CS 20192
> 38044 Grenoble Cedex 9, FRANCE
> E-mail: wim.burmeis...@ibs.fr
> Tel:+33 (0) 457 42 87 41   Fax: +33 (0) 476 20 94 00
> website
> 
> map
> 
>
>
>