/* ccctocsy_nnh_3c_pfg1_sel_500.c This pulse sequence will allow one to perform the following experiment: 3D ccctocsy_nnh (enhanced sensitivity PFG) experiment correlating C(i) {C_alpha,beta,..}, with N(i+1), NH(i+1). F1 13C(i) F2 15N(i+1) F3(acq) NH(i+1) Uses three channels: 1) 1H - carrier (tof) @ 4.7 ppm [H2O] 2) 13C - carrier (dof @ 58ppm [CA], dofcacb @ 43ppm [CA,CB]) (The centre of F1 is 43ppm (dofcacb)) 3) 15N - carrier (dof2) @ 119 ppm [centre of amide N] Set dm = 'nnnn', dmm = 'cccc' Set dm2 = 'nnny', dmm2 = 'cccp' [15N decoupling during acquisition] Must set phase = 1,2 for States-TPPI acquisition in t1 [13C] and phase2 = 1,2 for States-TPPI acquisition in t2 [15N] with gradient selection of 15N magnetization. [The fids must be manipulated (add/subtract) with 'grad_sort_nd' program (or equivalent) prior to regular processing.] Flags fsat 'y' for presaturation of H2O fscuba 'y' to apply scuba pulse after presaturation of H2O mess_flg 'y' for 1H (H2O) purging pulse in the middle of sequence f1180 'y' for 180deg linear phase correction in F1, otherwise 0deg linear phase correction. f2180 'y' for 180deg linear phase correction in F2, otherwise 0deg linear phase correction in F2. Standard Settings: fsat='n', fscuba='n', mess_flg='n', f1180='n', f2180='n' The flag f1180/f2180 should be set to 'y' if t1 is to be started at halfdwell time. This will give -90, 180 phasing in f1/f2. If it is set to 'n' the phasing will be 0,0 and will still give a perfect baseline. Set f1180 to n for (0,0) in c and f2180 = n for (0,0) in N Written by Lewis Kay 05/07/93 Uses the Bax and Logan trick (JBNMR 3, MARCH 1993) to cut off about 2 ms from the time that C mag. spends in the transverse plane Modified by L. E. Kay 03/22/94 to minimize water saturation and change sim2pulse to simpulse Ref: (Original Versions) Logan et. al. J. Biomol. NMR 3, 225, (1993) Grzesiek et. al. J. Magn. Reson. B 101, 114 (1993) Montelione et. al. JACS 114, (1992) BMRB Pulse Sequence Accession Number: 40 */ #include #define PI 3.1416 static int phi1[1] = {0}, phi2[2] = {0,2}, phi3[4] = {0,0,2,2}, phi4[4] = {0,0,2,2}, phi5[1] = {0}, phi6[8] = {0,0,0,0,2,2,2,2}, phi7[1] = {0}, rec[4] = {0,2,2,0}; static double d2_init=0.0, d3_init=0.0; pulsesequence() { /* DECLARE VARIABLES */ char fsat[MAXSTR], fscuba[MAXSTR], f1180[MAXSTR], /* Flag to start t1 @ halfdwell */ f2180[MAXSTR], /* Flag to start t2 @ halfdwell */ mess_flg[MAXSTR], /* messerlie flag */ spco90b[MAXSTR], spco180b[MAXSTR], cadecseq[MAXSTR], spco180a[MAXSTR]; int phase, phase2, ni2, icosel, ni, t1_counter, /* used for states tppi in t1 */ t2_counter; /* used for states tppi in t2 */ double tau1, /* t1 delay */ tau2, /* t2 delay */ taua, /* ~ 1/4JCH = 1.7 ms */ taub, /* 1.1 ms */ tauc, /* ~ 1/4JCAC' = 3.6 ms */ taud, /* ~ 1/4JC'CA = 4.3, 4.4 ms */ taue, /* 1/4JC'N = 12.4 ms */ tauf, /* 1/4JNH = 2.25 ms */ BigTN, /* nitrogen constant time period */ dly_pg1, /* delay for water purging */ pwn, /* PW90 for 15N pulse */ pwca90a, /* PW90 for 13C at dvhpwr */ pwca180a, /* PW180 for 13C at dvhpwra */ pwca90b, pwca180b, /* PW180 for ca nucleus @ dvhpwrb */ pwco90b, /* PW90 for co nucleus @ dhpwrb */ pwco180b, tsatpwr, /* low level 1H trans.power for presat */ tpwrml, /* power level for h decoupling */ tpwrmess, /* power level for water purging */ pwmlev, /* h 90 pulse at tpwrml */ dhpwr, /* power level for 13C pulses on dec1 90 for part a of the sequence at 43 ppm */ dvhpwra, /* power level for 180 13C pulses at 43 ppm */ dhpwrb, /* power level for 13C pulses on dec1 - 54 ppm 90 for part b of the sequence*/ dvhpwrb, /* power level for 13C pulses on dec1 - 54 ppm 180 for part b of the sequence */ dhpwr2, /* high dec2 pwr for 15N hard pulses */ sw1, /* sweep width in f1 */ sw2, /* sweep width in f2 */ dofcacb, /* dof for dipsi part, 43 ppm */ dvvhpwra, /* c power level for first 180 pulse 63 */ pwc, /* pw90 c at dvvhpwra */ pw_dip, /* c power level for dipsi */ ptrimc, /* trim length before and after dipsi */ p_d, /* pw_d = 50.0/90.0*pw_dip */ dpwr_dip, /* c power level for dipsi */ ncyc, /* number of dipsi cycles <= 3 */ dipsi_time, /* total dipsi mixing time */ pwcadec, /* 90 for seduce decoupling ~ 320 us */ dpwrsed, /* power level for seduce decoupling */ dressed, /* decoupler resolution for seduce = 2 */ BigT1, tofps, pwco180a, /* pw180 for the C' pulse at dhpwrcoa */ dhpwrcoa, gt1, gt2, gt4, gt5, gt6, gt7, gt8, gzlvl1, gzlvl2, gzlvl4, gzlvl5, gzlvl6, gzlvl7, gzlvl8, zeta, zeta1; /* LOAD VARIABLES */ getstr("fsat",fsat); getstr("f1180",f1180); getstr("f2180",f2180); getstr("fscuba",fscuba); getstr("spco90b",spco90b); getstr("spco180b",spco180b); getstr("spco180a",spco180a); getstr("mess_flg",mess_flg); getstr("cadecseq",cadecseq); taua = getval("taua"); taub = getval("taub"); tauc = getval("tauc"); taud = getval("taud"); taue = getval("taue"); tauf = getval("tauf"); BigTN = getval("BigTN"); dly_pg1 = getval("dly_pg1"); pwca90a = getval("pwca90a"); pwca180a = getval("pwca180a"); pwca180b = getval("pwca180b"); pwca90b = getval("pwca90b"); pwco90b = getval("pwco90b"); pwco180b = getval("pwco180b"); pwn = getval("pwn"); pwmlev = getval("pwmlev"); tpwr = getval("tpwr"); tsatpwr = getval("tsatpwr"); tpwrml = getval("tpwrml"); tpwrmess = getval("tpwrmess"); dhpwr = getval("dhpwr"); dvhpwra = getval("dvhpwra"); dhpwrb = getval("dhpwrb"); dvhpwrb = getval("dvhpwrb"); dpwr = getval("dpwr"); dhpwr2 = getval("dhpwr2"); phase = (int) ( getval("phase") + 0.5); phase2 = (int) ( getval("phase2") + 0.5); sw1 = getval("sw1"); sw2 = getval("sw2"); dofcacb = getval("dofcacb"); ni2 = getval("ni2"); ni = getval("ni"); dvvhpwra = getval("dvvhpwra"); pwc = getval("pwc"); pw_dip = getval("pw_dip"); ptrimc = getval("ptrimc"); dpwr_dip = getval("dpwr_dip"); ncyc = getval("ncyc"); tofps = getval("tofps"); dhpwrcoa = getval("dhpwrcoa"); pwco180a = getval("pwco180a"); pwcadec = getval("pwcadec"); dpwrsed = getval("dpwrsed"); dressed = getval("dressed"); BigT1 = getval("BigT1"); gt1 = getval("gt1"); gt2 = getval("gt2"); gt4 = getval("gt4"); gt5 = getval("gt5"); gt6 = getval("gt6"); gt7 = getval("gt7"); gt8 = getval("gt8"); gzlvl1 = getval("gzlvl1"); gzlvl2 = getval("gzlvl2"); gzlvl4 = getval("gzlvl4"); gzlvl5 = getval("gzlvl5"); gzlvl6 = getval("gzlvl6"); gzlvl7 = getval("gzlvl7"); gzlvl8 = getval("gzlvl8"); p_d = (50.0/90.0)*pw_dip; /* LOAD PHASE TABLE */ settable(t1,1,phi1); settable(t2,2,phi2); settable(t3,4,phi3); settable(t4,4,phi4); settable(t5,1,phi5); settable(t6,8,phi6); settable(t7,1,phi7); settable(t8,4,rec); /* CHECK VALIDITY OF PARAMETER RANGES */ if( ni2*1/(sw2) > 2.0*BigTN ) { printf(" ni2 is too big\n"); abort(1); } if((dm[A] == 'y' || dm[B] == 'y' || dm[C] == 'y' || dm[D] == 'y' )) { printf("incorrect dec1 decoupler flags! "); abort(1); } if((dm2[A] == 'y' || dm2[B] == 'y' || dm2[C] == 'y' || dm2[D] == 'n')) { printf("incorrect dec2 decoupler flags! Should be 'nnny' "); abort(1); } if( pwmlev < 30.0e-6 ) { printf("too much power during proton mlev sequence\n"); abort(1); } if( tpwrml > 53 ) { printf("tpwrml is too high\n"); abort(1); } if( tsatpwr > 6 ) { printf("TSATPWR too large !!! "); abort(1); } if( dpwr > 47 ) { printf("don't fry the probe, DPWR too large! "); abort(1); } if( dpwr2 > 46 ) { printf("don't fry the probe, DPWR2 too large! "); abort(1); } if( dhpwr > 62 ) { printf("don't fry the probe, DHPWR too large! "); abort(1); } if( dhpwrb > 62 ) { printf("don't fry the probe, DHPWRB too large! "); abort(1); } if( dvhpwrb > 62 ) /* pwr level for dipsi */ { printf("don't fry the probe, DVHPWRB too large! "); abort(1); } if( dhpwr2 > 62 ) { printf("don't fry the probe, DHPWR2 too large! "); abort(1); } if( pw > 200.0e-6 ) { printf("dont fry the probe, pw too high ! "); abort(1); } if( pwmlev > 200.0e-6 ) { printf("dont fry the probe, pwmlev too high ! "); abort(1); } if( pwn > 200.0e-6 ) { printf("dont fry the probe, pwn too high ! "); abort(1); } if( pwca90a > 200.0e-6 ) { printf("dont fry the probe, pwca90a too high ! "); abort(1); } if( pwca180a > 200.0e-6 ) { printf("dont fry the probe, pwca180a too high ! "); abort(1); } if( pwca180b > 200.0e-6 ) { printf("dont fry the probe, pwca180b too high ! "); abort(1); } if( pwco90b > 200.0e-6 ) { printf("dont fry the probe, pwco180b too high ! "); abort(1); } if( dpwr_dip > 56 ) { printf(" dont fry the probe, dpwr_dip too high (< 56)\n"); abort(1); } if( ncyc > 3 ) { printf("dont fry the probe, ncyc must be <= 3\n"); abort(1); } dipsi_time = ncyc*54.33*pw_dip*4.0; if( dipsi_time > 24.0e-3 ) { printf("dont fry the probe, dipsi time too long < 24 ms\n"); abort(1); } if( ptrimc > 2.0e-3 ) { printf(" ptrimc too long; must be < 2.0e-3\n"); abort(1); } if(pwcadec > 500.0e-6 || pwcadec < 200.0e-6) { printf("pwcadec must be < 500e-6 and > 200e-6\n"); abort(1); } if(dpwrsed > 45) { printf("dpwrsed is too high: Must be < 45\n"); abort(1); } if(gt1 > 15e-3 || gt2 > 15e-3 || gt4 > 15e-3 || gt5 > 15e-3 || gt6 > 15e-3 || gt7 > 15e-3 || gt8 > 15e-3) { printf("values of gt1 must be less than 15e-3\n"); abort(1); } if(mess_flg[A] == 'y') { printf("value of mess_flg should by n to give better s/n"); abort(1); } /* Phase incrementation for hypercomplex 2D data */ if (phase == 2) tsadd(t2,1,4); if (phase2 == 2) { tsadd(t7,2,4); icosel = 1; } else icosel = -1; /* Calculate modifications to phases for States-TPPI acquisition */ if( ix == 1) d2_init = d2 ; t1_counter = (int) ( (d2-d2_init)*sw1 + 0.5 ); if(t1_counter % 2) { tsadd(t2,2,4); tsadd(t8,2,4); } if( ix == 1) d3_init = d3 ; t2_counter = (int) ( (d3-d3_init)*sw2 + 0.5 ); if(t2_counter % 2) { tsadd(t5,2,4); tsadd(t8,2,4); } /* Set up f1180 tau1 = t1 */ tau1 = d2; if(f1180[A] == 'y') { tau1 += ( 1.0 / (2.0*sw1) ); if(tau1 < 0.2e-6) tau1 = 0.4e-6; } tau1 = tau1/2.0; /* Now include the Bax/Logan trick */ if(ni != 1) zeta = (taub + 2*pw + (2.0/PI)*pwca90a - 2*POWER_DELAY - gt4 - 102.0e-6 - pwco180a) / ( (double)(ni-1) ); else zeta = 0.0; zeta1 = zeta*( (double)t1_counter ); /* Set up f2180 tau2 = t2 */ tau2 = d3; if(f2180[A] == 'y') { tau2 += ( 1.0 / (2.0*sw2) ); if(tau2 < 0.2e-6) tau2 = 0.4e-6; } tau2 = tau2/2.0; /* BEGIN ACTUAL PULSE SEQUENCE */ status(A); offset(tof,TODEV); offset(dofcacb,DODEV); /* initially pulse at 43 ppm */ rlpower(tsatpwr,TODEV); /* Set transmitter power for 1H presaturation */ rlpower(dhpwr,DODEV); /* Set Dec1 power for hard 13C pulses */ rlpower(dhpwr2,DO2DEV); /* Set Dec2 power for 15N hard pulses */ /* Presaturation Period */ status(B); if (fsat[0] == 'y') { offset(tofps,TODEV); delay(2.0e-5); rgpulse(d1,zero,2.0e-6,2.0e-6); rlpower(tpwr,TODEV); /* Set transmitter power for hard 1H pulses */ delay(2.0e-5); if(fscuba[0] == 'y') { delay(2.2e-2); rgpulse(pw,zero,2.0e-6,0.0); rgpulse(2*pw,one,2.0e-6,0.0); rgpulse(pw,zero,2.0e-6,0.0); delay(2.2e-2); } offset(tof,TODEV); } else { delay(d1); } rlpower(tpwr,TODEV); /* Set transmitter power for hard 1H pulses */ txphase(zero); dec2phase(zero); delay(1.0e-5); /* Begin Pulses */ status(C); rcvroff(); delay(20.0e-6); /* ensure that magnetization originates on H */ rlpower(dvvhpwra,DODEV); dec2rgpulse(pwn,zero,2.0e-6,2.0e-6); decrgpulse(pwc,zero,2.0e-6,2.0e-6); delay(0.2e-6); rgradient('z',gzlvl1); delay(gt1); rgradient('z',0.0); delay(150.0e-6); rgpulse(pw,t1,0.0,0.0); /* 90 deg 1H pulse */ decphase(zero); txphase(zero); delay(0.2e-6); rgradient('z',gzlvl2); delay(gt2); rgradient('z',0.0); delay(2.0e-6); delay(taua - gt2 - 2.2e-6); /* taua <= 1/4JCH */ simpulse(2*pw,2*pwc,zero,zero,0.0,0.0); rlpower(dhpwr,DODEV); txphase(one); decphase(t2); delay(taua - POWER_DELAY - gt2 - 200.2e-6); delay(0.2e-6); rgradient('z',gzlvl2); delay(gt2); rgradient('z',0.0); delay(200.0e-6); rgpulse(pw,one,0.0,0.0); decrgpulse(pwca90a,t2,0.0,0.0); txphase(zero); decphase(zero); delay(tau1); rlpower(dhpwrcoa,DODEV); decshaped_pulse(spco180a,pwco180a,zero,0.0,0.0); dec2rgpulse(2*pwn,zero,0.0,0.0); rlpower(dvhpwra,DODEV); delay(taub - 2*POWER_DELAY - 2*pwn - pwco180a - gt4 - 100.2e-6) ; delay(0.2e-6); rgradient('z',gzlvl4); delay(gt4); rgradient('z',0.0); delay(100.0e-6); rgpulse(2*pw,zero,0.0,0.0); delay(tau1 - zeta1); decrgpulse(pwca180a,zero,0.0,0.0); delay(taub + 2*pw + (2.0/PI)*pwca90a - 2*POWER_DELAY - pwco180a - gt4 - 100.2e-6 - zeta1 - pw - 2.0e-6); delay(0.2e-6); rgradient('z',gzlvl4); delay(gt4); rgradient('z',0.0); delay(100.0e-6); rlpower(dhpwrcoa,DODEV); decshaped_pulse(spco180a,pwco180a,zero,0.0,0.0); rgpulse(pw,two,2.0e-6,0.0); /* water flip back pulse to +z */ /* dipsi portion of sequence */ rlpower(dpwr_dip,DODEV); initval(ncyc,v2); if(ncyc > 0) { /* 2ms trim pulse */ decrgpulse(ptrimc,zero,0.0,0.0); starthardloop(v2); decrgpulse(4.9*p_d,one,0.0,0.0); decrgpulse(7.9*p_d,three,0.0,0.0); decrgpulse(5.0*p_d,one,0.0,0.0); decrgpulse(5.5*p_d,three,0.0,0.0); decrgpulse(0.6*p_d,one,0.0,0.0); decrgpulse(4.6*p_d,three,0.0,0.0); decrgpulse(7.2*p_d,one,0.0,0.0); decrgpulse(4.9*p_d,three,0.0,0.0); decrgpulse(7.4*p_d,one,0.0,0.0); decrgpulse(6.8*p_d,three,0.0,0.0); decrgpulse(7.0*p_d,one,0.0,0.0); decrgpulse(5.2*p_d,three,0.0,0.0); decrgpulse(5.4*p_d,one,0.0,0.0); decrgpulse(0.6*p_d,three,0.0,0.0); decrgpulse(4.5*p_d,one,0.0,0.0); decrgpulse(7.3*p_d,three,0.0,0.0); decrgpulse(5.1*p_d,one,0.0,0.0); decrgpulse(7.9*p_d,three,0.0,0.0); decrgpulse(4.9*p_d,one,0.0,0.0); decrgpulse(7.9*p_d,three,0.0,0.0); decrgpulse(5.0*p_d,one,0.0,0.0); decrgpulse(5.5*p_d,three,0.0,0.0); decrgpulse(0.6*p_d,one,0.0,0.0); decrgpulse(4.6*p_d,three,0.0,0.0); decrgpulse(7.2*p_d,one,0.0,0.0); decrgpulse(4.9*p_d,three,0.0,0.0); decrgpulse(7.4*p_d,one,0.0,0.0); decrgpulse(6.8*p_d,three,0.0,0.0); decrgpulse(7.0*p_d,one,0.0,0.0); decrgpulse(5.2*p_d,three,0.0,0.0); decrgpulse(5.4*p_d,one,0.0,0.0); decrgpulse(0.6*p_d,three,0.0,0.0); decrgpulse(4.5*p_d,one,0.0,0.0); decrgpulse(7.3*p_d,three,0.0,0.0); decrgpulse(5.1*p_d,one,0.0,0.0); decrgpulse(7.9*p_d,three,0.0,0.0); decrgpulse(4.9*p_d,three,0.0,0.0); decrgpulse(7.9*p_d,one,0.0,0.0); decrgpulse(5.0*p_d,three,0.0,0.0); decrgpulse(5.5*p_d,one,0.0,0.0); decrgpulse(0.6*p_d,three,0.0,0.0); decrgpulse(4.6*p_d,one,0.0,0.0); decrgpulse(7.2*p_d,three,0.0,0.0); decrgpulse(4.9*p_d,one,0.0,0.0); decrgpulse(7.4*p_d,three,0.0,0.0); decrgpulse(6.8*p_d,one,0.0,0.0); decrgpulse(7.0*p_d,three,0.0,0.0); decrgpulse(5.2*p_d,one,0.0,0.0); decrgpulse(5.4*p_d,three,0.0,0.0); decrgpulse(0.6*p_d,one,0.0,0.0); decrgpulse(4.5*p_d,three,0.0,0.0); decrgpulse(7.3*p_d,one,0.0,0.0); decrgpulse(5.1*p_d,three,0.0,0.0); decrgpulse(7.9*p_d,one,0.0,0.0); decrgpulse(4.9*p_d,three,0.0,0.0); decrgpulse(7.9*p_d,one,0.0,0.0); decrgpulse(5.0*p_d,three,0.0,0.0); decrgpulse(5.5*p_d,one,0.0,0.0); decrgpulse(0.6*p_d,three,0.0,0.0); decrgpulse(4.6*p_d,one,0.0,0.0); decrgpulse(7.2*p_d,three,0.0,0.0); decrgpulse(4.9*p_d,one,0.0,0.0); decrgpulse(7.4*p_d,three,0.0,0.0); decrgpulse(6.8*p_d,one,0.0,0.0); decrgpulse(7.0*p_d,three,0.0,0.0); decrgpulse(5.2*p_d,one,0.0,0.0); decrgpulse(5.4*p_d,three,0.0,0.0); decrgpulse(0.6*p_d,one,0.0,0.0); decrgpulse(4.5*p_d,three,0.0,0.0); decrgpulse(7.3*p_d,one,0.0,0.0); decrgpulse(5.1*p_d,three,0.0,0.0); decrgpulse(7.9*p_d,one,0.0,0.0); endhardloop(); } decrgpulse(ptrimc/2,zero,2.0e-6,0.0); /* < 1ms trim */ decrgpulse(pw_dip,one,2.0e-6,0.0); offset(dof,DODEV); delay(0.2e-6); rgradient('z',gzlvl5); delay(gt5); rgradient('z',0.0); delay(100.0e-6); rlpower(dhpwrb,DODEV); rlpower(tpwrml,TODEV); rgpulse(pwmlev,one,2.0e-6,0.0); txphase(zero); delay(2.0e-6); /* H decoupling on */ rlpower(tpwrml,TODEV); obsprgon("waltz16",pwmlev,90.0); xmtron(); /* TURN ME OFF DONT FORGET */ /* H decoupling on */ decrgpulse(pwca90b,zero,2.0e-6,0.0); decshaped_pulse(spco180b,pwco180b,zero,2.0e-6,0.0); /* bloch seigert */ delay(tauc - POWER_DELAY - 4.0e-6); rlpower(dvhpwrb,DODEV); decrgpulse(pwca180b,t3,2.0e-6,0.0); rlpower(dhpwrb,DODEV); decshaped_pulse(spco180b,pwco180b,zero,2.0e-6,0.0); delay(tauc - POWER_DELAY - 4.0e-6); decrgpulse(pwca90b,one,2.0e-6,0.0); decphase(t4); delay(2.0e-6); decshaped_pulse(spco90b,pwco90b,t4,0.0,0.0); decphase(zero); delay(taud - POWER_DELAY); rlpower(dvhpwrb,DODEV); decrgpulse(pwca180b,zero,0.0,0.0); rlpower(dhpwrb,DODEV); delay(taue - taud - POWER_DELAY + 2*pwn); decshaped_pulse(spco180b,pwco180b,zero,0.0,0.0); dec2rgpulse(2*pwn,zero,0.0,0.0); delay(taue - 2*POWER_DELAY); rlpower(dvhpwrb,DODEV); decrgpulse(pwca180b,zero,0.0,0.0); /* bloch seigert */ rlpower(dhpwrb,DODEV); decshaped_pulse(spco90b,pwco90b,zero,0.0,0.0); if(mess_flg[A] == 'y') { /* H decoupling off */ xmtroff(); obsprgoff(); /* H decoupling off */ delay(0.2e-6); offset(tofps,TODEV); delay(0.2e-6); rlpower(tpwrmess,TODEV); rgpulse(dly_pg1,zero,2.0e-6,2.0e-6); rgpulse(dly_pg1/1.62,zero,2.0e-6,2.0e-6); rlpower(tpwrml,TODEV); /* H decoupling on */ obsprgon("waltz16",pwmlev,90.0); xmtron(); /* H decoupling on */ } dec2rgpulse(pwn,t5,2.0e-6,0.0); dec2phase(t6); decphase(zero); /* seduce on */ rlpower(dpwrsed,DODEV); decprgon(cadecseq,pwcadec,dressed); decon(); /* seduce on */ delay(BigTN - tau2 + WFG_START_DELAY + WFG_STOP_DELAY + pwco180b); /* seduce off */ decoff(); decprgoff(); rlpower(dhpwrb,DODEV); /* seduce off */ dec2rgpulse(2*pwn,t6,0.0,0.0); decshaped_pulse(spco180b,pwco180b,zero,0.0,0.0); dec2phase(t7); /* seduce on */ rlpower(dpwrsed,DODEV); decprgon(cadecseq,pwcadec,dressed); decon(); /* seduce on */ delay(BigTN + tau2 - 5.5e-3 - POWER_DELAY - PRG_STOP_DELAY - pwmlev - 2.0e-6); /* H decoupling off */ xmtroff(); obsprgoff(); /* H decoupling off */ rgpulse(pwmlev,three,2.0e-6,0.0); rlpower(tpwr,TODEV); delay(2.5e-3); /* seduce off */ decoff(); decprgoff(); rlpower(dhpwrb,DODEV); /* seduce off */ delay(0.2e-6); rgradient('z',icosel*gzlvl6); delay(gt6); rgradient('z',0.0); delay(2.0e-6); txphase(zero); dec2phase(t7); delay(3.0e-3 - gt6 - 2.2e-6 - 2*GRADIENT_DELAY); sim3pulse(pw,0.0e-6,pwn,zero,zero,t7,0.0,0.0); delay(0.2e-6); rgradient('z',gzlvl7); delay(gt7); rgradient('z',0.0); delay(2.0e-6); dec2phase(zero); delay(tauf - gt7 - 2.2e-6); sim3pulse(2*pw,0.0e-6,2*pwn,zero,zero,zero,0.0,0.0); delay(0.2e-6); rgradient('z',gzlvl7); delay(gt7); rgradient('z',0.0); delay(2.0e-6); txphase(one); dec2phase(one); delay(tauf - gt7 - 2.2e-6); sim3pulse(pw,0.0e-6,pwn,one,zero,one,0.0,0.0); delay(0.2e-6); rgradient('z',gzlvl7); delay(gt7); rgradient('z',0.0); delay(2.0e-6); txphase(zero); dec2phase(zero); delay(tauf - gt7 - 2.2e-6); sim3pulse(2*pw,0.0e-6,2*pwn,zero,zero,zero,0.0,0.0); delay(0.2e-6); rgradient('z',gzlvl7); delay(gt7); rgradient('z',0.0); delay(2.0e-6); txphase(zero); delay(tauf - gt7 - 2.2e-6); rgpulse(pw,zero,0.0,0.0); txphase(zero); delay(BigT1); rgpulse(2*pw,zero,0.0,0.0); delay(2.0e-6); rgradient('z',gzlvl8); delay(gt8); rgradient('z',0.0); delay(0.2e-6); delay(BigT1 - gt8 - POWER_DELAY - 2.2e-6 - 2*GRADIENT_DELAY); rlpower(dpwr2,DO2DEV); /* set power for 15N decoupling */ /* rcvron(); */ /* Turn on receiver to warm up before acq */ /* BEGIN ACQUISITION */ status(D); setreceiver(t8); }