247 lines
11 KiB
HTML
247 lines
11 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
|
|
|
<!-- Edit me start! -->
|
|
<title>This is where your title goes</title>
|
|
<meta name="description" content=" This is where you put a short description ">
|
|
<meta name="author" content=" Your Name ">
|
|
<!-- Edit me end! -->
|
|
|
|
<link rel="stylesheet" href="../reveal.js/dist/reset.css">
|
|
<link rel="stylesheet" href="../reveal.js/dist/reveal.css">
|
|
<link rel="stylesheet" href="../reveal.js/dist/theme/beige.css">
|
|
<link rel="stylesheet" href="../css/main.css">
|
|
<!-- Theme used for syntax highlighted code -->
|
|
<link rel="stylesheet" href="../reveal.js/plugin/highlight/monokai.css">
|
|
</head>
|
|
<body>
|
|
<div class="reveal">
|
|
<div class="slides">
|
|
|
|
|
|
<!-- Start of slides -->
|
|
<section>
|
|
<section>
|
|
<h2>Research data management<br />👩💻👨💻<br />with DataLad</h2>
|
|
<div style="margin-top:1em;text-align:center">
|
|
<table style="border: none;">
|
|
<tr>
|
|
<td>
|
|
Adina Wagner<br><small><a href="https://mas.to/@adswa" target="_blank"></a>@adswa@mas.to <a href="https://twitter.com/AdinaKrik" target="_blank">
|
|
<a href="https://twitter.com/AdinaKrik" target="_blank">
|
|
<img data-src="../pics/twitter.png" style="height:30px;margin:0px" />@AdinaKrik</a></small>
|
|
</td>
|
|
<td>
|
|
More authors<br>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<img style="height:70px;margin-right:10px" data-src="../pics/fzj_logo.svg" /><br>
|
|
</td>
|
|
<td>
|
|
<small><a href="http://psychoinformatics.de" target="_blank">Psychoinformatics lab</a>,
|
|
<br> Institute of Neuroscience and Medicine (INM-7)<br>
|
|
Research Center Jülich</small><br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<p style="z-index: 100;position: fixed;background-color:#ede6d5;font-size:35px;box-shadow: 10px 10px 8px #888888;margin-top:0px;margin-bottom:100px;margin-left:1000px">
|
|
<img src="../pics/QRcode_hhu.png" height="200">
|
|
</p>
|
|
<br><br><small>
|
|
Slides: <a href="https://doi.org/10.5281/zenodo.6346849" target="_blank">
|
|
DOI 10.5281/zenodo.6346849</a> (Scan the QR code)
|
|
<br>
|
|
</small>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<section>
|
|
<h2>Ice breaker questions</h2>
|
|
<img src="../pics/sheepscale.png" height="600"><iframe src="https://www.directpoll.com/r?XDbzPBd3ixYqg8huKIwKuJ7aj5lQw7fByQ4HgMgN",
|
|
style="border: 0" width="400" height="600"></iframe>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>Acknowledgements</h2>
|
|
<table>
|
|
<tr style="vertical-align:top">
|
|
<td style="vertical-align:top">
|
|
<dl>
|
|
<dt>Software</dt>
|
|
<dd style="margin-left:5px!important">
|
|
<ul style="margin-left:5px!important">
|
|
<li>Joey Hess (git-annex)</li>
|
|
<li>The DataLad team &
|
|
contributors</li>
|
|
</ul>
|
|
</dd>
|
|
<dt style="margin-top:20px">Illustrations </dt>
|
|
<dd style="margin-left:5px!important">
|
|
<ul style="margin-left:5px!important">
|
|
<li>The Turing Way <br>
|
|
project & Scriberia</li>
|
|
<img src="../pics/bannerthanks.svg">
|
|
</ul>
|
|
</dd>
|
|
</dl>
|
|
</td>
|
|
<td style="vertical-align:top">
|
|
<div style="margin-bottom:-20px;text-align:center"><strong>Funders</strong></div>
|
|
<img style="height:150px;margin-right:50px" data-src="../pics/nsf_2020.png" />
|
|
<img style="height:150px;margin-right:50pxi;margin-left:50px" data-src="../pics/binc.png" />
|
|
<img style="height:150px;margin-left:50px" data-src="../pics/bmbf_2020.png" />
|
|
<img style="height:80px;margin-top:-40px;margin-left:auto;margin-right:auto;width:100%" data-src="../pics/fzj_logo.svg" />
|
|
<div style="margin-top:-20px">
|
|
<img style="height:60px;margin-right:20px" data-src="../pics/erdf.png" />
|
|
<img style="height:60px;margin-right:20px" data-src="../pics/cbbs_logo.png" />
|
|
<img style="height:60px" data-src="../pics/LSA-Logo.png" />
|
|
</div>
|
|
<div style="margin-top:40px;margin-bottom:20px;text-align:center"><strong>Collaborators</strong></div>
|
|
<div style="margin-top:-20px">
|
|
<img style="height:100px;margin:20px" data-src="../pics/hbp_logo.png" />
|
|
<img style="height:100px;margin:20px" data-src="../pics/conp_logo.png" />
|
|
<img style="height:100px;margin:20px" data-src="../pics/vbc_logo.png" />
|
|
</div>
|
|
<div style="margin-top:-40px">
|
|
<img style="height:120px;margin:20px" data-src="../pics/openneuro_logo.png" />
|
|
<img style="height:120px;margin:20px" data-src="../pics/cbrain_logo.png" />
|
|
<img style="height:140px;margin:20px" data-src="../pics/brainlife_logo.png" />
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</section>
|
|
|
|
|
|
<section>
|
|
<h3>Some code</h3>
|
|
On demand file access via git-annex/DataLad:
|
|
<pre class="fragment fade-in" data-fragment-index="1" ><code class="bash" style="max-height:none; max-width:none"># clone the repository
|
|
$ git clone https://github.com/psychoinformatics-de/studyforrest-data-phase2.git
|
|
# get one or more files/directories/... on demand
|
|
$ git annex get file/directory/...
|
|
# or
|
|
$ datalad clone https://github.com/psychoinformatics-de/studyforrest-data-phase2.git
|
|
$ datalad get file/directory/...
|
|
</code></pre>
|
|
|
|
<small class="fragment fade-in">
|
|
Fortunate side-effect: Cloned repos/datasets are <strong>small in size</strong>, <br>
|
|
but can be <strong>browsed</strong> for existing files and can provide <strong>access</strong> to <br>
|
|
their content regardless of where it is hosted.<br>
|
|
You can have access to more files than your computer has diskspace!
|
|
</small>
|
|
</section>
|
|
|
|
<section>
|
|
<h3>Summary - something</h3>
|
|
<dl>
|
|
<dt class="fragment fade-in"><code>datalad create</code> creates an empty dataset.</dt> <dd class="fragment fade-in">Configurations (<b>-c yoda</b>, <b>-c text2git</b>) are useful (details soon).</dd>
|
|
<br>
|
|
<dt class="fragment fade-in">A dataset has a <i>history</i> to track files and their modifications. </dt><dd class="fragment fade-in">Explore it with Git (<b>git log</b>) or external tools (e.g., <b>tig</b>).</dd>
|
|
<br>
|
|
<dt class="fragment fade-in"><code>datalad save</code> records the dataset or file state to the history. </dt><dd class="fragment fade-in">Concise <b>commit messages</b> should summarize the change for future you and others.</dd>
|
|
<br>
|
|
<dt class="fragment fade-in"><code>datalad download-url</code> obtains web content and records its origin. </dt><dd class="fragment fade-in">It even takes care of saving the change.</dd>
|
|
<br>
|
|
<dt class="fragment fade-in"><code>datalad status</code> reports the current state of the dataset.</dt>
|
|
<dd class="fragment fade-in">A clean dataset status (no modifications, not untracked files) is good practice.</dd>
|
|
</dl>
|
|
</section>
|
|
|
|
|
|
<section data-transition="None">
|
|
<h3>This one floats</h3>
|
|
<ul>
|
|
<li><em>git status</em> can guide you through resolving the merge conflict. Run it frequently</li>
|
|
</ul>
|
|
<pre><code>$ git status 1 !
|
|
On branch preproc
|
|
You have unmerged paths.
|
|
(fix conflicts and run "git commit")
|
|
(use "git merge --abort" to abort the merge)
|
|
|
|
Unmerged paths:
|
|
(use "git add file..." to mark resolution)
|
|
both modified: code/preproc.sh
|
|
|
|
no changes added to commit (use "git add" and/or "git commit -a")</code></pre>
|
|
<p class="fragment fade-in" style="z-index: 100;position: fixed;background-color:#ede6d5;font-size:20px;box-shadow: 10px 10px 8px #888888;margin-top:-285px;margin-bottom:500px;margin-left:400px">
|
|
"I'm in a merge conflict!"
|
|
</p>
|
|
<p class="fragment fade-in" style="z-index: 100;position: fixed;background-color:#ede6d5;font-size:20px;box-shadow: 10px 10px 8px #888888;margin-top:-220px;margin-bottom:500px;margin-left:700px">
|
|
How to emergency-abort
|
|
</p>
|
|
<p class="fragment fade-in" style="z-index: 100;position: fixed;background-color:#ede6d5;font-size:20px;box-shadow: 10px 10px 8px #888888;margin-top:-150px;margin-bottom:500px;margin-left:700px">
|
|
What to do next
|
|
</p>
|
|
<p class="fragment fade-in" style="z-index: 100;position: fixed;background-color:#ede6d5;font-size:20px;box-shadow: 10px 10px 8px #888888;margin-top:-120px;margin-bottom:500px;margin-left:700px">
|
|
Which files contain conflicts
|
|
</p>
|
|
</section>
|
|
|
|
|
|
<section data-transition="None">
|
|
<h3>Here's an r-stack</h3>
|
|
Example: A Git repository with annexed data in a public S3 bucket
|
|
<div class="r-stack">
|
|
<img class="fragment fade-in-then-out" data-fragment-index="1" src="../pics/ukb_datasets.svg" height="900px">
|
|
<img class="fragment" data-fragment-index="2" src="../pics/ukbworkflow_simplified.svg" height="900px">
|
|
</div>
|
|
<small class="fragment fade-in-then-out" data-fragment-index="1">Did you know? <a href="http://handbook.datalad.org/en/latest/basics/101-139-s3.html" target="blank">
|
|
All of OpenNeuro's datasets are DataLad datasets</a></small>
|
|
<small class="fragment" data-fragment-index="2">Do you want to publish data to s3? <a href="http://handbook.datalad.org/en/latest/basics/101-139-s3.html" target="blank">
|
|
handbook.datalad.org</a> has a Walkthrough</small>
|
|
</section>
|
|
|
|
</section>
|
|
<section>Slide 2</section>
|
|
<!-- End of slides -->
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script src="../reveal.js/dist/reveal.js"></script>
|
|
<script src="../reveal.js/plugin/notes/notes.js"></script>
|
|
<script src="../reveal.js/plugin/markdown/markdown.js"></script>
|
|
<script src="../reveal.js/plugin/highlight/highlight.js"></script>
|
|
<script>
|
|
// More info about initialization & config:
|
|
// - https://revealjs.com/initialization/
|
|
// - https://revealjs.com/config/
|
|
Reveal.initialize({
|
|
hash: true,
|
|
// The "normal" size of the presentation, aspect ratio will be preserved
|
|
// when the presentation is scaled to fit different resolutions. Can be
|
|
// specified using percentage units.
|
|
width: 1280,
|
|
height: 960,
|
|
// Factor of the display size that should remain empty around the content
|
|
margin: 0.3,
|
|
// Bounds for smallest/largest possible scale to apply to content
|
|
minScale: 0.2,
|
|
maxScale: 1.0,
|
|
|
|
controls: true,
|
|
progress: true,
|
|
history: true,
|
|
center: true,
|
|
slideNumber: 'c',
|
|
pdfSeparateFragments: false,
|
|
pdfMaxPagesPerSlide: 1,
|
|
pdfPageHeightOffset: -1,
|
|
transition: 'slide', // none/fade/slide/convex/concave/zoom
|
|
// Learn about plugins: https://revealjs.com/plugins/
|
|
plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ]
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|