Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
Quarto GHA Workflow Runner committed Jun 19, 2024
1 parent 2925b77 commit 91ce980
Show file tree
Hide file tree
Showing 16 changed files with 1,171 additions and 106 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
96001870
1b1722a9
4 changes: 4 additions & 0 deletions about/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,10 @@
<li>
<a class="dropdown-item" href="../access/UCloud.html">
<span class="dropdown-text">UCloud</span></a>
</li>
<li>
<a class="dropdown-item" href="../access/genomedk.html">
<span class="dropdown-text">GenomeDK</span></a>
</li>
</ul>
</li>
Expand Down
16 changes: 8 additions & 8 deletions access/UCloud.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>Introduction to NGS data analysis - UCloud</title>
<title>Introduction to NGS data analysis - Accessing the NGS summer school on UCloud</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand Down Expand Up @@ -171,7 +171,7 @@
</script>


<meta property="og:title" content="Introduction to NGS data analysis - UCloud">
<meta property="og:title" content="Introduction to NGS data analysis - Accessing the NGS summer school on UCloud">
<meta property="og:description" content="">
<meta property="og:image" content="https://hds-sandbox.github.io/NGS_summer_course_Aarhus/images/recoverJobs.gif">
<meta property="og:site_name" content="Introduction to NGS data analysis">
Expand Down Expand Up @@ -214,6 +214,10 @@
<li>
<a class="dropdown-item" href="../access/UCloud.html">
<span class="dropdown-text">UCloud</span></a>
</li>
<li>
<a class="dropdown-item" href="../access/genomedk.html">
<span class="dropdown-text">GenomeDK</span></a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -268,8 +272,7 @@
<h2 id="toc-title">On this page</h2>

<ul>
<li><a href="#accessing-the-ngs-summer-school-on-ucloud" id="toc-accessing-the-ngs-summer-school-on-ucloud" class="nav-link active" data-scroll-target="#accessing-the-ngs-summer-school-on-ucloud">Accessing the NGS summer school on UCloud</a></li>
<li><a href="#recovering-the-material-from-your-previous-session" id="toc-recovering-the-material-from-your-previous-session" class="nav-link" data-scroll-target="#recovering-the-material-from-your-previous-session">Recovering the material from your previous session</a></li>
<li><a href="#recovering-the-material-from-your-previous-session" id="toc-recovering-the-material-from-your-previous-session" class="nav-link active" data-scroll-target="#recovering-the-material-from-your-previous-session">Recovering the material from your previous session</a></li>
</ul>
</nav>
</div>
Expand All @@ -278,7 +281,7 @@ <h2 id="toc-title">On this page</h2>

<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">UCloud</h1>
<h1 class="title">Accessing the NGS summer school on UCloud</h1>
</div>


Expand All @@ -295,8 +298,6 @@ <h1 class="title">UCloud</h1>
</header>


<section id="accessing-the-ngs-summer-school-on-ucloud" class="level1">
<h1>Accessing the NGS summer school on UCloud</h1>
<p><strong>1.</strong> User accounts on UCloud are enabled by university login credentials using WAYF (Where Are You From). Access the WAYF login portal with the button below <a href="https://cloud.sdu.dk/">here</a>, and then find your affiliated university or institution using the search bar.</p>
<p>&nbsp;</p>
<p align="center">
Expand Down Expand Up @@ -374,7 +375,6 @@ <h1>Accessing the NGS summer school on UCloud</h1>
</div>
<p><strong>9.</strong> Now you are ready to use JupyterLab for coding. Use the file browser (on the left-side) to find the folder <code>Notebooks</code>. Select one of the four tutorials of the course. You will see that the notebook opens on the right-side pane. Read the text of the tutorial and execute each code cell starting from the first. You will see results showing up directly on the notebook!</p>
<p><img src="../images/startNotebook.gif" class="img-fluid"></p>
</section>
<section id="recovering-the-material-from-your-previous-session" class="level1">
<h1>Recovering the material from your previous session</h1>
<p>It would be annoying to start from scratch at each session, with all the analysis to be executed again. You can of course find all the notebooks and results in your personal user folder in the workspace in which you are working.</p>
Expand Down
171 changes: 167 additions & 4 deletions access/genomedk.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">


<title>Introduction to NGS data analysis</title>
<title>Introduction to NGS data analysis - Accessing the NGS summer school on GenomeDK</title>
<style>
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
Expand All @@ -20,6 +20,40 @@
margin: 0 0.8em 0.2em -1em; /* quarto-specific, see https://github.com/quarto-dev/quarto-cli/issues/4556 */
vertical-align: middle;
}
/* CSS for syntax highlighting */
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
{ counter-reset: source-line 0; }
pre.numberSource code > span
{ position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
{ content: counter(source-line);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
}
pre.numberSource { margin-left: 3em; padding-left: 4px; }
div.sourceCode
{ }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
</style>


Expand Down Expand Up @@ -171,7 +205,7 @@
</script>


<meta property="og:title" content="Introduction to NGS data analysis">
<meta property="og:title" content="Introduction to NGS data analysis - Accessing the NGS summer school on GenomeDK">
<meta property="og:description" content="">
<meta property="og:site_name" content="Introduction to NGS data analysis">
<meta property="og:locale" content="en_US">
Expand Down Expand Up @@ -213,6 +247,10 @@
<li>
<a class="dropdown-item" href="../access/UCloud.html">
<span class="dropdown-text">UCloud</span></a>
</li>
<li>
<a class="dropdown-item" href="../access/genomedk.html">
<span class="dropdown-text">GenomeDK</span></a>
</li>
</ul>
</li>
Expand Down Expand Up @@ -263,17 +301,142 @@
<!-- sidebar -->
<!-- margin-sidebar -->
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">

<nav id="TOC" role="doc-toc" class="toc-active">
<h2 id="toc-title">On this page</h2>

<ul>
<li><a href="#singularity-container" id="toc-singularity-container" class="nav-link active" data-scroll-target="#singularity-container">Singularity container</a>
<ul class="collapse">
<li><a href="#recovering-the-material-from-your-previous-session" id="toc-recovering-the-material-from-your-previous-session" class="nav-link" data-scroll-target="#recovering-the-material-from-your-previous-session">Recovering the material from your previous session</a></li>
</ul></li>
</ul>
</nav>
</div>
<!-- main -->
<main class="content" id="quarto-document-content">

<header id="title-block-header" class="quarto-title-block default">
<div class="quarto-title">
<h1 class="title">Accessing the NGS summer school on GenomeDK</h1>
</div>



<div class="quarto-title-meta">




</div>



</header>


<p>sss</p>
<p>If you are using GenomeDK, you have two options. One is to use a pre-packaged Docker container, which contains jupyterlab and the necessary packages you need to run all the notebooks. GenomeDK comes with <code>singularity</code>, which can import and execute Docker containers (with some perks, such as not showing system folders in the container, but we are going to take care about it by running a simple script) and is able to ensure full reproducibility of the analysis. The second option is to download the github repository of the course and create your own conda environment: this solution works also on any computing cluster where you can have <code>conda</code> installed and is shown <a href="../access/otherHPC.html">in the page dedicate to the access with any computing cluster</a>.</p>
<section id="singularity-container" class="level2">
<h2 class="anchored" data-anchor-id="singularity-container">Singularity container</h2>
<p><strong>1.</strong> Log into the cluster using the command line, and substituting <code>USERNAME</code> with your actual user name:</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> USERNAME@login.genome.au.dk</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="callout callout-style-default callout-warning callout-titled" title="Technical prerequisites">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Technical prerequisites
</div>
</div>
<div class="callout-body-container callout-body">
<ul>
<li><p>if you do not yet have an account on GenomeDK, please get one. <a href="https://console.genome.au.dk/user-requests/create/">Click on this link to get to the account request.</a></p></li>
<li><p>you need to have (or be part of) an active project on GenomeDK. This ensures you can get some computing resources to run the course material. <a href="https://genome.au.dk/docs/projects-and-accounting/#requesting-a-project">Follow these instructions to request a project.</a>.</p></li>
</ul>
</div>
</div>
<p><strong>2.</strong> Get into a folder inside your project, for example</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> MYPROJECT/ngsSummerSchool</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p><strong>3.</strong> Use <code>singularity</code> to download the container of the course. This will take some time, and at the end a file called <code>course.sif</code> is created into the folder.</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="ex">singularity</span> pull course.sif docker://hdssandbox/ngssummerschool:2024.07</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p><strong>4.</strong> Now we need to run a configuration script, which will setup jupyterlab so that the packages are detected correctly. This is downloaded from the internet and runs immediately, downloading also the necessary data. If a folder called <code>Data</code> exists, it will not download the data again (also meaning that you can use our container with your own data folder for your own analysis in future)</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="fu">wget</span> <span class="at">-qO-</span> https://raw.githubusercontent.com/hds-sandbox/NGS_summer_course_Aarhus/docker/scripts/courseMaterial.sh <span class="kw">|</span> <span class="fu">bash</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="callout callout-style-default callout-warning callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Warning
</div>
</div>
<div class="callout-body-container callout-body">
<p>You need to create the file <code>course.dif</code> only once. Next time, you only need the configuration script.</p>
</div>
</div>
<p><strong>5.</strong> Now it’s time to get a few resources to run all the material. We suggest one CPU and 32GB of RAM for the first three modules, and 2 CPUs and 64GB of RAM for the single-cell analysis. For the first configuration suggested, you get resources using</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="ex">srun</span> <span class="at">--mem</span><span class="op">=</span>32g <span class="at">--cores</span><span class="op">=</span>1 <span class="at">--time</span><span class="op">=</span>8:0:0 <span class="at">--account</span><span class="op">=</span>MYPROJECT <span class="at">--pty</span> /bin/bash</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>and very similarly for the second configuration, when you want instead to work on the single cell analysis.</p>
<div class="callout callout-style-default callout-warning callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Warning
</div>
</div>
<div class="callout-body-container callout-body">
<p>Note you need your project name, and you can also choose for how long you want the resources to be available to you. <strong>Asking for resources means waiting for some time in a queue before they are assigned.</strong></p>
</div>
</div>
<p><strong>6.</strong> Once resources are assigned, note down the node name. This is on the left side of the command line: for example, in the figure below, the node is <code>s21n33</code></p>
<div class="quarto-figure quarto-figure-center">
<figure class="figure">
<p><img src="../images/genomedkNode.png" class="img-fluid quarto-figure quarto-figure-center figure-img" width="400"></p>
</figure>
</div>
<p><strong>7.</strong> execute the container with</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ex">singularity</span> exec course.sif /bin/bash</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>Note that the command line shows now <code>Apptainer&gt;</code> on its left. We are <em>inside</em> the container and the tools we need are now available into it.</p>
<p><strong>7.</strong> We are ready to go. Activate the environment and start jupyterLab with the following:</p>
<div class="sourceCode" id="cb7"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ex">conda</span> activate /opt/conda/envs/NGS_aarhus_py</span>
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a><span class="ex">jupyter-lab</span> <span class="at">--no-browser</span> <span class="at">--port</span><span class="op">=</span><span class="va">$UID</span> <span class="at">--ip</span><span class="op">=</span>0.0.0.0</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>you will see a lot of messages, which is normal. You need also to create a tunnel between your computer and genomeDK to be able to see jupyterlab in your browser. Now you need to use the node name you wrote down before! <strong>Open a new terminal window</strong> and write</p>
<div class="sourceCode" id="cb8"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a><span class="fu">ssh</span> <span class="at">-L6835:NODENAME:6835</span> samuele@login.genome.au.dk</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<p>where you substitute <code>NODENAME</code> with the correct depiction.</p>
<p><strong>8.</strong> Open your browser and go to the address <a href="http://127.0.0.1:6835/lab">http://127.0.0.1:6835/lab</a>. Jupyterlab opens</p>
<p><strong>9.</strong> Now you are ready to use JupyterLab for coding. Use the file browser (on the left-side) to find the folder <code>Notebooks</code>. Select one of the four tutorials of the course. You will see that the notebook opens on the right-side pane. Read the text of the tutorial and execute each code cell starting from the first. You will see results showing up directly on the notebook!</p>
<p><img src="../images/startNotebook.gif" class="img-fluid"></p>
<div class="callout callout-style-default callout-tip callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Tip
</div>
</div>
<div class="callout-body-container callout-body">
<p>Right click on a notebook or a saved results file, and use the download option to save it locally on your computer.</p>
</div>
</div>
<p><strong>10.</strong> At the end of your session, it is a good idea to empty the cache of <code>singularity</code>. This will fill up your home folder very quickly (size limit is 100GB). Simply run these two commands:</p>
<div class="sourceCode" id="cb9"><pre class="sourceCode bash code-with-copy"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb9-2"><a href="#cb9-2" aria-hidden="true" tabindex="-1"></a><span class="fu">rm</span> <span class="at">-rf</span> /home/samuele/.apptainer/cache/<span class="pp">*</span></span>
<span id="cb9-3"><a href="#cb9-3" aria-hidden="true" tabindex="-1"></a><span class="fu">rm</span> <span class="at">-rf</span> ~/.singularity/cache/<span class="pp">*</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<section id="recovering-the-material-from-your-previous-session" class="level3">
<h3 class="anchored" data-anchor-id="recovering-the-material-from-your-previous-session">Recovering the material from your previous session</h3>
<p>Everything is saved in the folder you are working in. Next time, follow the whole procedure again - the download script will only link the packages to jupyterlab and avoid downloading new data, notebooks and scripts, because the folders will be detected as existing!</p>


</section>
</section>

</main> <!-- /main -->
<script id="quarto-html-after-body" type="application/javascript">
Expand Down
4 changes: 4 additions & 0 deletions access/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,10 @@
<li>
<a class="dropdown-item" href="../access/UCloud.html">
<span class="dropdown-text">UCloud</span></a>
</li>
<li>
<a class="dropdown-item" href="../access/genomedk.html">
<span class="dropdown-text">GenomeDK</span></a>
</li>
</ul>
</li>
Expand Down
Loading

0 comments on commit 91ce980

Please sign in to comment.