## GARANT MACROS: asno - example of an asno macro ## ## Following steps are executed: var ispec itemp ## define job set dir = /home/cb/easy-434 # list of spectra, peak lists and atom lists to read set specs = NOESY, D2ONOESY, N15NOESY set peaklists = zqnoe-434a.peaks, zqnoe-434d20.peaks, 3dnoe-434a.peaks set atomlists = zqnoe-434aud.prot, zqnoe-434d20.prot, 3dnoe-434d.prot # proton list with frequencies set freqlist = cyp-allH.prot # assignment list and appended peak list to write set asslists = zqnoe-434a.assign, noed2oapp.assign, noe3dapp.assign set applists = noe2dapp.peaks, noed2oapp.peaks, noe3dapp.peaks # sequence to use set sequence = 434DIANA.seq # coordinate files to use, i.e. calc5001.cor .. calc5020.cor set strucs = calc50 set nrStrucs = 20 # minimal allowed distance set limitdist = 4 # minimal required number of structures with distance < limitdist set minStrucs = 10 # the accuracy of the position of the peaks relative to the # chemical shifts is specified in the macros NOESY.gar, etc. They can # be redefined using commands such as: # set N15NOESY_acc_w1 = 0.3 # SEE ALSO: spectra variables ## define the experiments set ispec=1 do # for all spectra if ('$specs(ispec)' .eq. ' ') break # if defined call macro $specs(ispec) else command spectrum $specs(ispec) if (macro('$specs(ispec)')) then $specs(ispec) # call macro with default setup else spectrum $specs(ispec) end if ispec = ispec +1 end do set pick_acc = 3 ## define the protein load sequence $dir/$sequence # diana sequence file without extension ## define pseudo atom correction for proteins pseudocorrection ## generate expected coherences, couplings and peaks make coherences # generate all possible coherences make couplings # generate couplings do i 1 $nrStrucs if ($i .lt. 10) then set name = $dir/{$strucs}0$i else set name = $dir/{$strucs}$i end if load coord $name end do make distance noe float $minStrucs $limitdist 1.0 make peaks # generate expected peaks ## load assigned peaklists set ispec=1 do # for all spectra if ('$specs(ispec)' .eq. ' ') break peaklist $specs(ispec) $dir/$peaklists(ispec) $dir/$atomlists(ispec) 0.0 eval ispec = ispec +1 end do ## define frequencies from frequency list or peak list #check inconsistencies load frequencies $dir/$freqlist ## write assignment possibilities for loaded peaks reset possible assignments make possible assignments set ispec=1 do # for all spectra if ('$specs(ispec)' .eq. ' ') break write possible assignments $specs(ispec) $dir/$asslists(ispec) $dir/$atomlists(ispec) eval ispec = ispec +1 end do ## append missing expected peaks and write out the new peak lists set ispec=1 do # for all spectra if ('$specs(ispec)' .eq. ' ') break append expected peaks $specs(ispec) 0 5 write peaks $specs(ispec) $dir/$applists(ispec) $dir/$atomlists(ispec) eval ispec = ispec +1 end do