Professional Documents
Culture Documents
EMBO Practical Course July 20-27, 2013 P15: Building An HNCO From Scratch
EMBO Practical Course July 20-27, 2013 P15: Building An HNCO From Scratch
EMBO Practical Course July 20-27, 2013 P15: Building An HNCO From Scratch
Overview
During this practical, you will build an HNCO experiment step by step from simple
building blocks. The objective is to understand the pulse sequence used and how
this is actually written as a pulse program.
13 15
The sample used for this practical is fully C-, N-, and D-labeled human
ubiquitin (3.5mM) in 5%D2O / 95%H2O, pH 6.5.
Literature
Motivation
The 3D HNCO experiment correlates the amide proton and nitrogen chemical
shifts of amino acid i with the carbonyl chemical shift of the amino acid i-1, thus
yielding information about the sequential connectivity.
1
1. 1D Proton Experiment
The starting point for the development of the HNCO pulse program is a one
dimensional proton experiment with water suppression using the WATERGATE
sequence (Piotto et al. 1992) and nitrogen decoupling during the acquisition.
Initially, transverse magnetization is created by a proton 90 pulse. The following
gradient pulse dephases the water as well as the protein magnetization. After
time , a 180 pulse inverts the protein magnetization while the water
magnetization is essentially unaffected by the combination of the 180 pulse and
two water-selective 90 pulses. This results in further dephasing of the water
magnetization, while the protein magnetization is rephased by the next gradient
pulse. After a second time interval , the refocused protein magnetization is
15
detected. During acquisition, N is decoupled using the WALTZ-16 sequence
(Shaka et al. 1983).
Note that all the following experiments are recorded as 2D spectra.
Pulse Scheme
Pulse Program
;hnco_step1.ln
2
ze ;zero, empty buffer
2 d11 do:N ;nitrogen decoupling off
1m LOCK_ON ;deuterium lock on
d1 ;recycling delay between scans (~1s)
1m LOCK_OFF ;deuterium lock off, lock value is kept const.
;during the following pulse sequence
20u pl1:H ;set proton power level pl1 for hard pulse
(p1 ph3) ;proton 90 pulse with phase ph3
;******* watergate *******
5u
p22:gp1 ;gradient pulse (dephasing water and
;protein magnetization)
950u pl2:H ;delay, set proton power level pl2 for soft pulse
67u ;delay for adjusting first order phase to zero
(p2 ph24:r) ;watergate soft pulse (water-selective, 90)
;phase can be adjusted by phcor24 for best water
;suppresion
2u
5u pl1:H ;set proton power level pl1 for hard pulse
(p1*2 ph0) ;proton 180 pulse with phase 0
2u
5u pl2:H ;set proton power level pl2 for soft pulse
(p2 ph24:r) ;watergate soft pulse (water-selective, 90)
2u
p22:gp1 ;gradient pulse (rephasing protein /
;dephasing water magnetization)
950u pl31:N ;set nitrogen power level for decoupling
go=2 ph31 cpds3:N ;go to label 2, receiver opening with phase ph31,
;nitrogen composite pulse decoupling (CPD)
5u do:N ;nitrogen decoupling off
d11 wr #0 if #0 zd ;write ser file, reset all phase program pointers
1m
10u LOCK_ON ;deuterium lock on
exit ;end of pulse program
Expected Result
3
2. Proton to Nitrogen Magnetization Transfer
Pulse Scheme
Pulse Program
#include "bits.sg"
;hnco_step2.ln
ze
2 d11 do:N
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m ;INEPT transfer time (~0.8*1/(4J), J(HN)=-92Hz)
(d26 p1*2 ph1) (p7*2 ph2):N ;d26=delay to center proton & nitrogen 180
2.25m
(p1 ph1)
4
3u
p20:gp1 ;gradient pulse for better water suppression
2m pl1:H ;gradient recovery delay
(p7 ph3):N ;nitrogen 90 pulse with phase 3 (phase cycled)
;******* revINEPT to H *******
(p7 ph4):N
3u
p21:gp1 ;gradient pulse for better water suppression
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
67u
(p2 ph24:r) ;watergate soft pulse
2u
5u pl1:H
(p1*2 ph0)
2u
5u pl2:H
(p7*2 ph10):N (p2 ph24:r) ;watergate soft pulse and nitrogen 180
5u
p22:gp1
950u pl31:N
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
1m
10u LOCK_ON
exit
ph0=0
ph1=1
ph2=1
ph3=0 2
ph4=0
ph10=0
ph24=2 ;adjusted -x at pl2
ph31=0 2
Expected Result
5
3. HN-HSQC Experiment
The next step is the inclusion of a nitrogen evolution period in order to obtain a
two dimensional HN-N correlation spectrum. This is done by a delay d0 which is
incremented. For proton decoupling, a 1H 180 pulse can be included in the
middle of the evolution period.
Pulse Scheme
Pulse Program
#include "bits.sg"
;hnco_step3.ln
#ifdef H_decoupling
"d0=in0*0.5-p7*0.637-p1" ;nitrogen incremental delay
#else
"d0=in0*0.5-p7*0.637"
#endif
"d11=50m"
"d12=7m" ;universal delay for decrementing / incrementing
"d26=p7-p1" ;definition of delay d26 for centering p1
6
ze
2 d11 do:N
#ifdef NITROGEN
d12 ;delay for loop compensation
5 d12*3
6 10u
#endif
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph1)
3u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* N evolution *******
d0 ;nitrogen incremental delay
#ifdef H_decoupling
(p1*2 ph0) ;proton 180 for decoupling
#endif
d0 ;nitrogen incremental delay
;******* revINEPT to H *******
(p7 ph10):N
3u
p21:gp1
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
67u
(p2 ph24:r)
2u
5u pl1:H
(p1*2 ph0)
2u
5u pl2:H
(p7*2 ph10):N (p2 ph24:r)
5u
p22:gp1
950u pl31:N
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
#ifdef NITROGEN
d12 ip3 ;increment phase ph3
lo to 5 times 2 ;loop 2 times to line 5
d12 id0 ;increment delay d0 (t1 evolution)
d12
d12 ip31*2 ;increment phase ph31 (receiver) 2 times
lo to 6 times l4 ;loop l4 times to line 6 (l4=0.5*td1)
#endif
1m do:N
10u LOCK_ON
exit
ph0=0
ph1=1
ph2=1
ph3=0 2
ph10=0
7
ph24=2 ;adjusted -x at pl2
ph25=0
ph31=0 2
Expected Result
Pulse Scheme
8
Pulse Program
#include "bits.sg"
;hnco_step4.ln
"d11=50m"
"d12=7m" ;universal delay for decrementing / incrementing
ze
2 d11 do:N
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph1)
3u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* 15N evolution *******
;******* INEPT to C' *******
d22 ;delays for INEPT transfer N->C'
;~0.8*1/(4J)=13.7m, J(NC')=-15Hz
10u pl6:C1
pd6 ;delay for compensation of p6 after nitrogen 180
4u
(p7*2 ph5):N
4u
(p6 ph6):C1 ;p6 on carbonyl (180 pulse)
10u
9
d22 pl5:C1
(p7 ph2):N
2u
(p5 ph4):C1 ;carbonyl 90 pulse with phase 4 (phase cycled)
;******* revINEPT to N *******
(p5 ph20):C1 ;carbonyl 90 pulse with phase 20 (not phase cycled)
2u
(p7 ph2):N
d22
10u pl6:C1
pd6
4u
(p7*2 ph10):N
4u
(p6 ph20):C1 ;carbonyl 180 pulse
10u
d22 pl5:C1
;******* revINEPT to H *******
(p7 ph10):N
3u
p21:gp1
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
67u
(p2 ph24:r) ;watergate soft pulse
2u
5u pl1:H
(p1*2 ph0)
2u
5u pl2:H
(p7*2 ph10):N (p2 ph24:r) ;watergate soft pulse
5u
p22:gp1
950u pl31:N
go=2 ph31 cpd s3:N
5u do:N
d11 wr #0 if #0 zd
1m do:N
10u LOCK_ON
exit
ph0=0
ph1=1
ph2=1
ph3=0 0 2 2
ph4=0 2
ph5=0
ph6=0
ph7=0
ph10=0
ph20=0
ph21=0
ph22=0
ph24=2 ;adjusted -x at pl2
ph31=0 2 2 0
10
Expected Result
5. HNCO
With the inclusion of a carbonyl evolution period, the basic HNCO pulse
sequence is complete. For this evolution, an incremented delay d0 is introduced
between the carbonyl 90 pulses. In the two dimensional case, the experiment
gives rise to an HN-C correlation spectrum. In order to decouple C , HN, and N,
180 pulses can be applied in the middle of the carbonyl evolution period.
Pulse Scheme
Pulse Program
#include "bits.sg"
;hnco_step5.ln
11
;"p6=162.2u" carbonyl 180 at pl6 (121.65u at 800MHz, 162.2u at 600MHz)
;calculate pl6 for p6/2 (carbonyl 90 pulse!)
;at sp3 used as shaped pulse centered at carbon alpha (56 ppm)
;with off-resonance offset 177 ppm - 56 ppm
;produces n*360 degree pulse on carbon alpha
#ifdef CARBONYL
#ifdef C_DEC
"d0=in0*0.5-p5*0.637-p6*0.5-3u" ;carbonyl incremental delay
#else
"d0=in0*0.5-p5*0.637" ;carbonyl incremental delay
#endif
#else
"d0=4u"
#endif
"d22=13.6m"
ze
2 d11 do:N
#ifdef CARBONYL
d12 ;delay for loop compensation
3 d12*2
4 d12
#endif
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph1)
3u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* 15N evolution *******
;******* INEPT to C' *******
d22
10u pl6:C1
pd6
4u
(p7*2 ph5):N
12
4u
(p6 ph6):C1 ;p6 on carbonyl
10u
d22 pl5:C1
(p7 ph2):N
2u
(p5 ph4):C1
;******* 13C' evolution *******
#ifdef CARBONYL
d0 ;t1/2
#ifdef C_DEC
3u
;180 decoupling pulses on N, Ca, and H
(d28 p7*2 ph10):N (p6:sp3 ph22):C1 (d27 p1*2 ph0):H
3u
#endif
d0 pl5:C1
#else
4u
#endif
(p5 ph20):C1
2u
(p7 ph2):N
d22
10u pl6:C1
pd6
4u
(p7*2 ph10):N
4u
(p6 ph20):C1
10u
d22 pl5:C1
;******* revINEPT to H *******
(p7 ph10):N
3u
p21:gp1
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
67u
(p2 ph24:r) )
2u
5u pl1:H
(p1*2 ph0)
2u
5u pl2:H
(p2 ph24:r) (p7*2 ph10):N
5u
p22:gp1
950u pl31:N
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
#ifdef CARBONYL
d12 ip4 ;increment phase ph4
lo to 3 times 2 ;loop 2 times to line 3
d12 id0 ;increment d0
d12 ip31*2 ;increment phase ph31 (receiver) 2 times
lo to 4 times l3 ;loop l3 times to line 4 (l3=0.5*td1)
d12 rd0 ;reset d0 to its original value
#endif
1m do:N
10u LOCK_ON
exit
13
ph0=0
ph1=1
ph2=1
ph3=0 0 2 2
ph4=0 2
ph5=0
ph6=0
ph7=0
ph10=0
ph20=0
ph21=0
ph22=0
ph24=2 ;adjusted -x at pl2
ph31=0 2 2 0
Expected Result
The result of this experiment is a 2D HNCO spectrum either with or without the
splitting due to J-coupling. The intensity of the first 1D spectrum should be
comparable to I4.
Pulse Scheme
14
Pulse Program
#include "bits.sg"
;hnco_step6.ln
#ifdef CARBONYL
"d0=in0*0.5-p5*0.637-p6*0.5-3u" ;carbonyl incremental delay
;sw = 1/(2*in0)
;l3
#else
"d0=4u"
#endif
;NITROGEN evolution
"d22=13.6m"
"d21=d22" ;d21 and d23 are delays for the constant-time evolution
"d23=d22"
;in21=in23
;sw = 1/(2*in21)
;l4 = d23/in23
ze
2 d11 do:N
#ifdef CARBONYL
d12 ;delay for loop compensation
3 d12*2
4 d12
#endif
15
#ifdef NITROGEN
d12
5 d12*3
6 10u
#endif
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph1)
3u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* 15N evolution *******
;******* INEPT to C' *******
d21 ;delay increased during the course of the experiment
10u pl6:C1
pd6
4u
(p7*2 ph5):N
4u
(p6 ph6):C1 ;p6 on carbonyl
10u
d23 pl5:C1 ;delay decreased during the course of the experiment
(p7 ph2):N
2u
(p5 ph4):C1
;******* 13C' evolution *******
#ifdef CARBONYL
d0 ;t1/2
3u
(d28 p7*2 ph10):N (p6:sp3 ph22):C1 (d27 p1*2 ph0):H
3u
d0 pl5:C1
#else
4u
#endif
(p5 ph20):C1
2u
(p7 ph2):N
d22
10u pl6:C1
pd6
4u
(p7*2 ph10):N
4u
(p6 ph20):C1
10u
d22 pl5:C1
;******* revINEPT to H *******
(p7 ph10):N
3u
p21:gp1
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
67u ;delay for adjusting first order phase to zero
(p2 ph24:r) ;watergate soft pulse (water-selective)
2u
5u pl1:H
(p1*2 ph0) ;proton 180 pulse with phase 0
16
2u
5u pl2:H
(p2 ph24:r) (p7*2 ph10):N ;watergate soft pulse & nitrogen 180
5u
p22:gp1
950u pl31:N ;set nitrogen power level for decoupling
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
#ifdef CARBONYL
d12 ip4 ;increment phase ph4
lo to 3 times 2 ;loop 2 times to line 3
d12 id0 ;increment d0
d12 ip31*2 ;increment phase ph31 (receiver) 2 times
lo to 4 times l3 ;loop l3 times to line 4 (l3=0.5*td1)
d12 rd0 ;reset d0 to its original value
#endif
#ifdef NITROGEN
d12 ip3
lo to 5 times 2
d12 id21
d12 dd23
d12 ip31*2
lo to 6 times l4
#endif
1m do:N
10u LOCK_ON
exit
ph0=0
ph1=1
ph2=1
ph3=0 0 2 2
ph4=0 2
ph5=0
ph6=0
ph7=0
ph10=0
ph20=0
ph21=0
ph22=0
ph24=2 ;adjusted -x at pl2
ph31=0 2 2 0
17
7. Constant-Time HNCO with decoupling
Pulse Scheme
Pulse Program
#include "bits.sg"
;hnco_step7.ln
#ifdef CARBONYL
"d0=in0*0.5-p5*0.637-p6*0.5-3u" ;carbonyl incremental delay
;sw = 1/(2*in0)
;l3
#else
"d0=4u"
#endif
18
;d1=1.0s ;relaxation delay
;NITROGEN evolution
"d22=13.6m"
"d21=4u" ;delays for constant-time evolution
"d23=d22+d21"
;in21=in23
;sw = 1/(2*in21)
;l4 = d23/in23
ze
2 d11 do:N
#ifdef CARBONYL
d12 ;delay for loop compensation
3 d12*2
4 d12
#endif
#ifdef NITROGEN
d12
5 d12*3
6 10u
#endif
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
;******* INEPT to N *******
(p1 ph0)
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph1)
3u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* 15N evolution *******
;******* INEPT to C' *******
d21
(p6:sp3 ph20):C1 (p1*2 ph0):H ;p6 on Ca, proton 180 for decoupling
d22
10u pl6:C1
4u
(p7*2 ph5):N
4u
(p6 ph6):C1 ;p6 on carbonyl
10u
d23 pl5:C1
(p7 ph2):N
2u
(p5 ph4):C1
;******* 13C' evolution *******
#ifdef CARBONYL
19
d0 ;t1/2
3u
(d28 p7*2 ph10):N (p6:sp3 ph22):C1 (d27 p1*2 ph0):H
3u
d0 pl5:C1
#else
4u
#endif
(p5 ph20):C1
2u
(p7 ph2):N
d22
10u pl6:C1
pd6
4u
(p7*2 ph10):N
4u
(p6 ph20):C1
10u
d22 pl5:C1
;******* revINEPT to H *******
(p7 ph10):N
3u
p21:gp1
3m pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1 ;gradient pulse (dephasing water and protein -y
magnetization)
950u pl2:H
67u ;delay for adjusting first order phase to zero
(p2 ph24:r) ;watergate soft pulse (water-selective)
2u
5u pl1:H ;set proton power level pl1 for hard pulse
(p1*2 ph0) ;proton 180 pulse with phase 0
2u
5u pl2:H
(p2 ph24:r) (p7*2 ph10):N ;watergate soft pulse & nitrogen 180
5u
p22:gp1
950u pl31:N ;set nitrogen power level for decoupling
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
#ifdef CARBONYL
d12 ip4 ;increment phase ph4
lo to 3 times 2 ;loop 2 times to line 3
d12 id0 ;increment d0
d12 ip31*2 ;increment phase ph31 (receiver) 2 times
lo to 4 times l3 ;loop l3 times to line 4 (l3=0.5*td1)
d12 rd0 ;reset d0 to its original value
#endif
#ifdef NITROGEN
d12 ip3
lo to 5 times 2
d12 id21
d12 dd23
d12 ip31*2
lo to 6 times l4
#endif
1m do:N
10u LOCK_ON
exit
ph0=0
20
ph1=1
ph2=1
ph3=0 0 2 2
ph4=0 2
ph5=0
ph6=0
ph7=0
ph10=0
ph20=0
ph21=0
ph22=0
ph24=2 ;adjusted -x at pl2
ph31=0 2 2 0
The following pulse program includes additional elements for better water
suppression, namely water flip-back pulses (Grzesiek and Bax 1993).
Furthermore, proton decoupling is accomplished by the DIPSI-2 sequence
(Rucker and Shaka 1989).
Pulse Program
#include "bits.sg"
;hnco_fb.ln
;#define CARBONYL
#define NITROGEN
;#define TEST_1D
#define ON
#ifdef CARBONYL
"d0=in0*0.5-p5*0.637-p6*0.5-1u"
#else
"d0=4u"
#endif
"d11=50m"
"d12=7m" ;universal delay for decrementing / incrementing
21
"d15=p1" ;used for timing instead of c8
"d16=5.4m" ;refocus HN-N for NH
"d17=10m-d16" ;
"d22=13.6m"
"d21=6u"
"d23=d22+d21+p6"
"d24=p6+d22-d16-6u-p1"
;in21=in23=1/(2sw)
;l4=d23/in23
ze
2 d11 do:N
#ifdef CARBONYL
d12
3 d12*2
4 d12
#endif
#ifdef NITROGEN
d12
5 d12*3
6 10u
50m do:N
#endif
1m LOCK_ON
d1 pl7:N
20u pl1:H
1m LOCK_OFF
(p7 ph10):N (p5 ph20):C1
p20:gp1
2m
#ifdef ON
;******* start 90-degree *******
p1 ph0
2.25m
(d26 p1*2 ph1) (p7*2 ph2):N
2.25m
(p1 ph2)
2u
50u pl2:H
(p2 ph24:r) ;water flip-back using soft pulse
2u
p20:gp1
2m pl1:H
(p7 ph3):N
;******* 15N evolution *******
(d16 p1 ph26 2u 4u pl30 d24 cpds1 d21):H (d21 p6:sp3 ph20 d22):C1
;p6 on carbon alpha
10u pl6:C1
(d25 p7*2 ph5):N (p6 ph6):C1 ;p6 on carbonyl
10u
d23 pl5:C1
(p7 ph7):N
4u do:H ;dipsi interrupted (because of p23 gradient)
4u pl1:H
(p1 ph27) ;1H magnetization to z-axis
22
p23:gp1
1.5m
(p1 ph26):H ;1H magnetization back to x-axis
4u pl30:H
10u cpds1:H ;dipsi continued
(p5 ph4):C1
;******* 13C evolution *******
d0 ;t1/2
;******* carbon alpha 180 by off-res shaped pulse
(p7*2 ph10):N (p6:sp3 ph22):C1
2u
d0 pl5:C1
(p5 ph20):C1
(p7 ph10):N
4u
4u
d15 ;p1:c8
10m pl6:C1
(d25 p7*2 ph10):N (p6 ph20):C1
d17
4u do:H ;dipsi off
4u pl1:H
(p1 ph27)
d16
(p7 ph0):N
5u
p21:gp1
3m
5u
(p13:sp0 ph25):H ;water flip-back using sinc1.0 pulse
2u
2u
50u pl1:H
(p1 ph0)
;******* watergate *******
5u
p22:gp1
950u pl2:H
64u
(p2 ph24:r) ;watergate soft pulse
2u
5u pl1:H
(p1*2 ph0)
2u
5u pl2:H
(p7*2 ph10):N (p2 ph24:r) ;watergate soft pulse
2u
p22:gp1
10u pl31:N
#endif
#ifndef TEST_1D
950u
go=2 ph31 cpds3:N
5u do:N
d11 wr #0 if #0 zd
#ifdef CARBONYL
d12 ip4
lo to 3 times 2
d12 id0
d12 ip31*2
lo to 4 times l3
d12 rd0
#endif
#ifdef NITROGEN
d12 ip3
lo to 5 times 2
d12 id21
d12 dd23
23
d12 ip31*2
lo to 6 times l4
#endif
#else
950u pl1:H
lo to 2 times l5
d1
p1 ph31
go=2 ph31
d11 wr #0
#endif
1m do:N
10u LOCK_ON
exit
ph0=0
ph1=1
ph2=1
ph3=0 0 2 2
ph4=0 2
ph5=0
ph6=0
ph7=0
ph10=0
ph20=0
ph21=0
ph22=0
ph24=2 ;adjusted -x at pl2
ph25=(3600) 1850 ;adjusted -x at sp0 phcor25 doesn't work
ph26=(360)90 ;adjusted y for pl1 relativ to pl30
ph27=(360)270 ;adjusted -y for pl1 relativ to pl30
ph28=2
ph31=0 2 2 0
24
bits.sg
#define H f1
#define N f2
#define C1 f3
#define D f4
#define C2 f5
25
#define UNBLKGRAMP setnmr0|32 setnmr0|33 setnmr0|34
#define PHASE_2( A ) A A
#define PHASE_4( A ) A A A A
#define PHASE_8( A ) A A A A A A A A
#define PHASE_16( A ) A A A A A A A A A A A A A A A A
#define PHASE_32( A ) A A A A A A A A A A A A A A A A A A A A A A A A A A A A
A A A A
References
26