Hi Sudheer, This means your GroEL map does not have the cylinder axis along z. When you press the Orient button in the volume dialog you can see the orientation, the screen horizontal axis is x, the screen vertical axis is y, and in/out of the screen is z. I've attached a Python script that can produce the symmetry matrices for different cylinder axes. You run it by opening it in Chimera and the output is seen in the Reply Log (Favorites menu). You'll need to edit the script to use the correct axis. Tom skmolugu@miners.utep.edu wrote:
Hi Tom, I have used the matrix file you have gave me and could succesfully generate the coordinates file. After saving the pdb file with the new coordinates, I reopened the saved pdb file that has 14 subunits and it is turns out to be perpendicular to map that has been used. How can I avoid this problem? thank you very much for your time, sincerely, sudheer. ----------------------------------------
Date: Mon, 6 Oct 2008 12:06:32 -0700 From: goddard@cgl.ucsf.edu To: skmolugu@miners.utep.edu CC: chimera-users@cgl.ucsf.edu Subject: Re: [Chimera-users] symmetric fitting
Hi Sudheer,
Figuring out the symmetry matrices for using the symmetric fitting capability
http://www.cgl.ucsf.edu/chimera/tutorials/volumetour/volumetour.html#symcopi...
requires some work. First note that the symmetry matrices you want are those that transform (rotate and shift) the volume data to an identical configuration.
Your case is 2 stacked 7-mer rings. Assuming the z axis is the symmetry axis of the map (need to set origin so the center of the cylinder is at xyz = 0,0,0 in the volume dialog Coordinates panel) you could just compute the needed rotation matrices
cos(a), sin(a), 0 -sin(a), cos(a), 0 0, 0, 1
Could write a script (python script attached) or use a calculator. Also you want to flip around x axis by 180 degrees to get 7 more rotations with the two 7-member rings exchanged. With that approach I get the following lines to add to the PDB file:
REMARK 350 BIOMT1 0 1.000000 0.000000 0.000000 0.000000 REMARK 350 BIOMT2 0 -0.000000 1.000000 0.000000 0.000000 REMARK 350 BIOMT3 0 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 1 0.623490 0.781831 0.000000 0.000000 REMARK 350 BIOMT2 1 -0.781831 0.623490 0.000000 0.000000 REMARK 350 BIOMT3 1 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 2 -0.222521 0.974928 0.000000 0.000000 REMARK 350 BIOMT2 2 -0.974928 -0.222521 0.000000 0.000000 REMARK 350 BIOMT3 2 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 3 -0.900969 0.433884 0.000000 0.000000 REMARK 350 BIOMT2 3 -0.433884 -0.900969 0.000000 0.000000 REMARK 350 BIOMT3 3 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 4 -0.900969 -0.433884 0.000000 0.000000 REMARK 350 BIOMT2 4 0.433884 -0.900969 0.000000 0.000000 REMARK 350 BIOMT3 4 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 5 -0.222521 -0.974928 0.000000 0.000000 REMARK 350 BIOMT2 5 0.974928 -0.222521 0.000000 0.000000 REMARK 350 BIOMT3 5 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 6 0.623490 -0.781831 0.000000 0.000000 REMARK 350 BIOMT2 6 0.781831 0.623490 0.000000 0.000000 REMARK 350 BIOMT3 6 0.000000 0.000000 1.000000 0.000000 REMARK 350 BIOMT1 7 1.000000 -0.000000 0.000000 0.000000 REMARK 350 BIOMT2 7 -0.000000 -1.000000 0.000000 0.000000 REMARK 350 BIOMT3 7 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 8 0.623490 -0.781831 0.000000 0.000000 REMARK 350 BIOMT2 8 -0.781831 -0.623490 0.000000 0.000000 REMARK 350 BIOMT3 8 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 9 -0.222521 -0.974928 0.000000 0.000000 REMARK 350 BIOMT2 9 -0.974928 0.222521 0.000000 0.000000 REMARK 350 BIOMT3 9 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 10 -0.900969 -0.433884 0.000000 0.000000 REMARK 350 BIOMT2 10 -0.433884 0.900969 0.000000 0.000000 REMARK 350 BIOMT3 10 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 11 -0.900969 0.433884 0.000000 0.000000 REMARK 350 BIOMT2 11 0.433884 0.900969 0.000000 0.000000 REMARK 350 BIOMT3 11 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 12 -0.222521 0.974928 0.000000 0.000000 REMARK 350 BIOMT2 12 0.974928 0.222521 0.000000 0.000000 REMARK 350 BIOMT3 12 0.000000 0.000000 -1.000000 0.000000 REMARK 350 BIOMT1 13 0.623490 0.781831 0.000000 0.000000 REMARK 350 BIOMT2 13 0.781831 -0.623490 0.000000 0.000000 REMARK 350 BIOMT3 13 0.000000 0.000000 -1.000000 0.000000
If your map origin is not the center of symmetry or an x-axis flip is not a symmetry then these matrices won't work. You can try to set the correct origin -- the right value can be found with some tricky use of the output of the Fit in Map tool, fitting one copy of the map into another copy. Or you could fit one copy of the map to another and use the matrixget command to output that symmetry matrix to a file, then do that for all symmetries to create the needed matrix text.
As you see this process has not yet been made easy.
Tom
skmolugu@miners.utep.edu wrote:
HI, In the symmetric fitting model session that explains about the symmetry generation, i did not understand the method to generate the matrix. I am working on a chaperonin protein called GroEL. It has 14 subunits with seven fold symmetry. can you please explain me how to update the pdb and the matrix values that i need to put in the pdb file. thankyou, sudheer _______________________________________________ Chimera-users mailing list Chimera-users@cgl.ucsf.edu http://www.cgl.ucsf.edu/mailman/listinfo/chimera-users
# Chimera script to print symmetry matrices for GroEL 14-mer. format = '''REMARK 350 BIOMT1 %3d %10.6f %10.6f %10.6f %10.6f REMARK 350 BIOMT2 %3d %10.6f %10.6f %10.6f %10.6f REMARK 350 BIOMT3 %3d %10.6f %10.6f %10.6f %10.6f''' axis = (0,0,1) import Matrix as m flip = m.rotation_from_axis_angle((1,0,0), 180) # 180 degree rotation about x. flip = [r + (0,) for r in flip] # Zero translation. for i in range(14): a = 360.0*i/7.0 t = m.rotation_from_axis_angle(axis, a) # Rotation by i/7 turn about z. t = [r + (0,) for r in t] # Zero translation. if i >= 7: t = m.multiply_matrices(flip, t) # Exchange top and bottom ring. print format % ((i,) + t[0] + (i,) + t[1] + (i,) + t[2])