# 1 "/opt/topspin/exp/stan/nmr/lists/pp/user/hmqcNOEhmqc_Me_nus.jfy"
# 1 "/opt/topspin/exp/stan/nmr/lists/pp/user/Avance.incl" 1
;Avance3.incl
;   for AV III
;
;avance-version (07/12/14)
;
;$CLASS=HighRes Incl
;$COMMENT=





























































































































































;$Id: Avance3.incl,v 1.6.2.2 2007/12/14 16:06:46 ber Exp $
# 1 "/opt/topspin/exp/stan/nmr/lists/pp/user/hmqcNOEhmqc_Me_nus.jfy" 2

# 1 "/opt/topspin/exp/stan/nmr/lists/pp/Grad.incl" 1
;Grad2.incl  -  include file for Gradient Spectroscopy
;   for 1
;
;avance-version (07/01/17)
;
;$CLASS=HighRes Incl
;$COMMENT=



















define list<gradient> EA=<EA>



;$Id: Grad2.incl,v 1.12 2007/01/22 14:22:35 ber Exp $
# 2 "/opt/topspin/exp/stan/nmr/lists/pp/user/hmqcNOEhmqc_Me_nus.jfy" 2






define delay MIX 
define delay COMPH


;"in23=inf1*0.5"

;"in20=inf2*0.5"

;"in0=inf3*0.5"
"in10=in0"
"in30=in0"


"d0=3u"
"d10=3u"
"d30=4m-p25-3u-d0" ;1/2JCH

"d20=20u+p3*0.637-p1*2.1"

"d23=in23*0.5-p3*0.637"

"COMPH=p2+p1+4u-p3-d23"
"d22=4m-p26-15u-COMPH"

"MIX=d8-p28-1.1m-p3-p10-4u"      ;d8=mixing time

"d3=d30-d0+40u-d10*2-p1*1.27"

"d11=30m"
"d12=100u"

"cnst0=0"      ;freq shift back to be on resonance w/ water
"cnst1=0.60"   ;freq shift to methyl protons


;***Definition and Initialization for NUS***
define delay d23orig
"d23orig = d23"
define delay d20orig
"d20orig = d20"
define delay d0orig
"d0orig = d0"
define delay d30orig
"d30orig = d30"
define delay d10orig
"d10orig = d10"

define loopcounter t3ctloop
"t3ctloop = d30orig / in30"

define list<loopcounter> t3list = <h3list.jfy>
define list<loopcounter> t2list = <c2list.jfy>
define list<loopcounter> t1list = <c1list.jfy>

define loopcounter t1loop
"t1loop = 0"
define loopcounter t2loop
"t2loop = 0"
define loopcounter t3loop
"t3loop = 0"

define loopcounter ph1loop
"ph1loop = 0"
define loopcounter ph2loop
"ph2loop = 0"
define loopcounter ph3loop
"ph3loop = 0"

# 1 "mc_line 76 file /opt/topspin/exp/stan/nmr/lists/pp/user/hmqcNOEhmqc_Me_nus.jfy dc-measurement inserted automatically"
    dccorr
# 76 "/opt/topspin/exp/stan/nmr/lists/pp/user/hmqcNOEhmqc_Me_nus.jfy"
1 ze 

  "t3loop = t3list"
  10u t3list.inc
  "ph3loop = 2 * (t3loop % 2)"

  "t2loop = t2list"
  10u t2list.inc
  "ph2loop = 2 * (t2loop % 2)"

  "t1loop = t1list"
  10u t1list.inc
  "ph1loop = 2 * (t1loop % 2)"

      "d23 = d23orig + t1loop * in23"
      "cnst6 = (ph1loop % 4) * 90"
      10u ip6 + cnst6
      "d20 = d20orig + t2loop * in20"
      "cnst11 = (ph2loop % 4) * 90"
      10u ip1 + cnst11
      if "d30orig > t3loop * in30"
      {
          "d0  = d0orig  + t3loop * in0"
          "d30 = d30orig - t3loop * in30"
          "d10 = d10orig"
      }
      else
      {
          "d0  = d0orig  + t3ctloop * in0"
          "d30 = d30orig - t3ctloop * in30"
          "d10 = d10orig + (t3loop - t3ctloop) * in10"
      }
      "cnst3 = (ph3loop % 4) * 90"
      10u ip3 + cnst3

      "cnst31 = ((t1loop + t2loop + t3loop) * 180) % 360"
      10u ip31 + cnst31

2 10u do:f2 do:f3
  10u setnmr3^0
  d11
  d12
LBLF3,  1m
LBLF2,  1m
LBLF1,  1m
LBLSTN, 1m do:f3 do:f2
3 d12*3
4 d12*3
5 d12*3
6 d12*3
7 d12*3
8 d12*3 do:f3 do:f2
   1m setnmr3^0 setnmr0^34^32^33 ctrlgrad 7
   d1 
   1m setnmr3|0 setnmr0|34|32|33 ctrlgrad 0
   10u pl2:f2
   10u pl7:f3
   10u pl1:f1
  (p3 ph0):f2
   3u
   p20:gp0
   1m fq=cnst1(bf ppm):f1

  (p1 ph0):f1
   d0
  (center (p1 ph0 p1*2.2 ph2 p1 ph0):f1 (p3 ph0 p3*2.4 ph2 p3 ph0):f2)
   3u
   p25:gp1
   d30

;******create MQ and	start 13C evolution *****
  (p3 ph1):f2
   40u
  (p3 ph0 p3*2.4 ph2 p3 ph0):f2
   d20
  (p1 ph0 p1*2.2 ph2 p1 ph0):f1  ;no 15N dec, for methyls only
   d20
   d10
  (p3 ph0 p3*2.4 ph2 p3 ph0):f2
   d10
  (p3 ph0):f2
;******	end  13C evolution *****
   3u
   p25:gp1
   d3
  (p1 ph3):f1

;******NOE mixing starts*********
   0.1m 
  (p3 ph0):f2
   MIX fq=cnst0:f1
   p28:gp2
   1m pl0:f1
  (p10:sp0 ph4:r):f1 ;water flip back
   2u
   2u pl1:f1
  (p1 ph0):f1
;goto 999
   15u
   p26:gp3
   d22 pl12:f1
  (center (p2 ph5:r 2u 2u pl1 p1*2 ph0 2u 2u pl12 p2 ph5:r):f1 (COMPH p3 ph6 d23 d23 p3 ph0 COMPH):f2)
   5u
   p26:gp3
999   d22 pl30:f3
   5u setnmr0^34^32^33 ctrlgrad 7
   5u pl31:f2
  
  go=2 ph31 cpd2:f2 cpd3:f3
  10u do:f2 do:f3
  10u setnmr3^0
  d11 wr #0 if #0 zd
  d12
;********NUS t3 loop********

  "ph3loop += 1"
      "d23 = d23orig + t1loop * in23"
      "cnst6 = (ph1loop % 4) * 90"
      10u ip6 + cnst6

      "d20 = d20orig + t2loop * in20"
      "cnst11 = (ph2loop % 4) * 90"
      10u ip1 + cnst11

      if "d30orig > t3loop * in30"
      {
          "d0  = d0orig  + t3loop * in0"
          "d30 = d30orig - t3loop * in30"
          "d10 = d10orig"
      }
      else
      {
          "d0  = d0orig  + t3ctloop * in0"
          "d30 = d30orig - t3ctloop * in30"
          "d10 = d10orig + (t3loop - t3ctloop) * in10"
      }
      "cnst3 = (ph3loop % 4) * 90"
      10u ip3 + cnst3

      "cnst31 = ((t1loop + t2loop + t3loop) * 180) % 360"
      10u ip31 + cnst31
      960u
  lo to LBLF3 times 2
  "ph3loop -= 2"


;********NUS t2 loop********

  "ph2loop += 1"
      "d23 = d23orig + t1loop * in23"
      "cnst6 = (ph1loop % 4) * 90"
      10u ip6 + cnst6

      "d20 = d20orig + t2loop * in20"
      "cnst11 = (ph2loop % 4) * 90"
      10u ip1 + cnst11

      if "d30orig > t3loop * in30"
      {
          "d0  = d0orig  + t3loop * in0"
          "d30 = d30orig - t3loop * in30"
          "d10 = d10orig"
      }
      else
      {
          "d0  = d0orig  + t3ctloop * in0"
          "d30 = d30orig - t3ctloop * in30"
          "d10 = d10orig + (t3loop - t3ctloop) * in10"
      }
      "cnst3 = (ph3loop % 4) * 90"
      10u ip3 + cnst3

      "cnst31 = ((t1loop + t2loop + t3loop) * 180) % 360"
      10u ip31 + cnst31
      960u
  lo to LBLF2 times 2
  "ph2loop -= 2"


;********NUS t1 loop********

  "ph1loop += 1"
      "d23 = d23orig + t1loop * in23"
      "cnst6 = (ph1loop % 4) * 90"
      10u ip6 + cnst6

      "d20 = d20orig + t2loop * in20"
      "cnst11 = (ph2loop % 4) * 90"
      10u ip1 + cnst11

      if "d30orig > t3loop * in30"
      {
          "d0  = d0orig  + t3loop * in0"
          "d30 = d30orig - t3loop * in30"
          "d10 = d10orig"
      }
      else
      {
          "d0  = d0orig  + t3ctloop * in0"
          "d30 = d30orig - t3ctloop * in30"
          "d10 = d10orig + (t3loop - t3ctloop) * in10"
      }
      "cnst3 = (ph3loop % 4) * 90"
      10u ip3 + cnst3

      "cnst31 = ((t1loop + t2loop + t3loop) * 180) % 360"
      10u ip31 + cnst31
      960u
  lo to LBLF1 times 2
  "ph1loop -= 2"


;********Loop to the next NUS t3/t2/t1********
  "t3loop = t3list"
  10u t3list.inc
  "ph3loop = 2 * (t3loop % 2)"

  "t2loop = t2list"
  10u t2list.inc
  "ph2loop = 2 * (t2loop % 2)"

  "t1loop = t1list"
  10u t1list.inc

  "ph1loop = 2 * (t1loop % 2)"
      "d23 = d23orig + t1loop * in23"
      "cnst6 = (ph1loop % 4) * 90"
      10u ip6 + cnst6

      "d20 = d20orig + t2loop * in20"
      "cnst11 = (ph2loop % 4) * 90"
      10u ip1 + cnst11

      if "d30orig > t3loop * in30"
      {
          "d0  = d0orig  + t3loop * in0"
          "d30 = d30orig - t3loop * in30"
          "d10 = d10orig"
      }
      else
      {
          "d0  = d0orig  + t3ctloop * in0"
          "d30 = d30orig - t3ctloop * in30"
          "d10 = d10orig + (t3loop - t3ctloop) * in10"
      }
      "cnst3 = (ph3loop % 4) * 90"
      10u ip3 + cnst3

      "cnst31 = ((t1loop + t2loop + t3loop) * 180) % 360"
      10u ip31 + cnst31
      930u
  lo to LBLSTN times l9


;  lo to 3 times 2
;if "d30>in30+3u"
;{
;  d12*0.5 id0
;  d12*0.5 dd30
;}
;else
;{
;  d12 id10
;}
;  d12 ip31
;  d12 ip31
;  lo to 4 times l3
;  d12*0.5 rd0
;  d12*0.5 rd10
;  d12*0.5 rd30
;  d12*0.5 rp3
;#endif
;
;#ifdef 
;  d12 ip1
;  lo to 5 times 2
;  d12 id20
;  d12 ip31
;  d12 ip31
;  lo to 6 times l4
;  d12 rd20
;  d12 rp1
;#endif

;#ifdef 
;  d12 ip6
;  lo to 7 times 2
;  d12 id23
;  d12 ip31
;  d12 ip31
;  lo to 8 times l5
;#endif


1m setnmr3^0 setnmr0^34^32^33 ctrlgrad 7
exit 

ph0=0 
ph1=0 2
ph2=1
ph3=0
ph4=2
ph5=2
ph6=0 0 2 2
ph31=0 2 2 0
