Hi Mitch,
As mentioned in these previous mailing-list messages, the general plan of attack would be to open or generate a hexamer structure that is centered around the Z axis and then use the "align" command to match one atom from each of your monomers with an atom of the corresponding "reference" monomers.
Nonetheless, it should be simpler / more obvious how to accomplish this task, so I am going to open an RFE for an "align axis" command to carry out this kind of operation.

--Eric

Eric Pettersen
UCSF Computer Graphics Lab


On Feb 24, 2026, at 1:36 PM, Mitch Murphy <alphataubio@gmail.com> wrote:


please help i cant figure out how to align a complicated set of models so the barrell of my hexameric ion channel is aligned along z axis and centered at 0,0,0 to save a pdb

Screenshot 2026-02-24 at 16.33.55.png


close
cd /Users/mitch/github/hmx/jahani/egfrv3
log clear

# ---------------- tmCLIC1 ----------------

open ../charmmgui-clic1/step1_pdbreader.pdb id 99 center 0,0,0
color :1-23 blue
color :24-58 green
color :59-241 red

torsion :25@c:26@n,ca,c -60; torsion :26@n,ca,c:27@n -45
torsion :26@c:27@n,ca,c -60; torsion :27@n,ca,c:28@n -45
torsion :27@c:28@n,ca,c -60; torsion :28@n,ca,c:29@n -45
torsion :28@c:29@n,ca,c -60; torsion :29@n,ca,c:30@n -45
torsion :29@c:30@n,ca,c -60; torsion :30@n,ca,c:31@n -45
torsion :30@c:31@n,ca,c -60; torsion :31@n,ca,c:32@n -45
torsion :31@c:32@n,ca,c -60; torsion :32@n,ca,c:33@n -45
torsion :32@c:33@n,ca,c -60; torsion :33@n,ca,c:34@n -45
torsion :33@c:34@n,ca,c -60; torsion :34@n,ca,c:35@n -45
torsion :34@c:35@n,ca,c -60; torsion :35@n,ca,c:36@n -45
torsion :35@c:36@n,ca,c -60; torsion :36@n,ca,c:37@n -45
torsion :36@c:37@n,ca,c -60; torsion :37@n,ca,c:38@n -45
torsion :37@c:38@n,ca,c -60; torsion :38@n,ca,c:39@n -45
torsion :38@c:39@n,ca,c -60; torsion :39@n,ca,c:40@n -45
torsion :39@c:40@n,ca,c -60; torsion :40@n,ca,c:41@n -45
torsion :40@c:41@n,ca,c -60; torsion :41@n,ca,c:42@n -45
torsion :41@c:42@n,ca,c -60; torsion :42@n,ca,c:43@n -45
torsion :42@c:43@n,ca,c -60; torsion :43@n,ca,c:44@n -45
torsion :43@c:44@n,ca,c -60; torsion :44@n,ca,c:45@n -45
torsion :44@c:45@n,ca,c -60; torsion :45@n,ca,c:46@n -45
torsion :45@c:46@n,ca,c -60; torsion :46@n,ca,c:47@n -45
torsion :46@c:47@n,ca,c -60; torsion :47@n,ca,c:48@n -45
torsion :47@c:48@n,ca,c -60; torsion :48@n,ca,c:49@n -45
torsion :48@c:49@n,ca,c -60; torsion :49@n,ca,c:50@n -45
torsion :49@c:50@n,ca,c -60; torsion :50@n,ca,c:51@n -45
torsion :50@c:51@n,ca,c -60; torsion :51@n,ca,c:52@n -45
torsion :51@c:52@n,ca,c -60; torsion :52@n,ca,c:53@n -45
torsion :52@c:53@n,ca,c -60; torsion :53@n,ca,c:54@n -45
torsion :53@c:54@n,ca,c -60; torsion :54@n,ca,c:55@n -45
torsion :54@c:55@n,ca,c -60; torsion :55@n,ca,c:56@n -45
torsion :55@c:56@n,ca,c -60; torsion :56@n,ca,c:57@n -45
torsion :56@c:57@n,ca,c -60; torsion :57@n,ca,c:58@n -45
torsion :57@c:58@n,ca,c -60; torsion :58@n,ca,c:59@n -45

torsion :22@c:23@n,ca,c 60

sym #99 C6 center :17 axis :24,58@ca newModel true
setattr #1.1 chains chain_id A create true
setattr #1.2 chains chain_id B create true
setattr #1.3 chains chain_id C create true
setattr #1.4 chains chain_id D create true
setattr #1.5 chains chain_id E create true
setattr #1.6 chains chain_id F create true

delete #99

rename #1 tmCLIC1
rename #1.1 tmCLIC1-A
rename #1.2 tmCLIC1-B
rename #1.3 tmCLIC1-C
rename #1.4 tmCLIC1-D
rename #1.5 tmCLIC1-E
rename #1.6 tmCLIC1-F



# ---------------- EGFRv3 ----------------

#runscript egfrv3_v1.cxc


# ---------------- OSMR ----------------

open Q99650 fromDatabase alphafold version 6 id 3.1 center 0,0,0

torsion #3.1:804@c:805@n,ca,c 60; torsion #3.1:805@n,ca,c:806@n 45
torsion #3.1:805@c:806@n,ca,c -120; torsion #3.1:806@n,ca,c:807@n 130
torsion #3.1:806@c:807@n,ca,c -120; torsion #3.1:807@n,ca,c:808@n 130
torsion #3.1:807@c:808@n,ca,c -120; torsion #3.1:808@n,ca,c:809@n 130
torsion #3.1:808@c:809@n,ca,c -120; torsion #3.1:809@n,ca,c:810@n 130
delete #3.1:836-979

rename #3 OSMR
rename #3.1 OSMR-I
combine #3.1 modelid 3.2 name OSMR-J
setattr #3.1 chains chain_id I create true
setattr #3.2 chains chain_id J create true

turn x 270 models #3
turn z 180 models #3.1
move y 90 models #3
move x  200 models #3.1
move x -200 models #3.2


# ---------------- DISPLAY ----------------

delete ~protein
rainbow #1-3 structures palette Paired-12
surface #1-3 transparency 0.5



move x 5.08443251 models #1
move y -47.21837099 models #1
move z -14.00102839 models #1

#turn x -67.233 models #1 center 0,0,0
#turn y -31.805 models #1 center 0,0,0
#turn z -69.036 models #1 center 0,0,0

define axis #1 primary false tertiary true radius 1 padding 100 id 4.1



define axis frompoint -300,0,0 topoint 300,0,0 color red id 4.2
define axis frompoint 0,-300,0 topoint 0,300,0 color green id 4.3
define axis frompoint 0,0,-300 topoint 0,0,300 color blue id 4.4

view position #1  sameAsModels #4.4

angle #4.1 #4.2
angle #4.1 #4.3
angle #4.1 #4.4