REM *********************************************************************** REM * * REM * CT-COSY - DL & GMB 2001 * REM * * REM * Constant-Time COSY experiment. Uses constant time as the evoulution * REM * period, and achieves variation by moving the inversion pulse. The * REM * experiment has two advantages. First, the tranfer efficiency is * REM * constant throughout the t1 period. Second, since we are refocusing * REM * couplings in t1, we get a 'decoupled' f1 dimension. The pulse * REM * sequence and phase cycle is from Girvin, M. E. J. Magn. Reson. A, * REM * 1994, 108, 99-102: * REM * * REM * rd - 90 - (tc + d0/2) - 180 - (tc - d0/2) - 90 - acquire * REM * * REM * The ct period can be calculated in one of two ways. One just uses * REM * the dwell time and the total number of experiments (d*x) to get * REM * tc. Alternatively, the tc can be calculated from 1/2*J, as this is * REM * the value that will give the best tranfer efficiency. This comes * REM * from sin(pi*J*ct). If the selected coupling is such that j*x is * REM * smaller than sw, then d*x is used to calculate tc. Otherwise, the * REM * dwell time in t1 is recalculated to 1/(2*j*x), but the spectrum * REM * will not be symmetrical. i.e., SW in f1 will larger than in f2... * REM * * REM *********************************************************************** REM read in ctcosy conditions (4 scans...) re "c:\eft\h1\ctcosy.ini" showwin cls print "CT-COSY acquisition program." print print "The relaxation delay needs to be set in the range 1 to 5" print "times the expected T1 for the sample. 2.0 sec is a good" print "general purpose value." print input "Enter a relaxation delay.",d0 if d0=0 then d0=2 cls print "CT-COSY acquisition program." print define p0 h90 pulses.txt if p0>0 then print "The 90 degree pulsewidth chosen is: ",p0 if p0=0 then input "Enter 90 degree pulsewidth: ",p0 REM define the 180 degree pulse... p1=2*p0 REM Here ask if this is a CT-COSY45 or CT-COSY90... print print "Select the pulsewidth of the mixing pulse. Enter" print "1 for a 90 degree pulse, or 2 for a 45 degree pulse." input "Pulswidth of the mixing pulse (1) or (2): ",m REM Set the default p1 to 90 if what the user entered is garbage... p2=p0 if m=1 then p2=p0 if m=2 then p2=p0/2 SLEEP 1 REM Calculate the number of t1 slices SI/4=TD/4, TD=t x=t/4 cls print "CT-COSY acquisition program." print print "The constant-time period can be either fixed to the" print "dwell time in t2, or from the value of the expected" print "coupling constants so as to maximize trasfer in the" print "CT period. Enter how to calculate CT." input "(0) to use fixed CT, (1) to calculate from J:",q if q=1 goto 100 REM calculate the tc time as a function of the dwell time and REM number of experiments in t1... d5=d*x 200 cls print "CT-COSY acquisition program." print print "Enter a file name for the data. The default file" print "my_ctcosy can be used by responding with an ." print "Any file with the same name will be overwritten" print "without warning." input "Enter output file name (data\my_ctcosy): ",f$ if f$="" then f$="data\my_ctcosy" REM phase cycle... a$="0000" 'first pulse phase b$="0101" 'composite inversion pulse phase - (90)x c$="1212" 'composite inversion pulse phase - (180)y d$="0123" 'mixing pulse phase e$="0202" 'receiver phase REM will use 3*dw/16 delay before turning receiver on e=3*d/16 REM will use dw/16 delay before turning digitizer on f=d/16 REM set up the program for GS PROGRAM "clear" PROGRAM 0 d0 S PROGRAM + 2.0 uS PROGRAM + p0 uS TX a$ PROGRAM + e uS PROGRAM + f uS RX PROGRAM + 1.0 uS ADC RX PROGRAM + a S RX PROGRAM "coadd" e$ PROGRAM + 2.0 uS ZERO cls print "Running GS..." print print "If the FID is RED, reduce the gain. " print print " to exit GS and continue with COSY." STARTGS REM now run the CT-COSY experiment. First calculate the REM initial t1 delays... d1=d5/2 d2=d5/2 REM calculate the run time with the revised RD. w=n*x*(a+d0+x*d/2e6)/60 REM print decent significant figures. w=(10*w - (10*w)%1)/10 REM define nucleus for 2nd dimension h$="H1" REM Write the 2D file header WH2D f$ x s h$ cls print "Running CT-COSY..." print print "Time, in minutes, to complete the experiment: ",w print PROGRAM "clear" PROGRAM 0 d0 S PROGRAM + 2.0 uS PROGRAM + p0 uS TX a$ PROGRAM + d1 uS PROGRAM + p0 uS TX b$ PROGRAM + p1 uS TX c$ PROGRAM + p0 uS TX b$ PROGRAM + d2 us PROGRAM + 1.0 uS PROGRAM + p2 uS TX d$ PROGRAM + e uS PROGRAM + f uS RX PROGRAM + 1.0 uS ADC RX PROGRAM + a S RX PROGRAM "coadd" e$ PROGRAM + 2.0 uS FOR i=1 to x ZERO START REM Write the data to the 2D file WF f$ i 0 REM Increment the t1 delay by d and update pulse programmer... d1=d1+d5/(2*x) d2=d2-d5/(2*x) PROGRAM 3 d1 uS PROGRAM 7 d2 uS cls print "Running CT-COSY..." print REM calculate the remaining time. w=n*(x-i)*(a+d0+x*d/2e6)/60 REM print decent significant figures. w=(10*w - (10*w)%1)/10 print "Slice",i,"of",x,"completed - Time remaining",w,"minutes." NEXT cls print "CT-COSY Experiment Completed." print print "Data written to file ",f$ print print "Use NutsMacro aii_cosy.mac, , for processing." input " to exit the pulse program.",g$ goto 300 100 REM here calculate TC as a function of j... print print "Enter the desired coupling for maximum transfer." inputt "Enter the coupling constant (Hz):",j print d5=1e6/(2*j*x) if d5>d then print "The J value violates the dwell time..." if d5d then d5=d d5=d5*x SLEEP 1 goto 200 300 END