PageSourceSearch

https://taxoflow.work/precourse/

html taxoflow.work collected 2026-10-08 11:58:41 UTC 51,292 bytes, 1,452 lines download raw bytes

1
2<!doctype html>
3<html lang="en" class="no-js">
4  <head>
5    
6      <meta charset="utf-8">
7      <meta name="viewport" content="width=device-width,initial-scale=1">
8      
9      
10      
11      
12        <link rel="prev" href="..">
13      
14      
15        <link rel="next" href="../00_orientation/">
16      
17      
18        
19      
20      
21      <link rel="icon" href="../assets/images/taxoflow_logo.svg">
22      <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.4">
23    
24    
25      
26        <title>Precourse preparations - TaxoFlow - The Tutorial</title>
27      
28    
29    
30      <link rel="stylesheet" href="../assets/stylesheets/main.484c7ddc.min.css">
31      
32        
33        <link rel="stylesheet" href="../assets/stylesheets/palette.ab4e12ef.min.css">
34      
35      
36  
37  
38    
39      
40      
41    
42  
43    
44      
45      
46    
47  
48    
49      
50      
51    
52  
53    
54      
55      
56    
57  
58    
59      
60      
61    
62  
63    
64      
65      
66    
67  
68    
69      
70      
71    
72  
73    
74      
75      
76    
77  
78  
79  <style>:root{--md-admonition-icon--catalog:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M8.347.631A.75.75%200%200%201%209.123.26l.238.04a3.25%203.25%200%200%201%202.591%204.098L11.494%206h.665a3.25%203.25%200%200%201%203.118%204.167l-1.135%203.859A2.75%202.75%200%200%201%2011.503%2016H6.586a3.75%203.75%200%200%201-2.184-.702A1.75%201.75%200%200%201%203%2016H1.75A1.75%201.75%200%200%201%200%2014.25v-6.5C0%206.784.784%206%201.75%206h3.417a.25.25%200%200%200%20.217-.127ZM4.75%2013.649l.396.33c.404.337.914.521%201.44.521h4.917a1.25%201.25%200%200%200%201.2-.897l1.135-3.859A1.75%201.75%200%200%200%2012.159%207.5H10.5a.75.75%200%200%201-.721-.956l.731-2.558a1.75%201.75%200%200%200-1.127-2.14L6.69%206.611a1.75%201.75%200%200%201-1.523.889H4.75ZM3.25%207.5h-1.5a.25.25%200%200%200-.25.25v6.5c0%20.138.112.25.25.25H3a.25.25%200%200%200%20.25-.25Z%22/%3E%3C/svg%3E');--md-admonition-icon--courses:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M0%201.75A.75.75%200%200%201%20.75%201h4.253c1.227%200%202.317.59%203%201.501A3.74%203.74%200%200%201%2011.006%201h4.245a.75.75%200%200%201%20.75.75v10.5a.75.75%200%200%201-.75.75h-4.507a2.25%202.25%200%200%200-1.591.659l-.622.621a.75.75%200%200%201-1.06%200l-.622-.621A2.25%202.25%200%200%200%205.258%2013H.75a.75.75%200%200%201-.75-.75Zm7.251%2010.324.004-5.073-.002-2.253A2.25%202.25%200%200%200%205.003%202.5H1.5v9h3.757a3.75%203.75%200%200%201%201.994.574M8.755%204.75l-.004%207.322a3.75%203.75%200%200%201%201.992-.572H14.5v-9h-3.495a2.25%202.25%200%200%200-2.25%202.25%22/%3E%3C/svg%3E');--md-admonition-icon--terminal:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M0%202.75C0%201.784.784%201%201.75%201h12.5c.966%200%201.75.784%201.75%201.75v10.5A1.75%201.75%200%200%201%2014.25%2015H1.75A1.75%201.75%200%200%201%200%2013.25Zm1.75-.25a.25.25%200%200%200-.25.25v10.5c0%20.138.112.25.25.25h12.5a.25.25%200%200%200%20.25-.25V2.75a.25.25%200%200%200-.25-.25ZM7.25%208a.75.75%200%200%201-.22.53l-2.25%202.25a.749.749%200%200%201-1.275-.326.75.75%200%200%201%20.215-.734L5.44%208%203.72%206.28a.749.749%200%200%201%20.326-1.275.75.75%200%200%201%20.734.215l2.25%202.25c.141.14.22.331.22.53m1.5%201.5h3a.75.75%200%200%201%200%201.5h-3a.75.75%200%200%201%200-1.5%22/%3E%3C/svg%3E');--md-admonition-icon--full-code:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M5%203c-1.1%200-2%20.9-2%202s-.9%202-2%202v2c1.1%200%202%20.9%202%202s.9%202%202%202h2v-2H5v-1c0-1.1-.9-2-2-2%201.1%200%202-.9%202-2V5h2V3m4%200c1.1%200%202%20.9%202%202s.9%202%202%202v2c-1.1%200-2%20.9-2%202s-.9%202-2%202H9v-2h2v-1c0-1.1.9-2%202-2-1.1%200-2-.9-2-2V5H9V3zm11%203v12c0%201.11-.89%202-2%202H4a2%202%200%200%201-2-2v-3h2v3h16V6h-2.97V4H20c1.11%200%202%20.89%202%202%22/%3E%3C/svg%3E');--md-admonition-icon--learning:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M7.693%201.066a.75.75%200%200%201%20.614%200l7.25%203.25a.75.75%200%200%201%200%201.368L13%206.831v2.794c0%201.024-.81%201.749-1.66%202.173-.893.447-2.075.702-3.34.702q-.417%200-.816-.036a.75.75%200%200%201%20.133-1.494Q7.649%2011%208%2011c1.082%200%202.025-.221%202.67-.543.69-.345.83-.682.83-.832V7.503L8.307%208.934a.75.75%200%200%201-.614%200L4%207.28v1.663c.296.105.575.275.812.512.438.438.688%201.059.688%201.796v3a.75.75%200%200%201-.75.75h-3a.75.75%200%200%201-.75-.75v-3c0-.737.25-1.358.688-1.796.237-.237.516-.407.812-.512V6.606L.443%205.684a.75.75%200%200%201%200-1.368ZM2.583%205%208%207.428%2013.416%205%208%202.572ZM2.5%2011.25v2.25H4v-2.25c0-.388-.125-.611-.25-.735a.7.7%200%200%200-.5-.203.7.7%200%200%200-.5.203c-.125.124-.25.347-.25.735%22/%3E%3C/svg%3E');--md-admonition-icon--people:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M2%205.5a3.5%203.5%200%201%201%205.898%202.549%205.51%205.51%200%200%201%203.034%204.084.75.75%200%201%201-1.482.235%204
79%204%200%200%200-7.9%200%20.75.75%200%200%201-1.482-.236A5.5%205.5%200%200%201%203.102%208.05%203.5%203.5%200%200%201%202%205.5M11%204a3.001%203.001%200%200%201%202.22%205.018%205%205%200%200%201%202.56%203.012.749.749%200%200%201-.885.954.75.75%200%200%201-.549-.514%203.51%203.51%200%200%200-2.522-2.372.75.75%200%200%201-.574-.73v-.352a.75.75%200%200%201%20.416-.672A1.5%201.5%200%200%200%2011%205.5.75.75%200%200%201%2011%204m-5.5-.5a2%202%200%201%200-.001%203.999A2%202%200%200%200%205.5%203.5%22/%3E%3C/svg%3E');--md-admonition-icon--licensing:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M8.75.75V2h.985c.304%200%20.603.08.867.231l1.29.736q.058.033.124.033h2.234a.75.75%200%200%201%200%201.5h-.427l2.111%204.692a.75.75%200%200%201-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.006.005-.01.01-.045.04q-.317.265-.686.45C14.556%2010.78%2013.88%2011%2013%2011a4.5%204.5%200%200%201-2.023-.454%203.5%203.5%200%200%201-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75%200%200%201-.154-.838L12.178%204.5h-.162c-.305%200-.604-.079-.868-.231l-1.29-.736a.25.25%200%200%200-.124-.033H8.75V13h2.5a.75.75%200%200%201%200%201.5h-6.5a.75.75%200%200%201%200-1.5h2.5V3.5h-.984a.25.25%200%200%200-.124.033l-1.289.737c-.265.15-.564.23-.869.23h-.162l2.112%204.692a.75.75%200%200%201-.154.838l-.53-.53.529.531-.001.002-.002.002-.006.006-.016.015-.045.04q-.317.265-.686.45C4.556%2010.78%203.88%2011%203%2011a4.5%204.5%200%200%201-2.023-.454%203.5%203.5%200%200%201-.686-.45l-.045-.04-.016-.015-.006-.006-.004-.004v-.001a.75.75%200%200%201-.154-.838L2.178%204.5H1.75a.75.75%200%200%201%200-1.5h2.234a.25.25%200%200%200%20.125-.033l1.288-.737c.265-.15.564-.23.869-.23h.984V.75a.75.75%200%200%201%201.5%200m2.945%208.477c.285.135.718.273%201.305.273s1.02-.138%201.305-.273L13%206.327Zm-10%200c.285.135.718.273%201.305.273s1.02-.138%201.305-.273L3%206.327Z%22/%3E%3C/svg%3E');--md-admonition-icon--videos:url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cpath%20d%3D%22M0%203.75C0%202.784.784%202%201.75%202h12.5c.966%200%201.75.784%201.75%201.75v8.5A1.75%201.75%200%200%201%2014.25%2014H1.75A1.75%201.75%200%200%201%200%2012.25Zm1.75-.25a.25.25%200%200%200-.25.25v8.5c0%20.138.112.25.25.25h12.5a.25.25%200%200%200%20.25-.25v-8.5a.25.25%200%200%200-.25-.25Z%22/%3E%3Cpath%20d%3D%22M6%2010.559V5.442a.25.25%200%200%201%20.379-.215l4.264%202.559a.25.25%200%200%201%200%20.428l-4.264%202.559A.25.25%200%200%201%206%2010.559%22/%3E%3C/svg%3E');}</style>
80
81
82
83    
84    
85      
86    
87    
88      
89        
90        
91        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
92        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
93        <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
94      
95    
96    
97      <link rel="stylesheet" href="../stylesheets/extra.css">
98    
99    
99<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
99
100    
101      
102
103    
104    
105  </head>
106  
107  
108    
109    
110      
111    
112    
113    
114    
115    <body dir="ltr" data-md-color-scheme="clear" data-md-color-primary="indigo" data-md-color-accent="indigo">
116  
117    
118    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
119    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
120    <label class="md-overlay" for="__drawer"></label>
121    <div data-md-component="skip">
122      
123        
124        <a href="#course-goal" class="md-skip">
125          Skip to content
126        </a>
127      
128    </div>
129    <div data-md-component="announce">
130      
131    </div>
132    
133      <div data-md-color-scheme="default" data-md-component="outdated" hidden>
134        
135          <aside class="md-banner md-banner--warning">
136            <div class="md-banner__inner md-grid md-typeset">
137              
138  You're not viewing the latest version.
139  <a href="../.."> 
140    <strong>Click here to go to latest.</strong>
141  </a>
142
143            </div>
144            
144<script>var el=document.querySelector("[data-md-component=outdated]"),base=new URL(".."),outdated=__md_get("__outdated",sessionStorage,base);!0===outdated&&el&&(el.hidden=!1)</script>
144
145          </aside>
146        
147      </div>
148    
149    
150      
151
152  
153
154<header class="md-header md-header--shadow" data-md-component="header">
155  <nav class="md-header__inner md-grid" aria-label="Header">
156    <a href=".." title="TaxoFlow - The Tutorial" class="md-header__button md-logo" aria-label="TaxoFlow - The Tutorial" data-md-component="logo">
157      
158  <img src="../assets/images/taxoflow_logo.svg" alt="logo">
159
160    </a>
161    <label class="md-header__button md-icon" for="__drawer">
162      
163      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
164    </label>
165    <div class="md-header__title" data-md-component="header-title">
166      <div class="md-header__ellipsis">
167        <div class="md-header__topic">
168          <span class="md-ellipsis">
169            TaxoFlow - The Tutorial
170          </span>
171        </div>
172        <div class="md-header__topic" data-md-component="header-topic">
173          <span class="md-ellipsis">
174            
175              Precourse preparations
176            
177          </span>
178        </div>
179      </div>
180    </div>
181    
182      
183        <form class="md-header__option" data-md-component="palette">
184  
185    
186    
187    
188    <input class="md-option" data-md-color-media="" data-md-color-scheme="clear" data-md-color-primary="indigo" data-md-color-accent="indigo"  aria-label="Switch to dark mode"  type="radio" name="__palette" id="__palette_0">
189    
190      <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
191        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
192      </label>
193    
194  
195    
196    
197    
198    <input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo"  aria-label="Switch to light mode"  type="radio" name="__palette" id="__palette_1">
199    
200      <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
201        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
202      </label>
203    
204  
205</form>
206      
207    
208    
209      
209<script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
209
210    
211    
212    
213      
214      
215        <label class="md-header__button md-icon" for="__search">
216          
217          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
218        </label>
219        <div class="md-search" data-md-component="search" role="dialog">
220  <label class="md-search__overlay" for="__search"></label>
221  <div class="md-search__inner" role="search">
222    <form class="md-search__form" name="search">
223      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
224      <label class="md-search__icon md-icon" for="__search">
225        
226        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
227        
228        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
229      </label>
230      <nav class="md-search__options" aria-label="Search">
231        
232        <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
233          
234          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
235        </button>
236      </nav>
237      
238    </form>
239    <div class="md-search__output">
240      <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
241        <div class="md-search-result" data-md-component="search-result">
242          <div class="md-search-result__meta">
243            Initializing search
244          </div>
245          <ol class="md-search-result__list" role="presentation"></ol>
246        </div>
247      </div>
248    </div>
249  </div>
250</div>
251      
252    
253    
254      <div class="md-header__source">
255        <a href="https://github.com/jeffe107/taxoflow_tutorial" title="Go to repository" class="md-source" data-md-component="source">
256  <div class="md-source__icon md-icon">
257    
258    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
259  </div>
260  <div class="md-source__repository">
261    jeffe107/taxoflow_tutorial
262  </div>
263</a>
264      </div>
265    
266  </nav>
267  
268</header>
269    
270    <div class="md-container" data-md-component="container">
271      
272      
273        
274          
275        
276      
277      <main class="md-main" data-md-component="main">
278        <div class="md-main__inner md-grid">
279          
280            
281              
282              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
283                <div class="md-sidebar__scrollwrap">
284                  <div class="md-sidebar__inner">
285                    
286
287
288
289<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
290  <label class="md-nav__title" for="__drawer">
291    <a href=".." title="TaxoFlow - The Tutorial" class="md-nav__button md-logo" aria-label="TaxoFlow - The Tutorial" data-md-component="logo">
292      
293  <img src="../assets/images/taxoflow_logo.svg" alt="logo">
294
295    </a>
296    TaxoFlow - The Tutorial
297  </label>
298  
299    <div class="md-nav__source">
300      <a href="https://github.com/jeffe107/taxoflow_tutorial" title="Go to repository" class="md-source" data-md-component="source">
301  <div class="md-source__icon md-icon">
302    
303    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m
303-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg>
304  </div>
305  <div class="md-source__repository">
306    jeffe107/taxoflow_tutorial
307  </div>
308</a>
309    </div>
310  
311  <ul class="md-nav__list" data-md-scrollfix>
312    
313      
314      
315  
316  
317  
318  
319    <li class="md-nav__item">
320      <a href=".." class="md-nav__link">
321        
322  
323  
324  <span class="md-ellipsis">
325    
326  
327    Home
328  
329
330    
331  </span>
332  
333  
334
335      </a>
336    </li>
337  
338
339    
340      
341      
342  
343  
344    
345  
346  
347  
348    <li class="md-nav__item md-nav__item--active">
349      
350      <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
351      
352      
353      
354        <label class="md-nav__link md-nav__link--active" for="__toc">
355          
356  
357  
358  <span class="md-ellipsis">
359    
360  
361    Precourse preparations
362  
363
364    
365  </span>
366  
367  
368
369          <span class="md-nav__icon md-icon"></span>
370        </label>
371      
372      <a href="./" class="md-nav__link md-nav__link--active">
373        
374  
375  
376  <span class="md-ellipsis">
377    
378  
379    Precourse preparations
380  
381
382    
383  </span>
384  
385  
386
387      </a>
388      
389         
390<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
391     
392  <label class="md-nav__title" for="__toc">
393    <span class="md-nav__icon md-icon"></span>
394    Table of contents
395  </label>
396  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
397     <li class="md-nav__item">
398  <a href="#course-goal" class="md-nav__link">
399    <span class="md-ellipsis">
400      
401        Course goal
402      
403    </span>
404  </a>
405  
406</li>  <li class="md-nav__item">
407  <a href="#background-knowledge" class="md-nav__link">
408    <span class="md-ellipsis">
409      
410        Background knowledge
411      
412    </span>
413  </a>
414  
415    <nav class="md-nav" aria-label="Background knowledge">
416      <ul class="md-nav__list">
417        
418          <li class="md-nav__item">
419  <a href="#unix" class="md-nav__link">
420    <span class="md-ellipsis">
421      
422        UNIX
423      
424    </span>
425  </a>
426  
427</li>
428        
429      </ul>
430    </nav>
431  
432</li>  <li class="md-nav__item">
433  <a href="#software" class="md-nav__link">
434    <span class="md-ellipsis">
435      
436        Software
437      
438    </span>
439  </a>
440  
441    <nav class="md-nav" aria-label="Software">
442      <ul class="md-nav__list">
443        
444          <li class="md-nav__item">
445  <a href="#os" class="md-nav__link">
446    <span class="md-ellipsis">
447      
448        OS
449      
450    </span>
451  </a>
452  
453</li>
454        
455          <li class="md-nav__item">
456  <a href="#github-codespaces-code-editor" class="md-nav__link">
457    <span class="md-ellipsis">
458      
459        GitHub Codespaces - Code editor
460      
461    </span>
462  </a>
463  
464    <nav class="md-nav" aria-label="GitHub Codespaces - Code editor">
465      <ul class="md-nav__list">
466        
467          <li class="md-nav__item">
468  <a href="#vs-code-video-tutorial" class="md-nav__link">
469    <span class="md-ellipsis">
470      
471        VS code video tutorial
472      
473    </span>
474  </a>
475  
476</li>
477        
478      </ul>
479    </nav>
480  
481</li>
482        
483          <li class="md-nav__item">
484  <a href="#alternative-installations" class="md-nav__link">
485    <span class="md-ellipsis">
486      
487        Alternative installations
488      
489    </span>
490  </a>
491  
492</li>
493        
494          <li class="md-nav__item">
495  <a href="#pipeline-specific-tools" class="md-nav__link">
496    <span class="md-ellipsis">
497      
498        Pipeline-specific tools
499      
500    </span>
501  </a>
502  
503</li>
504        
505      </ul>
506    </nav>
507  
508</li>  <li class="md-nav__item">
509  <a href="#website-colour-code-explanation" class="md-nav__link">
510    <span class="md-ellipsis">
511      
512        Website colour code explanation
513      
514    </span>
515  </a>
516  
517</li> 
518  </ul>
519  
520</nav>
521<nav class="md-nav md-nav--secondary sidebar_resources" aria-label="Resources">
522  <label class="md-nav__title">Resources</label>
523  <ul class="md-nav__list">
524    <li class="md-nav__item">
525      <!-- Community forum (training) -->
526      <a
527        href="https://www.preprints.org/manuscript/202512.1989"
528        target="_blank"
529        rel="noopener"
530        class="md-nav__link"
531      >
532        <span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5zM6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5"/></svg></span>
533        Paper
534      </a>
535    </li>
536    <li class="md-nav__item">
537      <!-- Nextflow slack -->
538      <a
539        href="https://www.nextflow.io/slack-invite.html"
540        target="_blank"
541        rel="noopener"
542        class="md-nav__link"
543      >
544        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
545          <path
546            d="M6 15a2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2h2v2m1 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v5a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-5m2-8a2 2 0 0 1-2-2 2 2 0 0 1 2-2 2 2 0 0 1 2 2v2H9m0 1a2 2 0 0 1 2 2 2 2 0 0 1-2 2H4a2 2 0 0 1-2-2 2 2 0 0 1 2-2h5m8 2a2 2 0 0 1 2-2 2 2 0 0 1 2 2 2 2 0 0 1-2 2h-2v-2m-1 0a2 2 0 0 1-2 2 2 2 0 0 1-2-2V5a2 2 0 0 1 2-2 2 2 0 0 1 2 2v5m-2 8a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2v-2h2m0-1a2 2 0 0 1-2-2 2 2 0 0 1 2-2h5a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-5Z"
547          ></path>
548        </svg>
549        Nextflow Slack
550      </a>
551    </li>
552    <li class="md-nav__item">
553      <!-- Github issues -->
554      <a
555        href="https://github.com/jeffe107/taxoflow_tutorial/issues"
556        target="_blank"
557        rel="noopener"
558        class="md-nav__link"
559      >
560        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
561          <path
562            d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"
563          ></path>
564        </svg>
565        GitHub issues
566      </a>
567    </li>
568    <li class="md-nav__item">
569      <!-- Nextflow docs -->
570      <a
571        href="https://nextflow.io/docs/latest/index.html"
572        target="_blank"
573        rel="noopener"
574        class="md-nav__link"
575      >
576        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
577          <path
578            d="M17.5 14.33c.79 0 1.63.08 2.5.24v1.5c-.62-.16-1.46-.24-2.5-.24-1.9 0-3.39.33-4.5.99v-1.69c1.17-.53 2.67-.8 4.5-.8M13 12.46c1.29-.53 2.79-.79 4.5-.79.79 0 1.63.07 2.5.23v1.5c-.62-.16-1.46-.24-2.5-.24-1.9 0-3.39.34-4.5.99m4.5-3.65c-1.9 0-3.39.32-4.5 1V9.84c1.23-.56 2.73-.84 4.5-.84.79 0 1.63.08 2.5.23v1.55c-.74-.19-1.59-.28-2.5-.28m3.5 8V7c-1.04-.33-2.21-.5-3.5-.5-2.05 0-3.88.5-5.5 1.5v11.5c1.62-1 3.45-1.5 5.5-1.5 1.19 0 2.36.16 3.5.5m-3.5-14c2.35 0 4.19.5 5.5 1.5v14.56c0 .12-.05.24-.16.35-.11.09-.23.17-.34.17-.11 0-.19-.02-.25-.05-1.28-.69-2.87-1.03-4.75-1.03-2.05 0-3.88.5-5.5 1.5-1.34-1-3.17-1.5-5.5-1.5-1.66 0-3.25.36-4.75 1.07-.03.01-.07.01-.12.03-.04.01-.08.02-.13.02-.11 0-.23-.04-.34-.12a.475.475 0 0 1-.16-.35V6c1.34-1 3.18-1.5 5.5-1.5 2.33 0 4.16.5 5.5 1.5 1.34-1 3.17-1.5 5.5-1.5Z"
579          ></path>
580        </svg>
581        Nextflow Docs
582      </a>
583    </li>
584  </ul>
585</nav>
586      
587    </li>
588  
589
590    
591      
592      
593  
594  
595  
596  
597    <li class="md-nav__item">
598      <a href="../00_orientation/" class="md-nav__link">
599        
600  
601  
602  <span class="md-ellipsis">
603    
604  
605    Orientation
606  
607
608    
609  </span>
610  
611  
612
613      </a>
614    </li>
615  
616
617    
618      
619      
620  
621  
622  
623  
624    
625    
626    
627    
628    
629    <li class="md-nav__item md-nav__item--nested">
630      
631        
632        
633        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
634        
635          
636          <label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
637            
638  
639  
640  <span class="md-ellipsis">
641    
642  
643    Course material
644  
645
646    
647  </span>
648  
649  
650
651            <span class="md-nav__icon md-icon"></span>
652          </label>
653        
654        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
655          <label class="md-nav__title" for="__nav_4">
656            <span class="md-nav__icon md-icon"></span>
657            
658  
659    Course material
660  
661
662          </label>
663          <ul class="md-nav__list" data-md-scrollfix>
664            
665              
666                
667  
668  
669  
670  
671    <li class="md-nav__item">
672      <a href="../course_material/01_pipeline/" class="md-nav__link">
673        
674  
675  
676  <span class="md-ellipsis">
677    
678  
679    Part 1 - Pipeline
680  
681
682    
683  </span>
684  
685  
686
687      </a>
688    </li>
689  
690
691              
692            
693              
694                
695  
696  
697  
698  
699    <li class="md-nav__item">
700      <a href="../course_material/02_single-sample/" class="md-nav__link">
701        
702  
703  
704  <span class="md-ellipsis">
705    
706  
707    Part 2 - Single sample
708  
709
710    
711  </span>
712  
713  
714
715      </a>
716    </li>
717  
718
719              
720            
721              
722                
723  
724  
725  
726  
727    <li class="md-nav__item">
728      <a href="../course_material/03_multi-sample/" class="md-nav__link">
729        
730  
731  
732  <span class="md-ellipsis">
733    
734  
735    Part 3 - Multisample
736  
737
738    
739  </span>
740  
741  
742
743      </a>
744    </li>
745  
746
747              
748            
749          </ul>
750        </nav>
751      
752    </li>
753  
754
755    
756      
757      
758  
759  
760  
761  
762    
763    
764    
765    
766    
767    <li class="md-nav__item md-nav__item--nested">
768      
769        
770        
771        <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
772        
773          
774          <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
775            
776  
777  
778  <span class="md-ellipsis">
779    
780  
781    Environments
782  
783
784    
785  </span>
786  
787  
788
789            <span class="md-nav__icon md-icon"></span>
790          </label>
791        
792        <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
793          <label class="md-nav__title" for="__nav_5">
794            <span class="md-nav__icon md-icon"></span>
795            
796  
797    Environments
798  
799
800          </label>
801          <ul class="md-nav__list" data-md-scrollfix>
802            
803              
804                
805  
806  
807  
808  
809    <li class="md-nav__item">
810      <a href="../envsetup/" class="md-nav__link">
811        
812  
813  
814  <span class="md-ellipsis">
815    
816  
817    Environment options
818  
819
820    
821  </span>
822  
823  
824
825      </a>
826    </li>
827  
828
829              
830            
831              
832                
833  
834  
835  
836  
837    <li class="md-nav__item">
838      <a href="../envsetup/01_setup/" class="md-nav__link">
839        
840  
841  
842  <span class="md-ellipsis">
843    
844  
845    GitHub Codespaces
846  
847
848    
849  </span>
850  
851  
852
853      </a>
854    </li>
855  
856
857              
858            
859              
860                
861  
862  
863  
864  
865    <li class="md-nav__item">
866      <a href="../envsetup/03_devcontainer/" class="md-nav__link">
867        
868  
869  
870  <span class="md-ellipsis">
871    
872  
873    Local Devcontainers
874  
875
876    
877  </span>
878  
879  
880
881      </a>
882    </li>
883  
884
885              
886            
887              
888                
889  
890  
891  
892  
893    <li class="md-nav__item">
894      <a href="../envsetup/02_local/" class="md-nav__link">
895        
896  
897  
898  <span class="md-ellipsis">
899    
900  
901    Manual installation
902  
903
904    
905  </span>
906  
907  
908
909      </a>
910    </li>
911  
912
913              
914            
915              
916                
917  
918  
919  
920  
921    <li class="md-nav__item">
922      <a href="../envsetup/04_sandbox/" class="md-nav__link">
923        
924  
925  
926  <span class="md-ellipsis">
927    
928  
929    CodeSandbox
930  
931
932    
933  </span>
934  
935  
936
937      </a>
938    </li>
939  
940
941              
942            
943              
944                
945  
946  
947  
948  
949    <li class="md-nav__item">
950      <a href="../envsetup/05_HPC/" class="md-nav__link">
951        
952  
953  
954  <span class="md-ellipsis">
955    
956  
957    HPC installation
958  
959
960    
961  </span>
962  
963  
964
965      </a>
966    </li>
967  
968
969              
970            
971          </ul>
972        </nav>
973      
974    </li>
975  
976
977    
978  </ul>
979</nav>
980                  </div>
981                </div>
982              </div>
983            
984            
985              
986              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
987                <div class="md-sidebar__scrollwrap">
988                  <div class="md-sidebar__inner">
989                     
990<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
991     
992  <label class="md-nav__title" for="__toc">
993    <span class="md-nav__icon md-icon"></span>
994    Table of contents
995  </label>
996  <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
997     <li class="md-nav__item">
998  <a href="#course-goal" class="md-nav__link">
999    <span class="md-ellipsis">
1000      
1001        Course goal
1002      
1003    </span>
1004  </a>
1005  
1006</li>  <li class="md-nav__item">
1007  <a href="#background-knowledge" class="md-nav__link">
1008    <span class="md-ellipsis">
1009      
1010        Background knowledge
1011      
1012    </span>
1013  </a>
1014  
1015    <nav class="md-nav" aria-label="Background knowledge">
1016      <ul class="md-nav__list">
1017        
1018          <li class="md-nav__item">
1019  <a href="#unix" class="md-nav__link">
1020    <span class="md-ellipsis">
1021      
1022        UNIX
1023      
1024    </span>
1025  </a>
1026  
1027</li>
1028        
1029      </ul>
1030    </nav>
1031  
1032</li>  <li class="md-nav__item">
1033  <a href="#software" class="md-nav__link">
1034    <span class="md-ellipsis">
1035      
1036        Software
1037      
1038    </span>
1039  </a>
1040  
1041    <nav class="md-nav" aria-label="Software">
1042      <ul class="md-nav__list">
1043        
1044          <li class="md-nav__item">
1045  <a href="#os" class="md-nav__link">
1046    <span class="md-ellipsis">
1047      
1048        OS
1049      
1050    </span>
1051  </a>
1052  
1053</li>
1054        
1055          <li class="md-nav__item">
1056  <a href="#github-codespaces-code-editor" class="md-nav__link">
1057    <span class="md-ellipsis">
1058      
1059        GitHub Codespaces - Code editor
1060      
1061    </span>
1062  </a>
1063  
1064    <nav class="md-nav" aria-label="GitHub Codespaces - Code editor">
1065      <ul class="md-nav__list">
1066        
1067          <li class="md-nav__item">
1068  <a href="#vs-code-video-tutorial" class="md-nav__link">
1069    <span class="md-ellipsis">
1070      
1071        VS code video tutorial
1072      
1073    </span>
1074  </a>
1075  
1076</li>
1077        
1078      </ul>
1079    </nav>
1080  
1081</li>
1082        
1083          <li class="md-nav__item">
1084  <a href="#alternative-installations" class="md-nav__link">
1085    <span class="md-ellipsis">
1086      
1087        Alternative installations
1088      
1089    </span>
1090  </a>
1091  
1092</li>
1093        
1094          <li class="md-nav__item">
1095  <a href="#pipeline-specific-tools" class="md-nav__link">
1096    <span class="md-ellipsis">
1097      
1098        Pipeline-specific tools
1099      
1100    </span>
1101  </a>
1102  
1103</li>
1104        
1105      </ul>
1106    </nav>
1107  
1108</li>  <li class="md-nav__item">
1109  <a href="#website-colour-code-explanation" class="md-nav__link">
1110    <span class="md-ellipsis">
1111      
1112        Website colour code explanation
1113      
1114    </span>
1115  </a>
1116  
1117</li> 
1118  </ul>
1119  
1120</nav>
1121<nav class="md-nav md-nav--secondary sidebar_resources" aria-label="Resources">
1122  <label class="md-nav__title">Resources</label>
1123  <ul class="md-nav__list">
1124    <li class="md-nav__item">
1125      <!-- Community forum (training) -->
1126      <a
1127        href="https://www.preprints.org/manuscript/202512.1989"
1128        target="_blank"
1129        rel="noopener"
1130        class="md-nav__link"
1131      >
1132        <span class="twemoji"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19 2-5 4.5v11l5-4.5zM6.5 5C4.55 5 2.45 5.4 1 6.5v14.66c0 .25.25.5.5.5.1 0 .15-.07.25-.07 1.35-.65 3.3-1.09 4.75-1.09 1.95 0 4.05.4 5.5 1.5 1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.31 4.75 1.06.1.05.15.03.25.03.25 0 .5-.25.5-.5V6.5c-.6-.45-1.25-.75-2-1V19c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5V6.5C10.55 5.4 8.45 5 6.5 5"/></svg></span>
1133        Paper
1134      </a>
1135    </li>
1136    <li class="md-nav__item">
1137      <!-- Nextflow slack -->
1138      <a
1139        href="https://www.nextflow.io/slack-invite.html"
1140        target="_blank"
1141        rel="noopener"
1142        class="md-nav__link"
1143      >
1144        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1145          <path
1146            d="M6 15a2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2h2v2m1 0a2 2 0 0 1 2-2 2 2 0 0 1 2 2v5a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-5m2-8a2 2 0 0 1-2-2 2 2 0 0 1 2-2 2 2 0 0 1 2 2v2H9m0 1a2 2 0 0 1 2 2 2 2 0 0 1-2 2H4a2 2 0 0 1-2-2 2 2 0 0 1 2-2h5m8 2a2 2 0 0 1 2-2 2 2 0 0 1 2 2 2 2 0 0 1-2 2h-2v-2m-1 0a2 2 0 0 1-2 2 2 2 0 0 1-2-2V5a2 2 0 0 1 2-2 2 2 0 0 1 2 2v5m-2 8a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2v-2h2m0-1a2 2 0 0 1-2-2 2 2 0 0 1 2-2h5a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-5Z"
1147          ></path>
1148        </svg>
1149        Nextflow Slack
1150      </a>
1151    </li>
1152    <li class="md-nav__item">
1153      <!-- Github issues -->
1154      <a
1155        href="https://github.com/jeffe107/taxoflow_tutorial/issues"
1156        target="_blank"
1157        rel="noopener"
1158        class="md-nav__link"
1159      >
1160        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1161          <path
1162            d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 
11621.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"
1163          ></path>
1164        </svg>
1165        GitHub issues
1166      </a>
1167    </li>
1168    <li class="md-nav__item">
1169      <!-- Nextflow docs -->
1170      <a
1171        href="https://nextflow.io/docs/latest/index.html"
1172        target="_blank"
1173        rel="noopener"
1174        class="md-nav__link"
1175      >
1176        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
1177          <path
1178            d="M17.5 14.33c.79 0 1.63.08 2.5.24v1.5c-.62-.16-1.46-.24-2.5-.24-1.9 0-3.39.33-4.5.99v-1.69c1.17-.53 2.67-.8 4.5-.8M13 12.46c1.29-.53 2.79-.79 4.5-.79.79 0 1.63.07 2.5.23v1.5c-.62-.16-1.46-.24-2.5-.24-1.9 0-3.39.34-4.5.99m4.5-3.65c-1.9 0-3.39.32-4.5 1V9.84c1.23-.56 2.73-.84 4.5-.84.79 0 1.63.08 2.5.23v1.55c-.74-.19-1.59-.28-2.5-.28m3.5 8V7c-1.04-.33-2.21-.5-3.5-.5-2.05 0-3.88.5-5.5 1.5v11.5c1.62-1 3.45-1.5 5.5-1.5 1.19 0 2.36.16 3.5.5m-3.5-14c2.35 0 4.19.5 5.5 1.5v14.56c0 .12-.05.24-.16.35-.11.09-.23.17-.34.17-.11 0-.19-.02-.25-.05-1.28-.69-2.87-1.03-4.75-1.03-2.05 0-3.88.5-5.5 1.5-1.34-1-3.17-1.5-5.5-1.5-1.66 0-3.25.36-4.75 1.07-.03.01-.07.01-.12.03-.04.01-.08.02-.13.02-.11 0-.23-.04-.34-.12a.475.475 0 0 1-.16-.35V6c1.34-1 3.18-1.5 5.5-1.5 2.33 0 4.16.5 5.5 1.5 1.34-1 3.17-1.5 5.5-1.5Z"
1179          ></path>
1180        </svg>
1181        Nextflow Docs
1182      </a>
1183    </li>
1184  </ul>
1185</nav>
1186                  </div>
1187                </div>
1188              </div>
1189            
1190          
1191          
1192            <div class="md-content" data-md-component="content">
1193              
1194              <article class="md-content__inner md-typeset">
1195                
1196                  
1197
1198
1199  
1200  
1201
1202
1203  <h1>Precourse preparations</h1>
1204
1205<h2 id="course-goal">Course goal</h2>
1206<p>This is course is designed in two practical parts. In the first part (<strong>Part 2 - single sample</strong>), you will identify key components of the Nextflow dataflow paradigm using a validated pipeline whose purpose is to demonstrate how processes are connected. For the second part (<strong>Part 3 - multi-sample</strong>),  once you are able to establish how data is flowing, you&rsquo;ll <em>collect()</em> the knowledge from Part 1 to extend the pipeline for multi-sample analysis.</p>
1207<p>By the end of the course, you will have constructed/understood a functional workflow implemented in <strong>Nextflow DSL2</strong>, using common features such as processes, channels, modules and configuration profiles. You will also have gained experience running the workflow in a controlled environment, and you will be equipped with the necessary information to execute the pipelines on a High Performance Computing (HPC) environment.</p>
1208<h2 id="background-knowledge">Background knowledge</h2>
1209<p>This workshop assumes learners to have a basic understanding of working with the command line on UNIX-based systems and a <a href="https://github.com/features/codespaces">GitHub Codespaces</a> account.</p>
1210<h3 id="unix">UNIX</h3>
1211<p>You can test your UNIX skills with a quiz <a href="https://docs.google.com/forms/d/e/1FAIpQLSd2BEWeOKLbIRGBT_aDEGPce1FOaVYBbhBiaqcaHoBKNB27MQ/viewform?usp=sf_link">here</a>. If you don&rsquo;t have experience with UNIX command line, or if you are unsure whether you meet the prerequisites, please follow this <a href="https://edu.sib.swiss/pluginfile.php/2878/mod_resource/content/4/couselab-html/content.html">online UNIX tutorial</a>.</p>
1212<h2 id="software">Software</h2>
1213<h3 id="os">OS</h3>
1214<p>This is an OS-agnostic course that requires from only to count with a laptop, a modern browser and a GitHub Codespaces account.</p>
1215<p>All the software needed in this workflow is either:</p>
1216<ul>
1217<li>Already installed in a GitHub Codespaces environment.</li>
1218<li>Already available in Docker containers.</li>
1219<li>Will be installed via containers during today&rsquo;s exercises.</li>
1220</ul>
1221<p>All information of this course is based on the <a href="https://docs.seqera.io/nextflow/">official Nextflow documentation</a> and uses <strong>Nextflow DSL2</strong> syntax.</p>
1222<div class="admonition warning">
1223<p class="admonition-title">Nextflow version</p>
1224<p>This tutorial uses a pinned version of Nextflow (<strong>25.10.4</strong>) with parser <strong>v2</strong>. This is important considering the rapid evolution of Nextflow, thu
1224s ensuring the proper execution of the pipeline.</p>
1225</div>
1226<h3 id="github-codespaces-code-editor">GitHub Codespaces - Code editor</h3>
1227<p>GitHub Codespaces is one of its kind nowadays services as there are really only a few alternative options to replace in case of any problem. It provides a complete self-contained execution environment and connected to an IDE for free! However, the resources are limited on the free tier we will be using for this course. Good news is that it should be sufficient for the purpose of the course, and in normal conditions no one would (hopefully) run out the resources allocated by Codespaces on the free tier.</p>
1228<p>You can start here:</p>
1229<p><a href="https://codespaces.new/jeffe107/taxoflow_tutorial?quickstart=1"><img alt="Open in GitHub Codespaces" src="https://github.com/codespaces/badge.svg" /></a></p>
1230<div class="admonition warning">
1231<p class="admonition-title">Open the link in a new tab</p>
1232</div>
1233<p>This link will open VS code on your browser, and hence it is expected that you are familiar with the layout and basic functionalities VS code has. Otherwise, please check this quick <a href="https://code.visualstudio.com/docs/getstarted/getting-started">tutorial</a> before the course to understand where everything is.</p>
1234<div class="admonition tip">
1235<p class="admonition-title">Setting GitHub Codespaces</p>
1236<p>More information about setting Codespaces on the <a href="../envsetup/01_setup/">Environment setup section</a>.</p>
1237</div>
1238<h4 id="vs-code-video-tutorial">VS code video tutorial</h4>
1239<p>You can find a video tutorial to learn about VS code:</p>
1240<iframe width="560" height="315" src="https://www.youtube.com/embed/1ZfO149BJvg" title="" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen><a href="https://www.ivatech.dev" style="display:none;">website development</a></iframe>
1241
1242<h3 id="alternative-installations">Alternative installations</h3>
1243<p>You can install and execute the pipeline of this tutorial locally using your local VS Code; please follow the <a href="../envsetup/03_devcontainer/">Local Devcontainers setup</a>. If you wish to use an HPC cluster, you will find specific instructions on the <a href="../envsetup/05_HPC/">HPC installation setup</a>. On the other hand, an alternative online computing environment is available through <a href="../envsetup/04_sandbox/">CodeSandbox</a>.</p>
1244<h3 id="pipeline-specific-tools">Pipeline-specific tools</h3>
1245<p>The specific versions of the software used by TaxoFlow are detailed <a href="../course_material/01_pipeline/#1-workflow-design">here</a></p>
1246<h2 id="website-colour-code-explanation">Website colour code explanation</h2>
1247<p>We tried to use a colour code throughout the website to make the different pieces of information easily distinguishable. Here&rsquo;s a quick summary about the colour blocks you will encounter:</p>
1248<div class="admonition info">
1249<p class="admonition-title">This is a supplementary piece of information</p>
1250</div>
1251<div class="admonition tip">
1252<p class="admonition-title">This is a tip to help you advance with the course</p>
1253</div>
1254<div class="admonition success">
1255<p class="admonition-title">This is the output on the console</p>
1256</div>
1257<div class="admonition warning">
1258<p class="admonition-title">This is a warning about a potential problem</p>
1259</div>
1260<div class="admonition abstract">
1261<p class="admonition-title">These are directory contents</p>
1262</div>
1263<div class="admonition bug">
1264<p class="admonition-title">This is an explanation about a common bug/error</p>
1265</div>
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278                
1279              </article>
1280            </div>
1281          
1282          
1283<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
1283
1284        </div>
1285        
1286          <button type="button" class="md-top md-icon" data-md-component="top" hidden>
1287  
1288  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
1289  Back to top
1290</button>
1291        
1292      </main>
1293      
1294        <footer class="md-footer">
1295  
1296    
1297      
1298      <nav class="md-footer__inner md-grid" aria-label="Footer" >
1299        
1300          
1301          <a href=".." class="md-footer__link md-footer__link--prev" aria-label="Previous: Home">
1302            <div class="md-footer__button md-icon">
1303              
1304              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
1305            </div>
1306            <div class="md-footer__title">
1307              <span class="md-footer__direction">
1308                Previous
1309              </span>
1310              <div class="md-ellipsis">
1311                Home
1312              </div>
1313            </div>
1314          </a>
1315        
1316        
1317          
1318          <a href="../00_orientation/" class="md-footer__link md-footer__link--next" aria-label="Next: Orientation">
1319            <div class="md-footer__title">
1320              <span class="md-footer__direction">
1321                Next
1322              </span>
1323              <div class="md-ellipsis">
1324                Orientation
1325              </div>
1326            </div>
1327            <div class="md-footer__button md-icon">
1328              
1329              <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"/></svg>
1330            </div>
1331          </a>
1332        
1333      </nav>
1334    
1335  
1336  <div class="md-footer-meta md-typeset">
1337    <div class="md-footer-meta__inner md-grid">
1338      <div class="md-copyright">
1339  
1340    <div class="md-copyright__highlight">
1341      Copyright &copy; 2021-2026 University of Fribourg - BUGFri <a href="#__consent">Change cookie settings</a>
1342
1343    </div>
1344  
1345  
1346    Made with
1347    <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1348      Material for MkDocs
1349    </a>
1350  
1351</div>
1352      
1353    </div>
1354  </div>
1355</footer>
1356      
1357    </div>
1358    <div class="md-dialog" data-md-component="dialog">
1359      <div class="md-dialog__inner md-typeset"></div>
1360    </div>
1361    
1362    
1363      <div class="md-consent" data-md-component="consent" id="__consent" hidden>
1364        <div class="md-consent__overlay"></div>
1365        <aside class="md-consent__inner">
1366          <form class="md-consent__form md-grid md-typeset" name="consent">
1367            
1368
1369
1370  
1371
1372
1373<h4>Cookie consent</h4>
1374<p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our trainig material and whether users find what they're searching for. With your consent, you're helping us to make our training material better.</p>
1375<input class="md-toggle" type="checkbox" id="__settings" >
1376<div class="md-consent__settings">
1377  <ul class="task-list">
1378    
1379    
1380      
1381    
1382    
1383      
1384        
1385  
1386  
1387    
1388    
1389  
1390  <li class="task-list-item">
1391    <label class="task-list-control">
1392      <input type="checkbox" name="github" checked>
1393      <span class="task-list-indicator"></span>
1394      GitHub
1395    </label>
1396  </li>
1397
1398      
1399    
1400    
1401      
1402        
1403  
1404  
1405    
1406    
1407  
1408  <li class="task-list-item">
1409    <label class="task-list-control">
1410      <input type="checkbox" name="matomo" checked>
1411      <span class="task-list-indicator"></span>
1412      Matomo Analytics
1413    </label>
1414  </li>
1415
1416      
1417    
1418  </ul>
1419</div>
1420<div class="md-consent__controls">
1421  
1422    
1423      <button class="md-button md-button--primary">Accept</button>
1424    
1425    
1426    
1427  
1428    
1429    
1430    
1431      <label class="md-button" for="__settings">Manage settings</label>
1432    
1433  
1434</div>
1435          </form>
1436        </aside>
1437      </div>
1438      
1438<script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
1438
1439    
1440    
1441      
1442      
1443      
1443<script id="__config" type="application/json">{"annotate": null, "base": "..", "features": ["announce.dismiss", "content.code.copy", "navigation.top", "navigation.footer"], "search": "../assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
1443
1444    
1445    
1446      
1446<script src="../assets/javascripts/bundle.79ae519e.min.js"></script>
1446
1447      
1448        
1448<script src="../javascripts/consent.js"></script>
1448
1449      
1450    
1451  </body>
1452</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.