diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index b7f8575..494f7bd 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -22,6 +22,14 @@ jobs: - name: Setup Pages uses: actions/configure-pages@v4 + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Generate sidebar tree + run: python3 scripts/generate_tree.py + - name: Build with Jekyll uses: actions/jekyll-build-pages@v1 diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..1c2f138 --- /dev/null +++ b/Gemfile @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +source "https://rubygems.org" + +# gem "rails" + +gem "github-pages", "~> 232" +gem "jekyll-readme-index" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..a91e9ed --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,284 @@ +GEM + remote: https://rubygems.org/ + specs: + activesupport (8.1.2) + base64 + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + json + logger (>= 1.4.2) + minitest (>= 5.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + uri (>= 0.13.1) + addressable (2.8.8) + public_suffix (>= 2.0.2, < 8.0) + base64 (0.3.0) + bigdecimal (4.0.1) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + colorator (1.1.0) + commonmarker (0.23.12) + concurrent-ruby (1.3.6) + connection_pool (3.0.2) + csv (3.3.5) + dnsruby (1.73.1) + base64 (>= 0.2) + logger (~> 1.6) + simpleidn (~> 0.2.1) + drb (2.2.3) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.15.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + execjs (2.10.0) + faraday (2.14.1) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.2) + net-http (~> 0.5) + ffi (1.17.3-x86_64-linux-gnu) + forwardable-extended (2.6.0) + gemoji (4.1.0) + github-pages (232) + github-pages-health-check (= 1.18.2) + jekyll (= 3.10.0) + jekyll-avatar (= 0.8.0) + jekyll-coffeescript (= 1.2.2) + jekyll-commonmark-ghpages (= 0.5.1) + jekyll-default-layout (= 0.1.5) + jekyll-feed (= 0.17.0) + jekyll-gist (= 1.5.0) + jekyll-github-metadata (= 2.16.1) + jekyll-include-cache (= 0.2.1) + jekyll-mentions (= 1.6.0) + jekyll-optional-front-matter (= 0.3.2) + jekyll-paginate (= 1.1.0) + jekyll-readme-index (= 0.3.0) + jekyll-redirect-from (= 0.16.0) + jekyll-relative-links (= 0.6.1) + jekyll-remote-theme (= 0.4.3) + jekyll-sass-converter (= 1.5.2) + jekyll-seo-tag (= 2.8.0) + jekyll-sitemap (= 1.4.0) + jekyll-swiss (= 1.0.0) + jekyll-theme-architect (= 0.2.0) + jekyll-theme-cayman (= 0.2.0) + jekyll-theme-dinky (= 0.2.0) + jekyll-theme-hacker (= 0.2.0) + jekyll-theme-leap-day (= 0.2.0) + jekyll-theme-merlot (= 0.2.0) + jekyll-theme-midnight (= 0.2.0) + jekyll-theme-minimal (= 0.2.0) + jekyll-theme-modernist (= 0.2.0) + jekyll-theme-primer (= 0.6.0) + jekyll-theme-slate (= 0.2.0) + jekyll-theme-tactile (= 0.2.0) + jekyll-theme-time-machine (= 0.2.0) + jekyll-titles-from-headings (= 0.5.3) + jemoji (= 0.13.0) + kramdown (= 2.4.0) + kramdown-parser-gfm (= 1.1.0) + liquid (= 4.0.4) + mercenary (~> 0.3) + minima (= 2.5.1) + nokogiri (>= 1.16.2, < 2.0) + rouge (= 3.30.0) + terminal-table (~> 1.4) + webrick (~> 1.8) + github-pages-health-check (1.18.2) + addressable (~> 2.3) + dnsruby (~> 1.60) + octokit (>= 4, < 8) + public_suffix (>= 3.0, < 6.0) + typhoeus (~> 1.3) + html-pipeline (2.14.3) + activesupport (>= 2) + nokogiri (>= 1.4) + http_parser.rb (0.8.1) + i18n (1.14.8) + concurrent-ruby (~> 1.0) + jekyll (3.10.0) + addressable (~> 2.4) + colorator (~> 1.0) + csv (~> 3.0) + em-websocket (~> 0.5) + i18n (>= 0.7, < 2) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 2.0) + kramdown (>= 1.17, < 3) + liquid (~> 4.0) + mercenary (~> 0.3.3) + pathutil (~> 0.9) + rouge (>= 1.7, < 4) + safe_yaml (~> 1.0) + webrick (>= 1.0) + jekyll-avatar (0.8.0) + jekyll (>= 3.0, < 5.0) + jekyll-coffeescript (1.2.2) + coffee-script (~> 2.2) + coffee-script-source (~> 1.12) + jekyll-commonmark (1.4.0) + commonmarker (~> 0.22) + jekyll-commonmark-ghpages (0.5.1) + commonmarker (>= 0.23.7, < 1.1.0) + jekyll (>= 3.9, < 4.0) + jekyll-commonmark (~> 1.4.0) + rouge (>= 2.0, < 5.0) + jekyll-default-layout (0.1.5) + jekyll (>= 3.0, < 5.0) + jekyll-feed (0.17.0) + jekyll (>= 3.7, < 5.0) + jekyll-gist (1.5.0) + octokit (~> 4.2) + jekyll-github-metadata (2.16.1) + jekyll (>= 3.4, < 5.0) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-mentions (1.6.0) + html-pipeline (~> 2.3) + jekyll (>= 3.7, < 5.0) + jekyll-optional-front-matter (0.3.2) + jekyll (>= 3.0, < 5.0) + jekyll-paginate (1.1.0) + jekyll-readme-index (0.3.0) + jekyll (>= 3.0, < 5.0) + jekyll-redirect-from (0.16.0) + jekyll (>= 3.3, < 5.0) + jekyll-relative-links (0.6.1) + jekyll (>= 3.3, < 5.0) + jekyll-remote-theme (0.4.3) + addressable (~> 2.0) + jekyll (>= 3.5, < 5.0) + jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) + rubyzip (>= 1.3.0, < 3.0) + jekyll-sass-converter (1.5.2) + sass (~> 3.4) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-sitemap (1.4.0) + jekyll (>= 3.7, < 5.0) + jekyll-swiss (1.0.0) + jekyll-theme-architect (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-cayman (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-dinky (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-hacker (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-leap-day (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-merlot (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-midnight (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-minimal (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-modernist (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-primer (0.6.0) + jekyll (> 3.5, < 5.0) + jekyll-github-metadata (~> 2.9) + jekyll-seo-tag (~> 2.0) + jekyll-theme-slate (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-tactile (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-theme-time-machine (0.2.0) + jekyll (> 3.5, < 5.0) + jekyll-seo-tag (~> 2.0) + jekyll-titles-from-headings (0.5.3) + jekyll (>= 3.3, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + jemoji (0.13.0) + gemoji (>= 3, < 5) + html-pipeline (~> 2.2) + jekyll (>= 3.0, < 5.0) + json (2.18.1) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.10.0) + logger + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + logger (1.7.0) + mercenary (0.3.6) + minima (2.5.1) + jekyll (>= 3.5, < 5.0) + jekyll-feed (~> 0.9) + jekyll-seo-tag (~> 2.1) + minitest (6.0.1) + prism (~> 1.5) + net-http (0.9.1) + uri (>= 0.11.1) + nokogiri (1.19.0-x86_64-linux-gnu) + racc (~> 1.4) + octokit (4.25.1) + faraday (>= 1, < 3) + sawyer (~> 0.9) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + prism (1.9.0) + public_suffix (5.1.1) + racc (1.8.1) + rb-fsevent (0.11.2) + rb-inotify (0.11.1) + ffi (~> 1.0) + rexml (3.4.4) + rouge (3.30.0) + rubyzip (2.4.1) + safe_yaml (1.0.5) + sass (3.7.4) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + sawyer (0.9.3) + addressable (>= 2.3.5) + faraday (>= 0.17.3, < 3) + securerandom (0.4.1) + simpleidn (0.2.3) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + typhoeus (1.5.0) + ethon (>= 0.9.0, < 0.16.0) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + unicode-display_width (1.8.0) + uri (1.1.1) + webrick (1.9.2) + +PLATFORMS + x86_64-linux-gnu + +DEPENDENCIES + github-pages (~> 232) + jekyll-readme-index + +BUNDLED WITH + 2.4.20 diff --git a/Input_peak_lists_for_4D-GraFID/peak_list_full_format_guide.md b/Input_peak_lists_for_4D-GraFID/peak_list_full_format_guide.md index 8502852..2a8dc60 100644 --- a/Input_peak_lists_for_4D-GraFID/peak_list_full_format_guide.md +++ b/Input_peak_lists_for_4D-GraFID/peak_list_full_format_guide.md @@ -1,3 +1,8 @@ +--- +title: "peak list full format guide" +layout: default +--- + # Submitting peak lists for 4D-GraFID ## Experiment type reference diff --git a/NMR_Pipe/Readme.md b/NMR_Pipe/Readme.md index 77122d4..c0eee50 100644 --- a/NMR_Pipe/Readme.md +++ b/NMR_Pipe/Readme.md @@ -1,3 +1,9 @@ +--- +title: "Single line NMR Pipe installation" +permalink: /NMR_Pipe/ +layout: default +--- + # Single line NMR Pipe installation Download, install and set up [NMRPipe](https://spin.niddk.nih.gov/bax/NMRPipe/) on Ubuntu with the single line! @@ -46,4 +52,3 @@ Simple as that! - diff --git a/NMR_theory/NMR_Spectrometer.md b/NMR_theory/NMR_Spectrometer.md index eea5f50..7566622 100644 --- a/NMR_theory/NMR_Spectrometer.md +++ b/NMR_theory/NMR_Spectrometer.md @@ -1,3 +1,8 @@ +--- +title: "NMR Spectrometer" +layout: default +--- + NMR spectrometers consist of three main components: a superconducting magnet, a probe and a complex electronic system (console) controlled by a workstation (Figure 3). diff --git a/Non_Uniform_Sampling/NMRPipe/IST.md b/Non_Uniform_Sampling/NMRPipe/IST.md index ee7d3e5..d2c7506 100644 --- a/Non_Uniform_Sampling/NMRPipe/IST.md +++ b/Non_Uniform_Sampling/NMRPipe/IST.md @@ -1,161 +1,166 @@ -# IST reconstruction as implemented in NMR Pipe - -## General remarks - -`NMRPipe` uses a single CPU core only. FT (and other linear transforations) do not consume memory. - -Reconstruction takes *2 h 40 m X 2 (at least)* and consumes almost no RAM. - - - -# Example: Ubiquitin (AIffinity pulse sequence) - -With the default parameters - -## Step 1: convert the file - - - - #!/bin/csh - - time - - nusExpand.tcl -mode bruker -sampleCount 3500 -avg -off 0 \ - -in ./ser -out ./ser_full -sample ./nuslist - - bruk2pipe -verb -in ./ser_full \ - -bad 0.0 -ext -aswap -AMX -decim 2800 -dspfvs 20 -grpdly 68 \ - -xN 1024 -yN 160 -zN 160 -aN 400 \ - -xT 512 -yT 80 -zT 80 -aT 200 \ - -xMODE DQD -yMODE Complex -zMODE Complex -aMODE Complex \ - -xSW 7142.857 -ySW 1411.433 -zSW 8756.567 -aSW 7142.857 \ - -xOBS 600.053 -yOBS 60.810 -zOBS 150.889 -aOBS 600.054 \ - -xCAR 4.771 -yCAR 120.169 -zCAR 41.847 -aCAR 6.737 \ - -xLAB HN -yLAB 15N -zLAB 13C -aLAB 1H \ - -ndim 4 -aq2D Complex \ - | nmrPipe -fn MULT -c 2.50000e+02 \ - | pipe2xyz -x -out ./fid/test%04d.fid -ov - - ### This mask creation may be not necessary - check that! - xyz2pipe -in ./fid/test%04d.fid -noWr \ - | nusExpand.tcl -mask -noexpand -mode pipe -sampleCount 3500 -avg -off 0 \ - -in stdin -out ./mask/test%04d.fid -sample ./nuslist - - echo "Done." - - time - -## Step 2: Check the settings without reconstruction - -> @TODO: how to know the region for sure in NMRPipe?! -> @TODO: how to process 1 FID / 1 plane / 1 cube to test something? - -1. Check the segment of the direct dimension you want to process - this is crusial for the processing time! - > Thus, only the FT of the entire spectrum takes longer than an hour while the segment of 20% of the direct dimension takees only 12 minutes! -2. This code auto-phases; but just in case, call the auto-phase command separately and compare with the phase correction coefficients for our 2D planes: - - - nmrPrintf "Auto-Phase ...\n\n" - set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) - nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 - - -### Doing actual fourier transform in the indirect dimensions - -> ***Note 1***: the lines calling nmrPipe function `EXT`: they are responsible for cutting the dimensions. -> -> Usage: see [nmrpipe reference page](https://www.nmrscience.com/ref/nmrpipe/) -> -> Here, we define the region in percentage: 1-50% for the direct dimension going through 15N. -> -> **Note 2**: To account for the 1-point delay in the ¹³C dimension, we include the line `| nmrPipe -fn CS -ls 20 -sw \` - where 20 is the number of points (read: 3D cubes) by which the axis needs to e shifted to the left. - - - #!/bin/csh - - nmrPrintf "Auto-Phase ...\n\n" - - set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) - - nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 - - xyz2pipe -in fid/test%04d.fid -x -verb \ - | nmrPipe -fn SOL \ - | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 $xP0 -p1 0.0 -di \ - | nmrPipe -fn EXT -x1 1% -xn 50% -sw \ - | nmrPipe -fn TP \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn TP \ - | nmrPipe -fn POLY -auto \ - | nmrPipe -fn ZTP \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn CS -ls 20 -sw \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn ZTP \ - | pipe2xyz -out ft3/test%05d.ft3 -x -ov - - xyz2pipe -in ft3/test%05d.ft3 -a -verb \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | pipe2xyz -out ft/test%03d.ft4 -a -ov - - echo "FT done." - echo "Making projections" - - proj4D.tcl -in ft/test%03d.ft4 -axis -outDir ftproj - - echo "Projection done." - -> FT of the **full** Ubq 4D takes approx. 1 hour -> FT + projections of the spectrum with 54% in the *direct* and 30-95% in the *indirect* ¹H dimension took ~25 minutes: - - real 50m18,008s - user 21m17,213s - sys 29m27,771s - -> ***Note 2***: do **not** use `basicFT4.com`! It generates an `nmr.com` with a lot of default actions that one might not like (for example, removing the `ft3` directory too early for troubleshooting). It sets default window functions to sine sqared in the direct and normal sine in the indirect dimensions. -> You may specify the parameters you want as arguments - but then you do not need the function that creates this script! A separate explicit script is more readable! - - -### Clean-up: - - - rm -rf fid mask ft3 - - -Making projections of the ENTIRE spectrum (full range of ppm in the direct dimension) takes 14 minutes on Atlas. - - -`615.093u 69.775s 13:47.19 82.7% 0+0k 3703120+9976io 13pf+0w` - -> Spectrum of Ubiquitin can be somewhat legible even without NUS reconstruction, so with FT only! But most of the signals will be very weak. Projections are clear, but it's difficult to discern 4D peaks. - -## Step 3: NUS - -### IST - -Command: - - ist4D.com –istMaxRes Auto \ - -in fid/test%04d.fid -mask mask/test%04d.fid -out ist/test%04d.ft3 \ - -xP0 -90 -xP1 0 -zP0 -90 -zP1 180 -xEXTX1 10.4ppm -xEXTXN 5.4ppm \ - -zFTARG alt - -Unlike SMILE, the IST function does not generate any script. The prelimanary processing (FFT of the direcc dimension, -reformatting, restructuring) takes *much* longer than in case of SMILE - more than an hour as opposed to a dozen minutes! - -See all availble options in the [command reference](./nusPipe_IST_4D_ref.md) - -> **Warning**: Durnig processing, the intermediate file `ist_nuszf.fid` blows up *immensely* and can weight MORE THAN 350 GB - for 40 GB expanded FID! - - +--- +title: "IST reconstruction as implemented in NMR Pipe" +layout: default +--- + +# IST reconstruction as implemented in NMR Pipe + +## General remarks + +`NMRPipe` uses a single CPU core only. FT (and other linear transforations) do not consume memory. + +Reconstruction takes *2 h 40 m X 2 (at least)* and consumes almost no RAM. + + + +# Example: Ubiquitin (AIffinity pulse sequence) + +With the default parameters + +## Step 1: convert the file + + + + #!/bin/csh + + time + + nusExpand.tcl -mode bruker -sampleCount 3500 -avg -off 0 \ + -in ./ser -out ./ser_full -sample ./nuslist + + bruk2pipe -verb -in ./ser_full \ + -bad 0.0 -ext -aswap -AMX -decim 2800 -dspfvs 20 -grpdly 68 \ + -xN 1024 -yN 160 -zN 160 -aN 400 \ + -xT 512 -yT 80 -zT 80 -aT 200 \ + -xMODE DQD -yMODE Complex -zMODE Complex -aMODE Complex \ + -xSW 7142.857 -ySW 1411.433 -zSW 8756.567 -aSW 7142.857 \ + -xOBS 600.053 -yOBS 60.810 -zOBS 150.889 -aOBS 600.054 \ + -xCAR 4.771 -yCAR 120.169 -zCAR 41.847 -aCAR 6.737 \ + -xLAB HN -yLAB 15N -zLAB 13C -aLAB 1H \ + -ndim 4 -aq2D Complex \ + | nmrPipe -fn MULT -c 2.50000e+02 \ + | pipe2xyz -x -out ./fid/test%04d.fid -ov + + ### This mask creation may be not necessary - check that! + xyz2pipe -in ./fid/test%04d.fid -noWr \ + | nusExpand.tcl -mask -noexpand -mode pipe -sampleCount 3500 -avg -off 0 \ + -in stdin -out ./mask/test%04d.fid -sample ./nuslist + + echo "Done." + + time + +## Step 2: Check the settings without reconstruction + +> @TODO: how to know the region for sure in NMRPipe?! +> @TODO: how to process 1 FID / 1 plane / 1 cube to test something? + +1. Check the segment of the direct dimension you want to process - this is crusial for the processing time! + > Thus, only the FT of the entire spectrum takes longer than an hour while the segment of 20% of the direct dimension takees only 12 minutes! +2. This code auto-phases; but just in case, call the auto-phase command separately and compare with the phase correction coefficients for our 2D planes: + + + nmrPrintf "Auto-Phase ...\n\n" + set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) + nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 + + +### Doing actual fourier transform in the indirect dimensions + +> ***Note 1***: the lines calling nmrPipe function `EXT`: they are responsible for cutting the dimensions. +> +> Usage: see [nmrpipe reference page](https://www.nmrscience.com/ref/nmrpipe/) +> +> Here, we define the region in percentage: 1-50% for the direct dimension going through 15N. +> +> **Note 2**: To account for the 1-point delay in the ¹³C dimension, we include the line `| nmrPipe -fn CS -ls 20 -sw \` - where 20 is the number of points (read: 3D cubes) by which the axis needs to e shifted to the left. + + + #!/bin/csh + + nmrPrintf "Auto-Phase ...\n\n" + + set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) + + nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 + + xyz2pipe -in fid/test%04d.fid -x -verb \ + | nmrPipe -fn SOL \ + | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 $xP0 -p1 0.0 -di \ + | nmrPipe -fn EXT -x1 1% -xn 50% -sw \ + | nmrPipe -fn TP \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn TP \ + | nmrPipe -fn POLY -auto \ + | nmrPipe -fn ZTP \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn CS -ls 20 -sw \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn ZTP \ + | pipe2xyz -out ft3/test%05d.ft3 -x -ov + + xyz2pipe -in ft3/test%05d.ft3 -a -verb \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | pipe2xyz -out ft/test%03d.ft4 -a -ov + + echo "FT done." + echo "Making projections" + + proj4D.tcl -in ft/test%03d.ft4 -axis -outDir ftproj + + echo "Projection done." + +> FT of the **full** Ubq 4D takes approx. 1 hour +> FT + projections of the spectrum with 54% in the *direct* and 30-95% in the *indirect* ¹H dimension took ~25 minutes: + + real 50m18,008s + user 21m17,213s + sys 29m27,771s + +> ***Note 2***: do **not** use `basicFT4.com`! It generates an `nmr.com` with a lot of default actions that one might not like (for example, removing the `ft3` directory too early for troubleshooting). It sets default window functions to sine sqared in the direct and normal sine in the indirect dimensions. +> You may specify the parameters you want as arguments - but then you do not need the function that creates this script! A separate explicit script is more readable! + + +### Clean-up: + + + rm -rf fid mask ft3 + + +Making projections of the ENTIRE spectrum (full range of ppm in the direct dimension) takes 14 minutes on Atlas. + + +`615.093u 69.775s 13:47.19 82.7% 0+0k 3703120+9976io 13pf+0w` + +> Spectrum of Ubiquitin can be somewhat legible even without NUS reconstruction, so with FT only! But most of the signals will be very weak. Projections are clear, but it's difficult to discern 4D peaks. + +## Step 3: NUS + +### IST + +Command: + + ist4D.com –istMaxRes Auto \ + -in fid/test%04d.fid -mask mask/test%04d.fid -out ist/test%04d.ft3 \ + -xP0 -90 -xP1 0 -zP0 -90 -zP1 180 -xEXTX1 10.4ppm -xEXTXN 5.4ppm \ + -zFTARG alt + +Unlike SMILE, the IST function does not generate any script. The prelimanary processing (FFT of the direcc dimension, +reformatting, restructuring) takes *much* longer than in case of SMILE - more than an hour as opposed to a dozen minutes! + +See all availble options in the [command reference](./nusPipe_IST_4D_ref.md) + +> **Warning**: Durnig processing, the intermediate file `ist_nuszf.fid` blows up *immensely* and can weight MORE THAN 350 GB - for 40 GB expanded FID! + + diff --git a/Non_Uniform_Sampling/NMRPipe/NOESY_4D_sequence_ref.md b/Non_Uniform_Sampling/NMRPipe/NOESY_4D_sequence_ref.md index 7e2635b..e55771f 100644 --- a/Non_Uniform_Sampling/NMRPipe/NOESY_4D_sequence_ref.md +++ b/Non_Uniform_Sampling/NMRPipe/NOESY_4D_sequence_ref.md @@ -1,3 +1,8 @@ +--- +title: "NOESY 4D sequence ref" +layout: default +--- + ### Magnetization transfer in 4D HCNH NOESY (HSQC-NOESY-HMQC) 1. All protons are excited diff --git a/Non_Uniform_Sampling/NMRPipe/SMILE.md b/Non_Uniform_Sampling/NMRPipe/SMILE.md index 46a3fb8..cd243fe 100644 --- a/Non_Uniform_Sampling/NMRPipe/SMILE.md +++ b/Non_Uniform_Sampling/NMRPipe/SMILE.md @@ -1,305 +1,310 @@ -# SMILE reconstruction - -## General remarks - -`NMRPipe` uses a single CPU core only. FT (and other linear transforations) do not consume memory. - -Reconstruction takes ... and consumes ... RAM. - - - -# Example: Ubiquitin (AIffinity pulse sequence) - -With the default parameters - -## Step 1: convert the file - - - - #!/bin/csh - - time - - nusExpand.tcl -mode bruker -sampleCount 3500 -avg -off 0 \ - -in ./ser -out ./ser_full -sample ./nuslist - - bruk2pipe -verb -in ./ser_full \ - -bad 0.0 -ext -aswap -AMX -decim 2800 -dspfvs 20 -grpdly 68 \ - -xN 1024 -yN 160 -zN 160 -aN 400 \ - -xT 512 -yT 80 -zT 80 -aT 200 \ - -xMODE DQD -yMODE Complex -zMODE Complex -aMODE Complex \ - -xSW 7142.857 -ySW 1411.433 -zSW 8756.567 -aSW 7142.857 \ - -xOBS 600.053 -yOBS 60.810 -zOBS 150.889 -aOBS 600.054 \ - -xCAR 4.771 -yCAR 120.169 -zCAR 41.847 -aCAR 6.737 \ - -xLAB HN -yLAB 15N -zLAB 13C -aLAB 1H \ - -ndim 4 -aq2D Complex \ - | nmrPipe -fn MULT -c 2.50000e+02 \ - | pipe2xyz -x -out ./fid/test%04d.fid -ov - - ### This mask creation may be not necessary - check that! - xyz2pipe -in ./fid/test%04d.fid -noWr \ - | nusExpand.tcl -mask -noexpand -mode pipe -sampleCount 3500 -avg -off 0 \ - -in stdin -out ./mask/test%04d.fid -sample ./nuslist - - echo "Done." - - time - -## Step 2: Check the settings without reconstruction - -> @TODO: how to know the region for sure in NMRPipe?! -> @TODO: how to process 1 FID / 1 plane / 1 cube to test something? - -1. Check the segment of the direct dimension you want to process - this is crusial for the processing time! - > Thus, only the FT of the entire spectrum takes longer than an hour while the segment of 20% of the direct dimension takees only 12 minutes! -2. This code auto-phases; but just in case, call the auto-phase command separately and compare with the phase correction coefficients for our 2D planes: - -``` -nmrPrintf "Auto-Phase ...\n\n" -set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) -nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 -``` - -### Doing actual fourier transform in the indirect dimensions - -> ***Note 1***: the lines calling nmrPipe function `EXT`: they are responsible for cutting the dimensions. -> -> Usage: see [nmrpipe reference page](https://www.nmrscience.com/ref/nmrpipe/) -> -> Here, we define the region in percentage: 1-50% for the direct dimension going through 15N. -> -> **Note 2**: To account for the 1-point delay in the ¹³C dimension, we include the line `| nmrPipe -fn CS -ls 20 -sw \` - where 20 is the number of points (read: 3D cubes) by which the axis needs to e shifted to the left. - - - #!/bin/csh - - nmrPrintf "Auto-Phase ...\n\n" - - set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) - - nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 - - xyz2pipe -in fid/test%04d.fid -x -verb \ - | nmrPipe -fn SOL \ - | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 $xP0 -p1 0.0 -di \ - | nmrPipe -fn EXT -x1 1% -xn 50% -sw \ - | nmrPipe -fn TP \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn TP \ - | nmrPipe -fn POLY -auto \ - | nmrPipe -fn ZTP \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn CS -ls 20 -sw \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn ZTP \ - | pipe2xyz -out ft3/test%05d.ft3 -x -ov - - xyz2pipe -in ft3/test%05d.ft3 -a -verb \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | pipe2xyz -out ft/test%03d.ft4 -a -ov - - echo "FT done." - echo "Making projections" - - proj4D.tcl -in ft/test%03d.ft4 -axis -outDir ftproj - - echo "Projection done." - -> FT of the **full** Ubq 4D takes approx. 1 hour -> FT + projections of the spectrum with 54% in the *direct* and 30-95% in the *indirect* ¹H dimension took ~25 minutes: - - real 50m18,008s - user 21m17,213s - sys 29m27,771s - -> ***Note 2***: do **not** use `basicFT4.com`! It generates an `nmr.com` with a lot of default actions that one might not like (for example, removing the `ft3` directory too early for troubleshooting). It sets default window functions to sine sqared in the direct and normal sine in the indirect dimensions. -> You may specify the parameters you want as arguments - but then you do not need the function that creates this script! A separate explicit script is more readable! - - -### Clean-up: - - - rm -rf fid mask ft3 - - -Making projections of the ENTIRE spectrum (full range of ppm in the direct dimension) takes 14 minutes on Atlas. - - -`615.093u 69.775s 13:47.19 82.7% 0+0k 3703120+9976io 13pf+0w` - -> Spectrum of Ubiquitin can be somewhat legible even without NUS reconstruction, so with FT only! But most of the signals will be very weak. Projections are clear, but it's difficult to discern 4D peaks. - -## Step 3: NUS - -### SMILE +--- +title: "SMILE reconstruction" +layout: default +--- + +# SMILE reconstruction + +## General remarks + +`NMRPipe` uses a single CPU core only. FT (and other linear transforations) do not consume memory. + +Reconstruction takes ... and consumes ... RAM. + + + +# Example: Ubiquitin (AIffinity pulse sequence) + +With the default parameters + +## Step 1: convert the file + + + + #!/bin/csh + + time + + nusExpand.tcl -mode bruker -sampleCount 3500 -avg -off 0 \ + -in ./ser -out ./ser_full -sample ./nuslist + + bruk2pipe -verb -in ./ser_full \ + -bad 0.0 -ext -aswap -AMX -decim 2800 -dspfvs 20 -grpdly 68 \ + -xN 1024 -yN 160 -zN 160 -aN 400 \ + -xT 512 -yT 80 -zT 80 -aT 200 \ + -xMODE DQD -yMODE Complex -zMODE Complex -aMODE Complex \ + -xSW 7142.857 -ySW 1411.433 -zSW 8756.567 -aSW 7142.857 \ + -xOBS 600.053 -yOBS 60.810 -zOBS 150.889 -aOBS 600.054 \ + -xCAR 4.771 -yCAR 120.169 -zCAR 41.847 -aCAR 6.737 \ + -xLAB HN -yLAB 15N -zLAB 13C -aLAB 1H \ + -ndim 4 -aq2D Complex \ + | nmrPipe -fn MULT -c 2.50000e+02 \ + | pipe2xyz -x -out ./fid/test%04d.fid -ov + + ### This mask creation may be not necessary - check that! + xyz2pipe -in ./fid/test%04d.fid -noWr \ + | nusExpand.tcl -mask -noexpand -mode pipe -sampleCount 3500 -avg -off 0 \ + -in stdin -out ./mask/test%04d.fid -sample ./nuslist + + echo "Done." + + time + +## Step 2: Check the settings without reconstruction + +> @TODO: how to know the region for sure in NMRPipe?! +> @TODO: how to process 1 FID / 1 plane / 1 cube to test something? + +1. Check the segment of the direct dimension you want to process - this is crusial for the processing time! + > Thus, only the FT of the entire spectrum takes longer than an hour while the segment of 20% of the direct dimension takees only 12 minutes! +2. This code auto-phases; but just in case, call the auto-phase command separately and compare with the phase correction coefficients for our 2D planes: + +``` +nmrPrintf "Auto-Phase ...\n\n" +set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) +nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 +``` + +### Doing actual fourier transform in the indirect dimensions + +> ***Note 1***: the lines calling nmrPipe function `EXT`: they are responsible for cutting the dimensions. +> +> Usage: see [nmrpipe reference page](https://www.nmrscience.com/ref/nmrpipe/) +> +> Here, we define the region in percentage: 1-50% for the direct dimension going through 15N. +> +> **Note 2**: To account for the 1-point delay in the ¹³C dimension, we include the line `| nmrPipe -fn CS -ls 20 -sw \` - where 20 is the number of points (read: 3D cubes) by which the axis needs to e shifted to the left. + + + #!/bin/csh + + nmrPrintf "Auto-Phase ...\n\n" + + set xP0 = (`basicAutoPhase.com -in fid/test%04d.fid -apxP1 0.0 -apyP0 0.0 -apyP1 0.0 -apyFTARG None -apOrd 0`) + + nmrPrintf "Auto-Phase xP0: %.1f\n\n" $xP0 + + xyz2pipe -in fid/test%04d.fid -x -verb \ + | nmrPipe -fn SOL \ + | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 $xP0 -p1 0.0 -di \ + | nmrPipe -fn EXT -x1 1% -xn 50% -sw \ + | nmrPipe -fn TP \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn TP \ + | nmrPipe -fn POLY -auto \ + | nmrPipe -fn ZTP \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn CS -ls 20 -sw \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn ZTP \ + | pipe2xyz -out ft3/test%05d.ft3 -x -ov + + xyz2pipe -in ft3/test%05d.ft3 -a -verb \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | pipe2xyz -out ft/test%03d.ft4 -a -ov + + echo "FT done." + echo "Making projections" + + proj4D.tcl -in ft/test%03d.ft4 -axis -outDir ftproj + + echo "Projection done." + +> FT of the **full** Ubq 4D takes approx. 1 hour +> FT + projections of the spectrum with 54% in the *direct* and 30-95% in the *indirect* ¹H dimension took ~25 minutes: + + real 50m18,008s + user 21m17,213s + sys 29m27,771s + +> ***Note 2***: do **not** use `basicFT4.com`! It generates an `nmr.com` with a lot of default actions that one might not like (for example, removing the `ft3` directory too early for troubleshooting). It sets default window functions to sine sqared in the direct and normal sine in the indirect dimensions. +> You may specify the parameters you want as arguments - but then you do not need the function that creates this script! A separate explicit script is more readable! + + +### Clean-up: + + + rm -rf fid mask ft3 + + +Making projections of the ENTIRE spectrum (full range of ppm in the direct dimension) takes 14 minutes on Atlas. + + +`615.093u 69.775s 13:47.19 82.7% 0+0k 3703120+9976io 13pf+0w` + +> Spectrum of Ubiquitin can be somewhat legible even without NUS reconstruction, so with FT only! But most of the signals will be very weak. Projections are clear, but it's difficult to discern 4D peaks. + +## Step 3: NUS + +### SMILE Command reference: `nusPipe -fn SMILE -help` — see the output in [SMILE_ref.md](./nusPipe_SMILE_ref.md) - -**Reconstruction and processing script** - + +**Reconstruction and processing script** + Note how it writes out the data after each FT—this could be optimized. - - set xP0 = -90 - nmrPrintf "Manual phase xP0: %.1f\n\n" $xP0 - - - xyz2pipe -in fid/test%04d.fid -x -verb \ - | nmrPipe -fn SOL \ - | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn EXT -x1 3% -xn 47% -sw \ - | pipe2xyz -out tmp/test%05d.ft1 -a -ov - - xyz2pipe -in tmp/test%05d.ft1 -x \ - | nusPipe -fn SMILE -nDim 4 -maxIter 10 -report 1 -sample nuslist \ - -xApsod SP -xQ1 0.50 -xQ2 0.95 -xQ3 1 -xELB 0.0 -xGLB 0.0 \ - -yApod SP -yQ1 0.50 -yQ2 0.95 -yQ3 1 -yELB 0.0 -yGLB 0.0 \ - -zApod SP -zQ1 0.50 -zQ2 0.95 -zQ3 1 -zELB 0.0 -zGLB 0.0 \ - -xT 160 -xP0 0.0 -xP1 0.0 \ - -yT 160 -yP0 90.0 -yP1 180.0 \ - -zT 400 -zP0 0.0 -zP1 0.0 \ - | pipe2xyz -out ft1/test%05d.ft1 -x -ov - - xyz2pipe -in ft1/test%05d.ft1 -x -verb \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn TP \ - | nmrPipe -fn ZTP \ - | pipe2xyz -out ft2/test%05d.ft2 -a -ov - - xyz2pipe -in ft2/test%05d.ft2 -z -verb \ - | nmrPipe -fn POLY -auto \ - | nmrPipe -fn ZTP \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | nmrPipe -fn ZTP \ - | pipe2xyz -out ft3/test%05d.ft3 -x -ov - - xyz2pipe -in ft3/test%05d.ft3 -a -verb \ - | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ - | nmrPipe -fn ZF -zf 1 -auto \ - | nmrPipe -fn FT \ - | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ - | pipe2xyz -out smile/test%04d.ft4 -a -ov - - echo "FT done." - echo "Making projections" - - proj4D.tcl -in smile/test%03d.ft4 -sum -outDir ftproj_smile - - echo "Projection done." - -**WARNING** I have a problem with memory consumption - is it leaking?! - -Colsole output (execution aborted): - - ekaterina@atlas:/home2/ekaterina/NUSdata/Ubiquitin_4D_2022_07/101$ time ./smile_ft4d.com - Manual phase xP0: -90.0 - - - SMILE. Version 2.1 Rev 2019.337.11.19 64-bit - SMILE. Initializing SMILE Workspace. - SMILE Error: insufficient memory left. - SMILE Error initializing SMILE structure. - NMRPipe Error in function initialization. - NMRPipe Aborting with null header. - Pipe2XYZ ETEST error 2. - Pipe2XYZ Error setting file parameters. - Pipe2XYZ Status: 2 - NMRPipe Error Status: 1 - NMRPipe Function SMILE - DATAIO SYSOPEN Error 2: - File: ft1/test00001.ft1 Access: Read - SYSOPEN Message: No such file or directory - XYZ2Pipe Error getting file list; - Check for valid input name or template. - Check that input data exists. - XYZ2Pipe Aborting with null header. - XYZ2Pipe Status: 1 - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function ZF - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function FT - NMRPipe Error Status: 2 - NMRPipe Function PS - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Error while reading header. - NMRPipe Function TP YTP XY2YX - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function ZTP XYZ2ZYX - Pipe2XYZ ETEST error 2. - Pipe2XYZ Error setting file parameters. - Pipe2XYZ Status: 2 - DATAIO SYSOPEN Error 2: - File: ft2/test00001.ft2 Access: Read - SYSOPEN Message: No such file or directory - XYZ2Pipe Error getting file list; - Check for valid input name or template. - Check that input data exists. - XYZ2Pipe Aborting with null header. - XYZ2Pipe Status: 1 - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function POLY - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function ZTP XYZ2ZYX - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function SP SINE - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function ZF - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function FT - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function PS - NMRPipe Error while reading header. - NMRPipe Aborting with null header. - NMRPipe Error Status: 2 - NMRPipe Function ZTP XYZ2ZYX - Pipe2XYZ ETEST error 2. - Pipe2XYZ Error setting file parameters. - Pipe2XYZ Status: 2 - XYZ2Pipe Partition: Plane 1 to 256 of 256 - ^C Plane: 32 of 256 Z: 1 of 256 - - - real 3m37,566s - user 0m11,319s - sys 2m21,240s - ekaterina@atlas:/home2/ekaterina/NUSdata/Ubiquitin_4D_2022_07/101$ - - + + set xP0 = -90 + nmrPrintf "Manual phase xP0: %.1f\n\n" $xP0 + + + xyz2pipe -in fid/test%04d.fid -x -verb \ + | nmrPipe -fn SOL \ + | nmrPipe -fn SP -off 0.5 -end 0.95 -pow 2 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn EXT -x1 3% -xn 47% -sw \ + | pipe2xyz -out tmp/test%05d.ft1 -a -ov + + xyz2pipe -in tmp/test%05d.ft1 -x \ + | nusPipe -fn SMILE -nDim 4 -maxIter 10 -report 1 -sample nuslist \ + -xApsod SP -xQ1 0.50 -xQ2 0.95 -xQ3 1 -xELB 0.0 -xGLB 0.0 \ + -yApod SP -yQ1 0.50 -yQ2 0.95 -yQ3 1 -yELB 0.0 -yGLB 0.0 \ + -zApod SP -zQ1 0.50 -zQ2 0.95 -zQ3 1 -zELB 0.0 -zGLB 0.0 \ + -xT 160 -xP0 0.0 -xP1 0.0 \ + -yT 160 -yP0 90.0 -yP1 180.0 \ + -zT 400 -zP0 0.0 -zP1 0.0 \ + | pipe2xyz -out ft1/test%05d.ft1 -x -ov + + xyz2pipe -in ft1/test%05d.ft1 -x -verb \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn TP \ + | nmrPipe -fn ZTP \ + | pipe2xyz -out ft2/test%05d.ft2 -a -ov + + xyz2pipe -in ft2/test%05d.ft2 -z -verb \ + | nmrPipe -fn POLY -auto \ + | nmrPipe -fn ZTP \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | nmrPipe -fn ZTP \ + | pipe2xyz -out ft3/test%05d.ft3 -x -ov + + xyz2pipe -in ft3/test%05d.ft3 -a -verb \ + | nmrPipe -fn SP -off 0.50 -end 0.95 -pow 1 -elb 0.0 -glb 0.0 -c 0.5 \ + | nmrPipe -fn ZF -zf 1 -auto \ + | nmrPipe -fn FT \ + | nmrPipe -fn PS -p0 0.0 -p1 0.0 -di \ + | pipe2xyz -out smile/test%04d.ft4 -a -ov + + echo "FT done." + echo "Making projections" + + proj4D.tcl -in smile/test%03d.ft4 -sum -outDir ftproj_smile + + echo "Projection done." + +**WARNING** I have a problem with memory consumption - is it leaking?! + +Colsole output (execution aborted): + + ekaterina@atlas:/home2/ekaterina/NUSdata/Ubiquitin_4D_2022_07/101$ time ./smile_ft4d.com + Manual phase xP0: -90.0 + + + SMILE. Version 2.1 Rev 2019.337.11.19 64-bit + SMILE. Initializing SMILE Workspace. + SMILE Error: insufficient memory left. + SMILE Error initializing SMILE structure. + NMRPipe Error in function initialization. + NMRPipe Aborting with null header. + Pipe2XYZ ETEST error 2. + Pipe2XYZ Error setting file parameters. + Pipe2XYZ Status: 2 + NMRPipe Error Status: 1 + NMRPipe Function SMILE + DATAIO SYSOPEN Error 2: + File: ft1/test00001.ft1 Access: Read + SYSOPEN Message: No such file or directory + XYZ2Pipe Error getting file list; + Check for valid input name or template. + Check that input data exists. + XYZ2Pipe Aborting with null header. + XYZ2Pipe Status: 1 + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function ZF + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function FT + NMRPipe Error Status: 2 + NMRPipe Function PS + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Error while reading header. + NMRPipe Function TP YTP XY2YX + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function ZTP XYZ2ZYX + Pipe2XYZ ETEST error 2. + Pipe2XYZ Error setting file parameters. + Pipe2XYZ Status: 2 + DATAIO SYSOPEN Error 2: + File: ft2/test00001.ft2 Access: Read + SYSOPEN Message: No such file or directory + XYZ2Pipe Error getting file list; + Check for valid input name or template. + Check that input data exists. + XYZ2Pipe Aborting with null header. + XYZ2Pipe Status: 1 + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function POLY + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function ZTP XYZ2ZYX + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function SP SINE + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function ZF + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function FT + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function PS + NMRPipe Error while reading header. + NMRPipe Aborting with null header. + NMRPipe Error Status: 2 + NMRPipe Function ZTP XYZ2ZYX + Pipe2XYZ ETEST error 2. + Pipe2XYZ Error setting file parameters. + Pipe2XYZ Status: 2 + XYZ2Pipe Partition: Plane 1 to 256 of 256 + ^C Plane: 32 of 256 Z: 1 of 256 + + + real 3m37,566s + user 0m11,319s + sys 2m21,240s + ekaterina@atlas:/home2/ekaterina/NUSdata/Ubiquitin_4D_2022_07/101$ + + diff --git a/Non_Uniform_Sampling/NMRPipe/hmsIST_no_pipe.md b/Non_Uniform_Sampling/NMRPipe/hmsIST_no_pipe.md index 08251d9..7ede2a4 100644 --- a/Non_Uniform_Sampling/NMRPipe/hmsIST_no_pipe.md +++ b/Non_Uniform_Sampling/NMRPipe/hmsIST_no_pipe.md @@ -1,3 +1,8 @@ +--- +title: "NUS with hmsIST scripts - not using the implementation built into NMRPipe" +layout: default +--- + # NUS with hmsIST scripts - not using the implementation built into NMRPipe The problem with IST in NMRPipe is that it generates a few VERY LARGE files in the process. While those can be deleted after successful reconstruction, it may become a big problem in the long run. diff --git a/Non_Uniform_Sampling/NMRPipe/nusPipe_IST_4D_ref.md b/Non_Uniform_Sampling/NMRPipe/nusPipe_IST_4D_ref.md index 8b5f03f..cbc5851 100644 --- a/Non_Uniform_Sampling/NMRPipe/nusPipe_IST_4D_ref.md +++ b/Non_Uniform_Sampling/NMRPipe/nusPipe_IST_4D_ref.md @@ -1,3 +1,8 @@ +--- +title: "nusPipe IST 4D ref" +layout: default +--- + `ist4D.com -help` Output: diff --git a/Non_Uniform_Sampling/NMRPipe/nusPipe_SMILE_ref.md b/Non_Uniform_Sampling/NMRPipe/nusPipe_SMILE_ref.md index 932ab52..8061967 100644 --- a/Non_Uniform_Sampling/NMRPipe/nusPipe_SMILE_ref.md +++ b/Non_Uniform_Sampling/NMRPipe/nusPipe_SMILE_ref.md @@ -1,3 +1,8 @@ +--- +title: "nusPipe SMILE ref" +layout: default +--- + `nusPipe -fn SMILE -help` Output: diff --git a/Non_Uniform_Sampling/README.md b/Non_Uniform_Sampling/README.md index e05034f..5fd4bc2 100644 --- a/Non_Uniform_Sampling/README.md +++ b/Non_Uniform_Sampling/README.md @@ -1,19 +1,25 @@ -# Manuals +--- +title: "NUS reconstruction algorithms" +permalink: /Non_Uniform_Sampling/ +layout: default +--- + +# NUS reconstruction algorithms * [SMILE](./NMRPipe/SMILE.md) * IST - * [TopSpin](../TOPSPIN/NUS_reconstruction/README.md) + * [TopSpin](../TOPSPIN/NUS_reconstruction/) * [Pipe](./NMRPipe/IST.md) * [hmsIST scripts](./NMRPipe/hmsIST_no_pipe.md) * SSA * [Detailed reconstruction tutorial](SSA/Full_NUS_Reconstruction_Tutorial.md) * [Quick start](./SSA/Quick_NUS_Reconstruction_Tutorial.md) -# Algorithm comparison +## Comparison -For processing of 3D spectra, one can afford to chose just about any reconstruction program without focussing on the implementation details. However for 4D, it is important that the method not only produces high quality frequency-domain data, but is also implemented in the resource efficient way. +For processing of 3D spectra, one can afford to choose just about any reconstruction program without focusing on the implementation details. However for 4D, it is important that the method not only produces high quality frequency-domain data, but is also implemented in the resource efficient way. -Here we summarize strengths and pitfalls of several reconstruction methods we tried ourselves. +Here we summarize the strengths and pitfalls of several reconstruction methods we tested ourselves. | Method |NMR Pipe-based| RAM consumption | Advantages | Disadvantages| Time of full reconstruction (Ubiquitin) | @@ -23,4 +29,3 @@ Here we summarize strengths and pitfalls of several reconstruction methods we tr | hmsIST_4D.com | Yes | Minimal | Peak-shape agnostic; integrated into NMR Pipe GUI | Utterly inefficient use of the disk space ( 700+ Gb per spectrum); poorly documented | | | hmsIST | Yes | ~50 GB | Fast; Good with overlapped peaks | Script-based interface | | | SSA | No | NA | Fast and rather simple to set up | Apparently more prone to miss peaks than IST implementations | Overnight | - diff --git a/Non_Uniform_Sampling/SSA/Correct_Topspin_Bug.md b/Non_Uniform_Sampling/SSA/Correct_Topspin_Bug.md index 3ac5c66..409bf32 100644 --- a/Non_Uniform_Sampling/SSA/Correct_Topspin_Bug.md +++ b/Non_Uniform_Sampling/SSA/Correct_Topspin_Bug.md @@ -1,3 +1,8 @@ +--- +title: "Description of Topspin files" +layout: default +--- + # Description of Topspin files In Bruker NMR spectroscopy systems, various files are used to store acquisition parameters for experiments, including multidimensional NMR like a 4D HCNH NOESY. Each of these files contains specific sets of parameters that define how the NMR experiment is conducted, particularly concerning each dimension of the experiment. Here’s a breakdown of what each file generally contains: diff --git a/Non_Uniform_Sampling/SSA/Full_NUS_Reconstruction_Tutorial.md b/Non_Uniform_Sampling/SSA/Full_NUS_Reconstruction_Tutorial.md index 8a93977..5906d1c 100644 --- a/Non_Uniform_Sampling/SSA/Full_NUS_Reconstruction_Tutorial.md +++ b/Non_Uniform_Sampling/SSA/Full_NUS_Reconstruction_Tutorial.md @@ -1,3 +1,8 @@ +--- +title: "Full NUS Reconstruction Tutorial" +layout: default +--- + NUS Processing of Ubiquitin 4D NOESY ------------------------------------------------------------------ @@ -284,7 +289,6 @@ pulse sequence), focusing on the Ubiquitin sample in the context of data/AIffini 2. In Sparky, read the resulting projections and reference the N or HN axes as previously described. 3. Overlay these projections on the 15N HSQC. -![](../images/N-HN.png) +![](../images/HN-N.png) *Authors: Petr Padrta & Thomas Evangelidis, 8.4.2024* - diff --git a/Non_Uniform_Sampling/SSA/Quick_NUS_Reconstruction_Tutorial.md b/Non_Uniform_Sampling/SSA/Quick_NUS_Reconstruction_Tutorial.md index d8f3315..37188ff 100644 --- a/Non_Uniform_Sampling/SSA/Quick_NUS_Reconstruction_Tutorial.md +++ b/Non_Uniform_Sampling/SSA/Quick_NUS_Reconstruction_Tutorial.md @@ -1,3 +1,8 @@ +--- +title: "NUS reconstruction of PaaR2 Protein" +layout: default +--- + # NUS reconstruction of PaaR2 Protein ## Region of Interest (ROI) diff --git a/README.md b/README.md index ad783a8..a66f4c1 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,13 @@

This collection of tutorials is designed to help you set up, run, and process NMR experiments. - Click here for instructions on how to quickly search the contents of the tutorials.

+ Click here for instructions on how to quickly search the contents of the tutorials.

+> Make sure to browse this knowledge base on GitHub https://ai-ffinity.github.io/nmr_tutorials/! + + Of all the online video resources on NMR, we highly recommend the following 4 courses. They cover the fundamentals and gradually build up to more advanced concepts. Despite the titles mentioning MRI, they are focused mostly on NMR. @@ -21,61 +24,70 @@ gradually build up to more advanced concepts. Despite the titles mentioning MRI, Description of [components of an NMR spectrometer](NMR_theory/NMR_Spectrometer.md). ## Contents - +
+ + + + - - - - - - - - + - - - - - -
+ Random tube + + How to prepare samples for NMR measurements +
- Spectrometer + + Spectrometer - Setting up 4D NMR experiments for 4D-GraFID. + + Setting up 4D NMR experiments for 4D-GraFID
- NMR Pipe logo + + NUS - General tips on navigating NMRPipe ecosystem. + + Processing NUS data
- NUS + + TopSpin logo - Processing NUS data. + + How to record and process 2D, 3D and 4D spectra with TopSpin
- TopSpin logo + + NMR Pipe logo - How to record and process 2D, 3D and 4D spectra with TopSpin. + + General tips on navigating NMRPipe ecosystem
- Sparky screenshot + + Sparky screenshot - How to analyze spectra in SPARKY. + + How to analyze spectra in SPARKY
- POKY icon + + POKY icon - How to analyze spectra in POKY - the successor of NMRFAM SPARKY. + + How to analyze spectra in POKY - the successor of NMRFAM SPARKY
- Random tube + + 4D-GraFID icon - How to prepare samples for NMR measurements. + + Submitting peak lists for automated assignments by 4D-GraFID
diff --git a/SPARKY_and_POKY/Create_ChatGPT4_documentation_model.md b/SPARKY_and_POKY/Assemble_file_for_LLM.md similarity index 69% rename from SPARKY_and_POKY/Create_ChatGPT4_documentation_model.md rename to SPARKY_and_POKY/Assemble_file_for_LLM.md index 0959119..916d4fe 100644 --- a/SPARKY_and_POKY/Create_ChatGPT4_documentation_model.md +++ b/SPARKY_and_POKY/Assemble_file_for_LLM.md @@ -1,7 +1,18 @@ -# POKY Documentation Conversion Tutorial +--- +title: "POKY Documentation Conversion Tutorial" +layout: default +--- + +POKY manual is provided in HTML format. +You can find the [`POKY_documentation.pdf`](./POKY/doc/POKY_documentation.pdf) file in the current folder for convenience. +Then feed the file into the latest ChatGPT or other LLM of your choice and ask it questions. + +# Converting POKY manual from HTML to PDF + +> For Linux / MacOS This tutorial guides you through the process of converting HTML documentation to a single PDF -file using `wkhtmltopdf` and `pdfunite` on a system running Ubuntu. This could be particularly +file using `wkhtmltopdf` and `pdfunite`. This could be particularly useful for consolidating documentation into a single, easily distributable format, with which you can create a POKY-specific ChatGPT 4 model. @@ -14,6 +25,8 @@ sudo apt update sudo apt install wkhtmltopdf poppler-utils ``` +use `dnf` instead of `apt` on RHEL-based systems and `brew` on MacOS. + ## Step-by-Step Guide ### 1. Navigate to the Documentation Directory @@ -41,9 +54,3 @@ Merge all the PDF files you've created into a single PDF document named `POKY_do ```bash pdfunite *.pdf POKY_documentation.pdf ``` - -### 4. Load the Documentation - -You can find the [`POKY_documentation.pdf`](doc/POKY_documentation.pdf) file in the current folder for convenience. -Then create a new ChatGPT 4 model by loading the POKY_documentation.pdf file. Hopefuly, -the new model will be able to answer to your questions related to POKY's usage. \ No newline at end of file diff --git a/SPARKY_and_POKY/Common_Commands.md b/SPARKY_and_POKY/Common_Commands.md index b6923a9..fdb174a 100644 --- a/SPARKY_and_POKY/Common_Commands.md +++ b/SPARKY_and_POKY/Common_Commands.md @@ -1,3 +1,8 @@ +--- +title: "POKY User Manual" +layout: default +--- + # POKY User Manual ![POKY / SPARKY shortcuts cheat sheet](./images/poky_cheat_sheet_screenshot.png) diff --git a/SPARKY_and_POKY/Create_2D_projections_from_4D_spectrum.md b/SPARKY_and_POKY/Create_2D_projections_from_4D_spectrum.md index eca85f6..097143b 100644 --- a/SPARKY_and_POKY/Create_2D_projections_from_4D_spectrum.md +++ b/SPARKY_and_POKY/Create_2D_projections_from_4D_spectrum.md @@ -1,3 +1,8 @@ +--- +title: "Creating 2D and 3D Projections from 4D NOESY with POKY/NMRFAM Sparky" +layout: default +--- + # Creating 2D and 3D Projections from 4D NOESY with POKY/NMRFAM Sparky This tutorial guides you through creating 2D and 3D projections from a 4D NOESY spectrum using the `ucsfdata` script from NMRFAM Sparky. We'll start by converting the 4D spectrum to UCSF format and proceed with generating and analyzing the projections. diff --git a/SPARKY_and_POKY/Miscellaneous/convert_spectra_POKY.md b/SPARKY_and_POKY/Miscellaneous/convert_spectra_POKY.md index a59886c..7780af7 100644 --- a/SPARKY_and_POKY/Miscellaneous/convert_spectra_POKY.md +++ b/SPARKY_and_POKY/Miscellaneous/convert_spectra_POKY.md @@ -1,3 +1,8 @@ +--- +title: "convert spectra POKY" +layout: default +--- + You should be able to directly open the Bruker files with the `fo` command (make sure to display All types of files in the pop-up browser). If you can't, convert them to the .ucsf format first. diff --git a/SPARKY_and_POKY/POKY/Transfer_BMRB_assignments.md b/SPARKY_and_POKY/POKY/Transfer_BMRB_assignments.md index 51ebc18..d9da5d0 100644 --- a/SPARKY_and_POKY/POKY/Transfer_BMRB_assignments.md +++ b/SPARKY_and_POKY/POKY/Transfer_BMRB_assignments.md @@ -1,3 +1,8 @@ +--- +title: "Transferring BMRB Assignments" +layout: default +--- + # Transferring BMRB Assignments ![Watch video tutorial](https://drive.google.com/file/d/1KJQv9yT1oTubOu-vexuqLXtVFEE_EmxS/view?usp=drive_link) diff --git a/SPARKY_and_POKY/POKY/scripts/README.md b/SPARKY_and_POKY/POKY/scripts/README.md new file mode 100644 index 0000000..0a9f1f3 --- /dev/null +++ b/SPARKY_and_POKY/POKY/scripts/README.md @@ -0,0 +1,12 @@ +--- +title: "POKY Scripts" +permalink: /SPARKY_and_POKY/POKY/scripts/ +layout: default +--- + +# POKY Scripts + +* [4D-HCNH-NOESY peak maker (original)](4D-HCNH-NOESY_peak_maker_original.py) +* [4D-HCNH-NOESY peak maker](4D-HCNH-NOESY_peak_maker.py) +* [Nucleate grid](nucleategrid.py) +* [Restricted pick](restrictedpick.py) diff --git a/SPARKY_and_POKY/Peak_picking_3D_NOESY.md b/SPARKY_and_POKY/Peak_picking_3D_NOESY.md index 4dbf9f2..acea505 100644 --- a/SPARKY_and_POKY/Peak_picking_3D_NOESY.md +++ b/SPARKY_and_POKY/Peak_picking_3D_NOESY.md @@ -1,3 +1,8 @@ +--- +title: "13C-edited 3D NOESY" +layout: default +--- + # 13C-edited 3D NOESY Execute the following steps in the specified order: diff --git a/SPARKY_and_POKY/Peak_picking_3D_spectrum.md b/SPARKY_and_POKY/Peak_picking_3D_spectrum.md index 1810f9c..de51955 100644 --- a/SPARKY_and_POKY/Peak_picking_3D_spectrum.md +++ b/SPARKY_and_POKY/Peak_picking_3D_spectrum.md @@ -1,3 +1,8 @@ +--- +title: "Peak Picking in a 3D Spectrum with **POKY**" +layout: default +--- + # Peak Picking in a 3D Spectrum with **POKY** ## Overview diff --git a/SPARKY_and_POKY/Peak_picking_4D_spectrum.md b/SPARKY_and_POKY/Peak_picking_4D_spectrum.md index 8a40c9c..a36f1ba 100644 --- a/SPARKY_and_POKY/Peak_picking_4D_spectrum.md +++ b/SPARKY_and_POKY/Peak_picking_4D_spectrum.md @@ -1,3 +1,8 @@ +--- +title: "Peak Picking in 4D Spectrum with POKY" +layout: default +--- + # Peak Picking in 4D Spectrum with POKY ## Overview diff --git a/SPARKY_and_POKY/Protein_NMR_workflow.md b/SPARKY_and_POKY/Protein_NMR_workflow.md index 6d4e375..0346f8b 100644 --- a/SPARKY_and_POKY/Protein_NMR_workflow.md +++ b/SPARKY_and_POKY/Protein_NMR_workflow.md @@ -1,3 +1,8 @@ +--- +title: "Protein NMR workflow" +layout: default +--- + ### Tips for Resonance Assignment **Preparation:** @@ -28,7 +33,7 @@ - Integrate a confirmed single HN peak in 1D, then other peaks to determine their multiplicity (singlets, doublets, etc.). - Mark and identify as many HN peaks as possible using integrals from 1D and the overlaid 1D+2D TOCSY spectra. -> [!NOTE] +> ![NOTE] > Ignore peaks exactly below HA peaks around 4.8 ppm as correspond to water absorption - ignore them! **Peak Assignments** @@ -36,7 +41,7 @@ - Use the HA(i)-HN(i+1) NOEs to assign as many peaks as you can to atoms/residues. Sparky identifies the closest atom resonance when you try to add labels. - Use the HN(i)-HN(i+1) NOEs to assign as many peaks as you can to atoms/residues. Sparky identifies the closest atom resonance when you try to add labels. ->[!NOTE] +>![NOTE] > Strong HN(i)-HN(i+1) NOEs are characteristic of alpha- and 3/10-helical structures (~2.8 A, ~2.6 A) and turn I (~2.6 A). - Use the HB(i)-HN(i+1) NOEs to assign as many peaks as you can to atoms/residues. Sparky identifies the closest atom resonance when you try to add labels. diff --git a/SPARKY_and_POKY/Quickstart.md b/SPARKY_and_POKY/Quickstart.md index 1e56984..5acf9be 100644 --- a/SPARKY_and_POKY/Quickstart.md +++ b/SPARKY_and_POKY/Quickstart.md @@ -1,3 +1,8 @@ +--- +title: "Quickstart" +layout: default +--- + Tutorials: http://www.nmr.chem.uu.nl/~abonvin/tutorials/Assignment-Data/assignment.html http://www.nmr2.buffalo.edu/nesg.wiki/Resonance_Assignment/Sparky diff --git a/SPARKY_and_POKY/README.md b/SPARKY_and_POKY/README.md index fa0e116..ced9525 100644 --- a/SPARKY_and_POKY/README.md +++ b/SPARKY_and_POKY/README.md @@ -1,3 +1,9 @@ +--- +title: "Overview" +permalink: /SPARKY_and_POKY/ +layout: default +--- + Overview ================= @@ -23,4 +29,4 @@ Navigation * [Poky Documentation](./POKY/doc/POKY_documentation.pdf) * [Scripts for POKY](./POKY/scripts) * [POKY command reference](./Common_Commands.md) -* [How to make POKY GPT (with ChatGPT4)](./Create_ChatGPT4_documentation_model.md) +* [How to make POKY GPT (with ChatGPT4)](Assemble_file_for_LLM.md) \ No newline at end of file diff --git a/SPARKY_and_POKY/Read_peak_intensities.md b/SPARKY_and_POKY/Read_peak_intensities.md index b70e74c..0d4b3f2 100644 --- a/SPARKY_and_POKY/Read_peak_intensities.md +++ b/SPARKY_and_POKY/Read_peak_intensities.md @@ -1,3 +1,8 @@ +--- +title: "Data handling" +layout: default +--- + # Data handling ## 1. Load spectrum into Poky * `fo` or File | Open... diff --git a/SPARKY_and_POKY/Unfold_Peaks.md b/SPARKY_and_POKY/Unfold_Peaks.md index d61d0a4..3478239 100644 --- a/SPARKY_and_POKY/Unfold_Peaks.md +++ b/SPARKY_and_POKY/Unfold_Peaks.md @@ -1,3 +1,8 @@ +--- +title: "Theory" +layout: default +--- + # Theory **The peaks appear aliased/folded when** the frequency of a peak exceeds the Nyquist limit for the spectral window which is being observed. diff --git a/Sample_Preparation/Misc/NanoDrop_tutorial.md b/Sample_Preparation/Misc/NanoDrop_tutorial.md index 2ace467..49b456a 100644 --- a/Sample_Preparation/Misc/NanoDrop_tutorial.md +++ b/Sample_Preparation/Misc/NanoDrop_tutorial.md @@ -1,3 +1,8 @@ +--- +title: "Measurement of Protein Concentration with NanoDrop Spectrophotometer" +layout: default +--- + # Measurement of Protein Concentration with NanoDrop Spectrophotometer The NanoDrop spectrophotometer uses **surface tension** to hold small liquid samples in place, eliminating the need for cuvettes or capillaries. It operates based on **UV/Vis spectroscopy**, measuring light absorbance at specific wavelengths. diff --git a/Sample_Preparation/NMR_Experiments/Glycerol_Removal.md b/Sample_Preparation/NMR_Experiments/Glycerol_Removal.md index 79b04e3..68cf961 100644 --- a/Sample_Preparation/NMR_Experiments/Glycerol_Removal.md +++ b/Sample_Preparation/NMR_Experiments/Glycerol_Removal.md @@ -1,3 +1,8 @@ +--- +title: "Removal of Glycerol" +layout: default +--- + # Removal of Glycerol This tutorial describes the procedure for removing glycerol from protein samples. Glycerol is often used to stabilize diff --git a/Sample_Preparation/NMR_Experiments/No_Glycerol.md b/Sample_Preparation/NMR_Experiments/No_Glycerol.md index 7628378..597ab19 100644 --- a/Sample_Preparation/NMR_Experiments/No_Glycerol.md +++ b/Sample_Preparation/NMR_Experiments/No_Glycerol.md @@ -1,3 +1,8 @@ +--- +title: "Protein Sample Preparation for NMR Experiments" +layout: default +--- + # Protein Sample Preparation for NMR Experiments This tutorial outlines the procedure for preparing protein samples for **NMR experiments**, diff --git a/Sample_Preparation/README.md b/Sample_Preparation/README.md index c170047..636a160 100644 --- a/Sample_Preparation/README.md +++ b/Sample_Preparation/README.md @@ -1,3 +1,9 @@ +--- +title: "Sample Preparation" +permalink: /Sample_Preparation/ +layout: default +--- + # Sample Preparation Tutorials for preparing samples for NMR measurements and related procedures. diff --git a/TOPSPIN/1D_Spectrum_Analysis.md b/TOPSPIN/1D_Spectrum_Analysis.md index 3882a06..8049e77 100644 --- a/TOPSPIN/1D_Spectrum_Analysis.md +++ b/TOPSPIN/1D_Spectrum_Analysis.md @@ -1,3 +1,8 @@ +--- +title: "TopSpin Tutorial: 1D spectra integration, calibration and deconvolution." +layout: default +--- + # TopSpin Tutorial: 1D spectra integration, calibration and deconvolution. --- diff --git a/TOPSPIN/3D_backbone_experiments/README.md b/TOPSPIN/3D_backbone_experiments/README.md index 756771b..658525a 100644 --- a/TOPSPIN/3D_backbone_experiments/README.md +++ b/TOPSPIN/3D_backbone_experiments/README.md @@ -1,9 +1,15 @@ +--- +title: "Protein Backbone 3D NMR Spectra Acquisition Workflow" +permalink: /TOPSPIN/3D_backbone_experiments/ +layout: default +--- + # Protein Backbone 3D NMR Spectra Acquisition Workflow This tutorial contains of experiments for a 14 kDa IDP conducted on 950 MHz but without 13C and 15N hard pulse calibrations. For 13C and 15N pulse calibration for the same protein on the 850 MHz refer to -[this](../Pulse_Calibration/README.md) tutorial. +[this](../Pulse_Calibration/) tutorial. --- @@ -259,4 +265,4 @@ determines the third in TopSpin. --- # Authors -- Thomas Evangelidis \ No newline at end of file +- Thomas Evangelidis diff --git a/TOPSPIN/Common_Topspin_Commands.md b/TOPSPIN/Common_Topspin_Commands.md index a0adac1..c3c303b 100644 --- a/TOPSPIN/Common_Topspin_Commands.md +++ b/TOPSPIN/Common_Topspin_Commands.md @@ -1,3 +1,8 @@ +--- +title: "TopSpin Commands for Spectra Processing" +layout: default +--- + # TopSpin Commands for Spectra Processing ## Fourier Transform and Baseline Correction diff --git a/TOPSPIN/Miscellaneous/1D_protein_QC.md b/TOPSPIN/Miscellaneous/1D_protein_QC.md index ec5624e..965cb85 100644 --- a/TOPSPIN/Miscellaneous/1D_protein_QC.md +++ b/TOPSPIN/Miscellaneous/1D_protein_QC.md @@ -1,3 +1,8 @@ +--- +title: "1D protein QC" +layout: default +--- + It is pretty easy to determine whether a protein is folded or unfolded in 10-15 minutes by 1D NMR. Requires only 15-30 uM of unlabeled protein. Direct detection of the 1H atoms in the protein is enough! diff --git a/TOPSPIN/Miscellaneous/Decoupling.md b/TOPSPIN/Miscellaneous/Decoupling.md index f5ff608..19dd221 100644 --- a/TOPSPIN/Miscellaneous/Decoupling.md +++ b/TOPSPIN/Miscellaneous/Decoupling.md @@ -1,3 +1,8 @@ +--- +title: "Beginner‑friendly guide to **decoupling** in NMR" +layout: default +--- + # Beginner‑friendly guide to **decoupling** in NMR > **Goal:** understand why we switch on “proton decoupling” when we record a^13C spectrum and what changes when we move to 3‑D or 4‑D biomolecular experiments. diff --git a/TOPSPIN/Miscellaneous/Dummy_Scans.md b/TOPSPIN/Miscellaneous/Dummy_Scans.md index dfe294b..45e8679 100644 --- a/TOPSPIN/Miscellaneous/Dummy_Scans.md +++ b/TOPSPIN/Miscellaneous/Dummy_Scans.md @@ -1,3 +1,8 @@ +--- +title: "Dummy Scans" +layout: default +--- + ### What are “dummy scans” (DS)? In TopSpin the *dummy scans* (parameter **DS**) are additional scans that are executed **before** the first “real” scan is stored in the FID. diff --git a/TOPSPIN/Miscellaneous/RF_pulse.md b/TOPSPIN/Miscellaneous/RF_pulse.md index b145654..a2e8596 100644 --- a/TOPSPIN/Miscellaneous/RF_pulse.md +++ b/TOPSPIN/Miscellaneous/RF_pulse.md @@ -1,3 +1,8 @@ +--- +title: "RF pulse" +layout: default +--- + In NMR, **RF** stands for **radiofrequency**, i.e. electromagnetic waves in the MHz–GHz range used to perturb nuclear spins. An RF pulse is a short burst of that radiofrequency energy applied to the sample via the probe’s coil. Its job is to diff --git a/TOPSPIN/Miscellaneous/transpose_axes_2D.md b/TOPSPIN/Miscellaneous/transpose_axes_2D.md index e69de29..81fb2c4 100644 --- a/TOPSPIN/Miscellaneous/transpose_axes_2D.md +++ b/TOPSPIN/Miscellaneous/transpose_axes_2D.md @@ -0,0 +1,5 @@ +--- +title: "transpose axes 2D" +layout: default +--- + diff --git a/TOPSPIN/Miscellaneous/window_functions.md b/TOPSPIN/Miscellaneous/window_functions.md index 03b2a00..afd9928 100644 --- a/TOPSPIN/Miscellaneous/window_functions.md +++ b/TOPSPIN/Miscellaneous/window_functions.md @@ -1,3 +1,8 @@ +--- +title: "window functions" +layout: default +--- + Overview of Window Function Parameters (PROCPARS tab) for Protein Spectra --- diff --git a/TOPSPIN/NUS_reconstruction/3D.md b/TOPSPIN/NUS_reconstruction/3D.md index bda1cd9..802561a 100644 --- a/TOPSPIN/NUS_reconstruction/3D.md +++ b/TOPSPIN/NUS_reconstruction/3D.md @@ -1,3 +1,8 @@ +--- +title: "Processing 3D NUS Data: A Step-by-Step Tutorial" +layout: default +--- + # Processing 3D NUS Data: A Step-by-Step Tutorial This guide walks you through processing 3D NMR experiments recorded with higher percentages of **Non-Uniform Sampling diff --git a/TOPSPIN/NUS_reconstruction/4D.md b/TOPSPIN/NUS_reconstruction/4D.md index 9509d2b..de5829d 100644 --- a/TOPSPIN/NUS_reconstruction/4D.md +++ b/TOPSPIN/NUS_reconstruction/4D.md @@ -1,3 +1,8 @@ +--- +title: "NUS Reconstruction of 4D spectra in Topspin" +layout: default +--- + # NUS Reconstruction of 4D spectra in Topspin ### Table of contents @@ -25,7 +30,7 @@ Tested environment: # General workflow 1. Copy the raw 4D spectrum in a new directory by executing `wrpa` command. This will make working with the 4D neat and safe. -> [!NOTE] +> ![NOTE] > NUS FIDs before reconstruction are not that heavy: the `ser` files are usually <1 Gb. 2. Switch to the newly copied procedure; Open up the processing parameters (`edp` or the tab `PROCPAR`). 3. Adjust the size of the dimensions in the final spectrum with the parameter `SI`. **Always set it to a power of 2**. @@ -77,7 +82,7 @@ likely unnecessary. * `ftnd` will run the NUS reconstruction, followed by FT all directions, with the Window Multiplication (WM) and baseline correction as specified in the PROCPARS. `0` stands for "all dimensions", `nusthreads 16` allocates 16 CPU cores for the process (Topspin's limit). -> [!NOTE] +> ![NOTE] > Whereas NUS reconstruction is parallelized, FT stage uses only a single thread, therefore takes multiple hours. 11. *Optionally*: adjust baseline correction parameters and apply the automatic baseline correction to the whole reconstructed 4D spectrum. - I am not sure whether baseline correction only in F4 or in all F1-F4 would be better - if better than without baseline correction. @@ -315,7 +320,7 @@ Axis order: |MddF180| |true|true|false| |MdPHASE| |90|90|-45| -> [!NOTE] +> ![NOTE] > This specific phasing in the indirect dimension takes care of the 1-point delay incorporated into the pulse program in ¹³C channel. Optionally increase the number of iterations with `Mdd_CsNITER 600`. @@ -362,7 +367,7 @@ The following parameters are automatically set: