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

```If you can transform the coordinates correctly, then Pointless can transform
the data to match, using the coordinates as reference```
```
pointless <<EOF
hklin  input.mtz
hklout output.mtz
xyzin reference-coordinates.pdb
EOF

If you have transformed the reflections, then the easiest thing to do is to run
a (trivial) molecular replacement (saves thought :-))

Phil

> On 17 May 2018, at 12:39, 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!!!!
>
> <B><FONT COLOR="#FF0000"><!--SUMMARY_BEGIN-->
>
>  \$TEXT:Warning: \$\$ comment \$\$
>  WARNING: ** Symmetry change of merged data **
>  \$\$
> <!--SUMMARY_END--></FONT></B>
>
>   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.33333  1.00000 -0.33333 )
>                                  ( -0.66667  0.00000 -0.66667 )
>                                  ( -0.66667  0.00000  0.33333 )
>
>
>
>  Real axes transformed by same matrix:
>        (a' b' c') =  ( a  b  c ) ( -0.33333  1.00000 -0.33333 )
>                                  ( -0.66667  0.00000 -0.66667 )
>                                  ( -0.66667  0.00000  0.33333 )
>
>
>
>  Reciprocal axes transformed by inverse matrix:
>       (a*')                (  0.00000 -0.50000 -1.00000 ) ( a*)
>       (b*')      =         (  1.00000 -0.50000  0.00000 ) ( b*)
>       (c*')                (  0.00000 -1.00000  1.00000 ) ( c*)
>
>
>  FRACTIONAL coordinates transformed by same matrix:
>       (x')                 (  0.00000 -0.50000 -1.00000 ) ( x)
>       (y')       =         (  1.00000 -0.50000  0.00000 ) ( y)
>       (z')                 (  0.00000 -1.00000  1.00000 ) ( z)
>
>
> On 16 May 2018 at 22:20, Eleanor Dodson <eleanor.dod...@york.ac.uk> wrote:
> Of course you need to give pdbset the new cell too...
> E
>
> On 16 May 2018 at 22:20, Eleanor Dodson <eleanor.dod...@york.ac.uk> 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.     0    1]   [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.     0    1]   [z]
>
>
> Cheers Eleanor
>
>
>
>
> On 16 May 2018 at 01:11, James Holton <jmhol...@slac.stanford.edu> 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.00000  1.00000  0.00000 )
>                                  (  0.00000  2.00000  0.00000 )
>                                  (  0.00000  0.00000  1.00000 )
> 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.
>
>
> -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
>> 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 <wim.burmeis...@ibs.fr> 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
>>
>>
>>
>
>
>
>
```