1<!DOCTYPE HTML> 2<html lang="en" class="light sidebar-visible" dir="ltr"> 3 <head> 4 <!-- Book generated using mdBook --> 5 <meta charset="UTF-8"> 6 <title>Glossary - Rastair</title> 7 8 9 <!-- Custom HTML head --> 10 <link rel="stylesheet" id="silktide-consent-manager-css" href="theme/silktide-consent-manager.css"> 11
11<script src="theme/silktide-consent-manager.js"></script>
11 12
12<script> 13 silktideCookieBannerManager.updateCookieBannerConfig({ 14 background: { 15 showBackground: false 16 }, 17 cookieIcon: { 18 position: "bottomLeft" 19 }, 20 cookieTypes: [ 21 { 22 id: "analytics", 23 name: "Analytics", 24 description: "<p>We use Google Analytics to measure how many people visit this page. This data is not used for advertising, only to give us insights into how many researchers are interested in rastair. This might help us with grant applications to justify that we're serving the community.</p>", 25 required: false, 26 onAccept: function() { 27 gtag('consent', 'update', { 28 analytics_storage: 'granted', 29 }); 30 dataLayer.push({ 31 'event': 'consent_accepted_analytics', 32 }); 33 }, 34 onReject: function() { 35 gtag('consent', 'update', { 36 analytics_storage: 'denied', 37 }); 38 } 39 } 40 ], 41 text: { 42 banner: { 43 description: "<p>We use Google analytics to measure engagement with rastair, not to serve advertisements. This helps us demonstrate that we serve the scientific community. If you would prefer not to be counted, you can safely reject cookies here.</p>", 44 acceptAllButtonText: "Accept", 45 acceptAllButtonAccessibleLabel: "Accept cookies", 46 rejectNonEssentialButtonText: "Reject", 47 rejectNonEssentialButtonAccessibleLabel: "Reject tracking", 48 preferencesButtonText: "Preferences", 49 preferencesButtonAccessibleLabel: "Toggle preferences" 50 }, 51 preferences: { 52 title: "Customize your cookie preferences", 53 description: "<p>We respect your right to privacy. You can choose not to allow some types of cookies. Your cookie preferences will apply across our website.</p>", 54 creditLinkText: "Get this banner for free", 55 creditLinkAccessibleLabel: "Get this banner for free" 56 } 57 } 58 }); 59 </script>
59 60 61 62 <!-- Google tag (gtag.js) + Consent Mode --> 63
63<script> 64 // Create gtag stub immediately (so consent signals queue before gtag.js loads) 65 window.dataLayer = window.dataLayer || []; 66 function gtag(){ dataLayer.push(arguments); } 67 68 // Default: deny analytics storage until the user consents (typical GDPR/UK approach) 69 gtag('consent', 'default', { 70 analytics_storage: 'denied', 71 // Optional but recommended: wait briefly for the banner choice before firing tags 72 wait_for_update: 500 73 }); 74 </script>
vendor: 81 bytes, lines 74-76
74 75 76 <script async src="https://www.googletagmanager.com/gtag/js?id=
76G-QXG3E5BT9L
vendor: 20 bytes, lines 76-77
76"></script> 77
77<script> 78 gtag('js', new Date()); 79 gtag('config', 'G-QXG3E5BT9L'); 80 </script>
80 81 <meta name="description" content="Rastair is a command-line tool to process epigentic sequencing data. It can call genetic variants and DNA methylation simultaneously from Illumina⢠5base and TAPS+."> 82 <meta name="viewport" content="width=device-width, initial-scale=1"> 83 <meta name="theme-color" content="#ffffff"> 84 85 <link rel="icon" href="favicon.svg"> 86 <link rel="shortcut icon" href="favicon.png"> 87 <link rel="stylesheet" href="css/variables.css"> 88 <link rel="stylesheet" href="css/general.css"> 89 <link rel="stylesheet" href="css/chrome.css"> 90 <link rel="stylesheet" href="css/print.css" media="print"> 91 92 <!-- Fonts --> 93 <link rel="stylesheet" href="FontAwesome/css/font-awesome.css"> 94 <link rel="stylesheet" href="fonts/fonts.css"> 95 96 <!-- Highlight.js Stylesheets --> 97 <link rel="stylesheet" id="highlight-css" href="highlight.css"> 98 <link rel="stylesheet" id="tomorrow-night-css" href="tomorrow-night.css"> 99 <link rel="stylesheet" id="ayu-highlight-css" href="ayu-highlight.css"> 100 101 <!-- Custom theme stylesheets --> 102 <link rel="stylesheet" href="theme/custom.css"> 103 <link rel="stylesheet" href="theme/mdbook-admonish.css"> 104 <link rel="stylesheet" href="theme/silktide-consent-manager.css"> 105 106 107 <!-- Provide site root and default themes to javascript --> 108
108<script> 109 const path_to_root = ""; 110 const default_light_theme = "light"; 111 const default_dark_theme = "navy"; 112 window.path_to_searchindex_js = "searchindex.js"; 113 </script>
113 114 <!-- Start loading toc.js asap --> 115
115<script src="toc.js"></script>
115 116 </head> 117 <body> 118 <div id="mdbook-help-container"> 119 <div id="mdbook-help-popup"> 120 <h2 class="mdbook-help-title">Keyboard shortcuts</h2> 121 <div> 122 <p>Press <kbd>â</kbd> or <kbd>â</kbd> to navigate between chapters</p> 123 <p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p> 124 <p>Press <kbd>?</kbd> to show this help</p> 125 <p>Press <kbd>Esc</kbd> to hide this help</p> 126 </div> 127 </div> 128 </div> 129 <div id="body-container"> 130 <!-- Work around some values being stored in localStorage wrapped in quotes --> 131
131<script> 132 try { 133 let theme = localStorage.getItem('mdbook-theme'); 134 let sidebar = localStorage.getItem('mdbook-sidebar'); 135 136 if (theme.startsWith('"') && theme.endsWith('"')) { 137 localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1)); 138 } 139 140 if (sidebar.startsWith('"') && sidebar.endsWith('"')) { 141 localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1)); 142 } 143 } catch (e) { } 144 </script>
144 145 146 <!-- Set the theme before any content is loaded, prevents flash --> 147
147<script> 148 const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme; 149 let theme; 150 try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { } 151 if (theme === null || theme === undefined) { theme = default_theme; } 152 const html = document.documentElement; 153 html.classList.remove('light') 154 html.classList.add(theme); 155 html.classList.add("js"); 156 </script>
156 157 158 <input type="checkbox" id="sidebar-toggle-anchor" class="hidden"> 159 160 <!-- Hide / unhide sidebar before it is displayed --> 161
161<script> 162 let sidebar = null; 163 const sidebar_toggle = document.getElementById("sidebar-toggle-anchor"); 164 if (document.body.clientWidth >= 1080) { 165 try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { } 166 sidebar = sidebar || 'visible'; 167 } else { 168 sidebar = 'hidden'; 169 sidebar_toggle.checked = false; 170 } 171 if (sidebar === 'visible') { 172 sidebar_toggle.checked = true; 173 } else { 174 html.classList.remove('sidebar-visible'); 175 } 176 </script>
176 177 178 <nav id="sidebar" class="sidebar" aria-label="Table of contents"> 179 <!-- populated by js --> 180 <mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox> 181 <noscript> 182 <iframe class="sidebar-iframe-outer" src="toc.html"></iframe> 183 </noscript> 184 <div id="sidebar-resize-handle" class="sidebar-resize-handle"> 185 <div class="sidebar-resize-indicator"></div> 186 </div> 187 </nav> 188 189 <div id="page-wrapper" class="page-wrapper"> 190 191 <div class="page"> 192 <div id="menu-bar-hover-placeholder"></div> 193 <div id="menu-bar" class="menu-bar sticky"> 194 <div class="left-buttons"> 195 <label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar"> 196 <i class="fa fa-bars"></i> 197 </label> 198 <button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list"> 199 <i class="fa fa-paint-brush"></i> 200 </button> 201 <ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu"> 202 <li role="none"><button role="menuitem" class="theme" id="default_theme">Auto</button></li> 203 <li role="none"><button role="menuitem" class="theme" id="light">Light</button></li> 204 <li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li> 205 <li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li> 206 <li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li> 207 <li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li> 208 </ul> 209 <button id="search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="searchbar"> 210 <i class="fa fa-search"></i> 211 </button> 212 </div> 213 214 <h1 class="menu-title">Rastair</h1> 215 216 <div class="right-buttons"> 217 <a href="print.html" title="Print this book" aria-label="Print this book"> 218 <i id="print-button" class="fa fa-print"></i> 219 </a> 220 <a href="https://github.com/bsbludwig/rastair" title="Git repository" aria-label="Git repository"> 221 <i id="git-repository-button" class="fa fa-github"></i> 222 </a> 223 224 </div> 225 </div> 226 227 <div id="search-wrapper" class="hidden"> 228 <form id="searchbar-outer" class="searchbar-outer"> 229 <div class="search-wrapper"> 230 <input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header"> 231 <div class="spinner-wrapper"> 232 <i class="fa fa-spinner fa-spin"></i> 233 </div> 234 </div> 235 </form> 236 <div id="searchresults-outer" class="searchresults-outer hidden"> 237 <div id="searchresults-header" class="searchresults-header"></div> 238 <ul id="searchresults"> 239 </ul> 240 </div> 241 </div> 242 243 <!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM --> 244
244<script> 245 document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible'); 246 document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible'); 247 Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) { 248 link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1); 249 }); 250 </script>
250 251 252 <div id="content" class="content"> 253 <main> 254 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"> 255<h1 id="glossary"><a class="header" href="#glossary">Glossary</a></h1> 256<h2 id="file-formats"><a class="header" href="#file-formats">File Formats</a></h2> 257<h3 id="entry--SAM"><a class="header" href="#entry--SAM"><strong>SAM</strong> â Sequence Alignment Map</a></h3> 258<p>A text-based file format that stores sequence data in a tab-delimited format. <a href="https://samtools.github.io/hts-specs/SAMv1.pdf">Format Specification for version 1.0</a>. It is used to store the alignment of sequence reads to a <a href="glossary.html#entry--referenceGenome">reference genome</a>. SAM files are used to visualize and analyze sequence data in genome browsers like <a href="glossary.html#entry--IGV" title="Integrative Genomics Viewer">IGV</a>.</p> 259<p>Additional keys are defined in the <a href="https://samtools.github.io/hts-specs/SAMtags.pdf">Optional Fields Specification</a>.</p> 260<h3 id="entry--BAM"><a class="header" href="#entry--BAM"><strong>BAM</strong> â Binary Alignment Map</a></h3> 261<p>A binary version of the <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> file format. It is a compressed, indexed, and binary representation of the sequence alignment data. BAM files are used to store sequence data efficiently. They can be visualized and analyzed in genome browsers like <a href="glossary.html#entry--IGV" title="Integrative Genomics Viewer">IGV</a>.</p> 262<h3 id="entry--CRAM"><a class="header" href="#entry--CRAM"><strong>CRAM</strong> â Compressed Reference-oriented Alignment Map</a></h3> 263<p>A variant of the <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a>/<a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> file format that reduces file size by only saving differences to a fixed reference sequence.</p> 264<h3 id="entry--BED"><a class="header" href="#entry--BED"><strong>BED</strong> â Browser Extensible Data</a></h3> 265<p>A tab-separated-file format that stores genomic regions as a list of intervals.</p> 266<p>It looks like this:</p> 267<pre><code>chr1 11873 12227 ENSG00000223972.5 0 + 268chr1 12612 12721 ENSG00000227232.5 0 - 269chr1 13220 14409 ENSG00000278267.1 0 + 270</code></pre> 271<p>The first three columns represent the chromosome, start position, and end position of the interval. The other columns contain additional information about the interval. Importantly, the start position in a bed file is 0-based, and the end position refers to the first base that is outside the interval. So, to refer to the first base of chromosome 1, one would write</p> 272<pre><code>chr1 0 1 Interval_of_length_1 273</code></pre> 274<h3 id="entry--VCF"><a class="header" href="#entry--VCF"><strong>VCF</strong> â Variant Call Format</a></h3> 275<p>Tab-separated-file format that stores information about genetic variants. <a href="https://samtools.github.io/hts-specs/VCFv4.5.pdf">Format Specification for VCFv4.5</a>. It is used to represent SNPs, insertions, deletions, and other types of genetic variations. VCF files contain information about the variant's position, <a href="glossary.html#entry--refAllele">reference allele</a>, <a href="glossary.html#entry--altAllele">alternative allele</a>, quality score, and other annotations.</p> 276<p>It looks like this:</p> 277<pre><code>#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT sample1 sample2 278chr1 10001 . A C 30 PASS . GT:DP 0/1:10 1/1:20 279chr1 10002 . T G 20 PASS . GT:DP 0/1:15 1/1:25 280</code></pre> 281<p>The first row contains the column headers. The first eight columns are mandatory fields that describe the variant. The remaining columns contain information about the samples and their genotypes. Importantly, unlike in <a href="glossary.html#entry--BED" title="Browser Extensible Data">BED</a>, the position column in VCF files is 1-based.</p> 282<h3 id="entry--FASTA"><a class="header" href="#entry--FASTA"><strong>FASTA</strong></a></h3> 283<p>A text-based file format for storing nucleotide or protein sequences. Each record consists of a header line starting with <code>></code>, followed by one or more lines of sequence. Rastair uses FASTA files to store the <a href="glossary.html#entry--referenceGenome">reference genome</a> sequence, indexed with <code>
283samtools faidx</code> for efficient random access.</p> 284<h3 id="entry--FASTQ"><a class="header" href="#entry--FASTQ"><strong>FASTQ</strong></a></h3> 285<p>A text-based file format that stores DNA or RNA sequences, optionally with corresponding quality scores such as produced by most sequencing machines. It is used to store raw sequencing data from high-throughput sequencing experiments. FASTQ files contain the sequence data in the form of nucleotide bases (A, T, C, G) and <a href="glossary.html#entry--Phred-scaled">Phred-scaled</a> quality scores that represent the confidence in each base call.</p> 286<h3 id="entry--BCF"><a class="header" href="#entry--BCF"><strong>BCF</strong> â Binary Call Format</a></h3> 287<p>A binary version of the <a href="glossary.html#entry--VCF" title="Variant Call Format">VCF</a> file format. It stores variant calls in a compressed and indexed binary format. BCF files are more efficient for storing large variant datasets and can be used with tools like <a href="glossary.html#entry--bcftools">BCFtools</a>.</p> 288<h3 id="entry--BGZF"><a class="header" href="#entry--BGZF"><strong>BGZF</strong> â Blocked GNU Zip Format</a></h3> 289<p>A block compression format in which the input file is compressed as a series of GZIP-compressed blocks that can be indexed for efficient random access.</p> 290<h3 id="entry--qname"><a class="header" href="#entry--qname"><strong>qname</strong> â query template name</a></h3> 291<p>A unique identifier for a sequence <a href="glossary.html#entry--read" title="sequence read">read</a> in a <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> or <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> file. It is used to track the origin of the read and link it to other information in the file. Example: <code>NB502094:69:HN2H2BGX5:2:21111:24699:8526</code></p> 292<h2 id="genetics"><a class="header" href="#genetics">Genetics</a></h2> 293<h3 id="entry--TAPS"><a class="header" href="#entry--TAPS"><strong>TAPS</strong> â TET-Assisted Pyridine-Borane Sequencing</a></h3> 294<p>A method for detecting DNA modifications, such as <a href="glossary.html#entry--methylation">methylation</a>, at single-base resolution. TAPS uses a chemical reaction to convert 5-methylcytosine (5mC) to thymine (T) while leaving unmodified cytosines unchanged. Allows the detection of 5mC sites using standard sequencing technologies. Alternative to <a href="glossary.html#entry--bisulfite">bisulfite</a> sequencing, which can introduce biases and artifacts during the conversion process. You can read more about it <a href="https://en.wikipedia.org/wiki/TET-assisted_pyridine_borane_sequencing">here</a>.</p> 295<h3 id="entry--5Base"><a class="header" href="#entry--5Base"><strong>5Base</strong> â Illumina 5-Base sequencing</a></h3> 296<p>Illumina launched a chemistry that uses a custom enzyme to convert methylated (and hydroxymethylated) cytosine to thymine. The resulting data look very similar to TAPS data. Read more <a href="https://www.illumina.com/science/genomics-research/articles/5-base-solution.html">here</a>.</p> 297<h3 id="entry--bisulfite"><a class="header" href="#entry--bisulfite"><strong>bisulfite</strong></a></h3> 298<p>A chemical treatment that converts only <em>unmethylated</em> cytosines to uracil in DNA. Used in bisulfite sequencing to detect DNA <a href="glossary.html#entry--methylation">methylation</a> patterns.</p> 299<h3 id="entry--variant"><a class="header" href="#entry--variant"><strong>variant</strong></a></h3> 300<p>A genomic locus that differs from the given <a href="glossary.html#entry--referenceGenome">reference genome</a>. Variants can be <a href="glossary.html#entry--SNV" title="Single Nucleotide Variant">SNVs</a>, insertions, deletions, or structural changes.</p> 301<h3 id="entry--allele"><a class="header" href="#entry--allele"><strong>allele</strong></a></h3> 302<p>In cells with more than one homologous chromosomes, an allele refers to each of the observed sequences. In particular, a diploid genome will have two alleles per autosomal position.</p> 303<h3 id="entry--refAllele"><a class="header" href="#entry--refAllele"><strong>reference allele</strong></a></h3> 304<p><a href="glossary.html#entry--allele">allele</a> that matches the <a href="glossary.html#entry--referenceGenome">reference genome</a> at a specific <a href="glossary.html#entry--locus">locus</a>. Opposite to <a href="glossary.html#entry--altAllele">alternative allele</a>.</p> 305<h3 id="entry--altAllele"><a class="header" href="#entry--altAllele"><strong>alternative allele</strong></a></h3> 306<p><a href="glossary.html#entry--allele">allele</a> that is different from the <a href="glossary.html#entry--refAllele">reference allele</a> at a specific <a href="glossary.html#entry--locus">locus</a>. Opposite to <a href="glossary.html#entry--refAllele">reference allele</a>.</p> 307<h3 id="entry--referenceGenome"><a class="header" href="#entry--referenceGenome"><strong>reference genome</strong></a></h3> 308<p>Sequence of the species' genome that is used as a reference for comparing and analyzing genetic data. In particular, most al
308ignment algorithms will use a reference genome to map reads to.</p> 309<h3 id="entry--haplotype"><a class="header" href="#entry--haplotype"><strong>haplotype</strong></a></h3> 310<p>A haplotype is a set of <a href="glossary.html#entry--variant">variants</a> that co-occur on the same chromosome sequence, and are therefore linked.</p> 311<h3 id="entry--methylation"><a class="header" href="#entry--methylation"><strong>methylation</strong></a></h3> 312<p>Cytosine methylation is the enzymatic addition of a methyl group to cytosine by DNA methyltransferases. In animals, DNA methylation occurs at <a href="glossary.html#entry--CpG" title="Cytosine-phosphate-Guanine">CpG</a> dinucleotides.</p> 313<h3 id="entry--methylated"><a class="header" href="#entry--methylated"><strong>methylated</strong></a></h3> 314<p>Refers to a base that has undergone <a href="glossary.html#entry--methylation">methylation</a>.</p> 315<h3 id="entry--SNV"><a class="header" href="#entry--SNV"><strong>SNV</strong> â Single Nucleotide Variant</a></h3> 316<p>A variation in a single nucleotide that occurs at a specific position in the genome. SNV is commonly used to refer to somatic variation, <em>ie.</em> a difference between <em>eg.</em> a cancer and its host.</p> 317<h3 id="entry--SNP"><a class="header" href="#entry--SNP"><strong>SNP</strong> â Single Nucleotide Polymorphism</a></h3> 318<p>Formally, a SNP is a <a href="glossary.html#entry--variant">variant</a> that occurs at a given minimum frequency in the population. However, it is nowadays often used to refer to any inherited <a href="glossary.html#entry--variant">variant</a> in an individual.</p> 319<h3 id="entry--locus"><a class="header" href="#entry--locus"><strong>locus</strong></a></h3> 320<p>A specific position on a chromosome, for example the position of a <a href="glossary.html#entry--variant">variant</a> in the genome.</p> 321<h3 id="entry--assay"><a class="header" href="#entry--assay"><strong>assay</strong></a></h3> 322<p>A test or procedure used to measure a specific property or characteristic of a sample. In genetics, assays are used to detect and measure genetic variations, gene expression levels, protein interactions, and other biological processes.</p> 323<h3 id="entry--GIAB"><a class="header" href="#entry--GIAB"><strong>GIAB</strong> â Genome In a Bottle</a></h3> 324<p>"A public-private-academic consortium hosted by NIST to develop the technical infrastructure (reference standards, reference methods, and reference data) to enable translation of whole human genome sequencing to clinical practice and innovations in technologies." -- <a href="https://www.nist.gov/programs-projects/genome-bottle">nist.gov</a></p> 325<h3 id="entry--DiploidGenome"><a class="header" href="#entry--DiploidGenome"><strong>diploid genome</strong></a></h3> 326<p>Genome that contains two sets of chromosome:pl, one set inherited from each parent.</p> 327<h3 id="entry--indel"><a class="header" href="#entry--indel"><strong>indel</strong> â insertion/deletion</a></h3> 328<p>Variation in the genome where a small number of nucleotides are inserted or deleted.</p> 329<h3 id="entry--CpG"><a class="header" href="#entry--CpG"><strong>CpG</strong> â Cytosine-phosphate-Guanine</a></h3> 330<p>A site in the DNA sequence where a cytosine nucleotide is followed by a guanine nucleotide in the linear sequence of bases along its 5' â 3' direction. CpG sites are often associated with gene regulation through DNA <a href="glossary.html#entry--methylation">methylation</a>.</p> 331<h3 id="entry--VAF"><a class="header" href="#entry--VAF"><strong>VAF</strong> â Variant Allele Frequency</a></h3> 332<p>The proportion of observations of a specific <a href="glossary.html#entry--altAllele">alternative allele</a> in a sample, compared to the total number of observations <a href="glossary.html#entry--locus">locus</a>:</p> 333<p><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord text"><span class="mord">VAF</span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:1.4133em;vertical-align:-0.4811em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.9322em;"><span style="top:-2.655em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord text mtight"><span class="mord mtight">Total reads covering the site</span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.4461em;"><span class="pstrut" style="height:3em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight"><span class="mord text mtight"><span class="mord mtight">Reads supporting the variant allele</span></span></span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.4811em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></p>
334<h3 id="entry--denovo"><a class="header" href="#entry--denovo"><strong>de-novo CpG</strong></a></h3> 335<p>A <a href="glossary.html#entry--CpG" title="Cytosine-phosphate-Guanine">CpG</a> site that is not present in the <a href="glossary.html#entry--referenceGenome">reference genome</a> but seems to occur in the sample when there is a variant that turns a <code>NG</code> (or a <code>CN</code>) into a <code>CG</code>.</p> 336<h2 id="programming"><a class="header" href="#programming">Programming</a></h2> 337<h3 id="entry--Rust"><a class="header" href="#entry--Rust"><strong>Rust</strong></a></h3> 338<p>A systems programming language, known for its safety, speed, and concurrency.</p> 339<h3 id="entry--CLI"><a class="header" href="#entry--CLI"><strong>CLI</strong> â Command Line Interface</a></h3> 340<p>Terminal-based interface for interacting with software using text commands.</p> 341<h3 id="entry--LLVM"><a class="header" href="#entry--LLVM"><strong>LLVM</strong></a></h3> 342<p>Compiler infrastructure project, used as backend for various programming languages including the official <a href="glossary.html#entry--Rust">Rust</a> compiler.</p> 343<h3 id="entry--closure"><a class="header" href="#entry--closure"><strong>closure</strong></a></h3> 344<p>A function that "closes over" bindings in the surrounding scope, i.e., variables from around its definition location are accessible inside of it.</p> 345<h3 id="entry--flamegraph"><a class="header" href="#entry--flamegraph"><strong>flamegraph</strong></a></h3> 346<p>A visualization of profiled software, allowing the user to see which functions are consuming the most time. The x-axis represents the stack depth, and the y-axis represents the function name. The width of each box represents the amount of time spent in that function. @gregg2016flame</p> 347<h3 id="entry--LTO"><a class="header" href="#entry--LTO"><strong>LTO</strong> â Link Time Optimization</a></h3> 348<p>A compiler optimization technique that performs optimizations across the entire program at link time, rather than at compile time. This can lead to improved performance and reduced code size.</p> 349<h3 id="entry--CI"><a class="header" href="#entry--CI"><strong>CI</strong> â Continuous Integration</a></h3> 350<p>A software development practice where automated tests and builds are run on a regular basis (e.g. on every push to the repository) to ensure that code changes do not introduce new bugs or issues.</p> 351<h3 id="entry--PGO"><a class="header" href="#entry--PGO"><strong>PGO</strong> â Profile-Guided Optimization</a></h3> 352<p>A compiler optimization technique that uses profiling information from previous runs of the program to optimize the code for better performance. This can lead to improved runtime performance and reduced code size.</p> 353<h3 id="entry--STDOUT"><a class="header" href="#entry--STDOUT"><strong><code>stdout</code></strong> â standard output</a></h3> 354<p>The default program output for terminal applications, which streams it either to the terminal or the next program in a pipeline.</p> 355<p>For example, when running <code>ls -l | grep "myfile"</code>, <code>ls -l</code> sends its output to the standard output, which is then piped to <code>grep</code> to filter for lines containing "myfile".</p> 356<h3 id="entry--GPU"><a class="header" href="#entry--GPU"><strong>GPU</strong> â Graphics Processing Unit</a></h3> 357<p>Graphics processor, originally designed for rendering graphics, but increasingly used for general-purpose computing due to its ability to perform parallel computations efficiently. GPUs are commonly used in machine learning, scientific simulations, and other computationally intensive tasks.</p> 358<h3 id="entry--Vulkan"><a class="header" href="#entry--Vulkan"><strong>Vulkan</strong></a></h3> 359<p>A graphics and compute API that provides high-performance access to modern GPUs. It is designed to be cross-platform and is used for developing applications that require high-performance graphics and compute capabilities, such as video games, scientific simulations, and machine learning.</p> 360<h2 id="sequence-analysis"><a class="header" href="#sequence-analysis">Sequence Analysis</a></h2> 361<h3 id="entry--CIGAR"><a class="header" href="#entry--CIGAR"><strong>CIGAR</strong> â Compact Idiosyncratic Gapped Alignment Report</a></h3> 362<p>A string that represents the alignment of a sequence read to a <a href="glossary.html#entry--referenceGenome">reference genome</a>. It encodes information about the alignment, including matches, mismatches, insertions, deleti
362ons, and skips. It is used in the <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> and <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> file formats.</p> 363<h3 id="entry--mapQ"><a class="header" href="#entry--mapQ"><strong>mapQ</strong> â mapping quality</a></h3> 364<p>A <a href="glossary.html#entry--Phred-scaled">Phred-scaled</a> probability that the mapping position of a read is incorrect. A higher mapping quality indicates a more reliable alignment. Numbers are typically between 0 and 60.</p> 365<h3 id="entry--baseQ"><a class="header" href="#entry--baseQ"><strong>baseQ</strong> â base quality</a></h3> 366<p>A <a href="glossary.html#entry--Phred-scaled">Phred-scaled</a> probability that the base call is incorrect. A higher base quality indicates a more reliable base call. Numbers are typically between 0 and 40.</p> 367<h3 id="entry--OT"><a class="header" href="#entry--OT"><strong>OT</strong> â Original Top</a></h3> 368<p>The "original top" of the DNA fragment that was sequenced. The "top" by definition is the sequence that matches the reference sequence.</p> 369<h3 id="entry--OB"><a class="header" href="#entry--OB"><strong>OB</strong> â Original Bottom</a></h3> 370<p>The "original bottom" of the DNA fragment that was sequenced.</p> 371<h3 id="entry--record"><a class="header" href="#entry--record"><strong>record</strong></a></h3> 372<p>Alternative term for <a href="glossary.html#entry--read" title="sequence read">read</a>.</p> 373<h3 id="entry--read"><a class="header" href="#entry--read"><strong>read</strong> â sequence read</a></h3> 374<p>A sequence of DNA or RNA that is generated by a high-throughput sequencing technology. In "short-read sequencing", they are typically between a few dozen and a few hundred base pairs long.</p> 375<h3 id="entry--alignment"><a class="header" href="#entry--alignment"><strong>alignment</strong></a></h3> 376<p>Represents the position and base-to-base mapping of a sequence <a href="glossary.html#entry--read" title="sequence read">read</a> to a <a href="glossary.html#entry--referenceGenome">reference genome</a>.</p> 377<h3 id="entry--pileup"><a class="header" href="#entry--pileup"><strong>pileup</strong></a></h3> 378<p>A summary of the read alignments at a specific position in the <a href="glossary.html#entry--referenceGenome">reference genome</a> in <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> and <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> files. As a data structure, a pileup is a matrix where each row represents a <a href="glossary.html#entry--read" title="sequence read">read</a> and each column represents a position in the <a href="glossary.html#entry--referenceGenome">reference genome</a>. From this, the most likely base at that position can be inferred and used to call variants.</p> 379<h2 id="statistics"><a class="header" href="#statistics">Statistics</a></h2> 380<h3 id="entry--RMS"><a class="header" href="#entry--RMS"><strong>RMS</strong> â Root Mean Square</a></h3> 381<p>Statistical measure of the average deviation of a set of values from their mean.</p> 382<h3 id="entry--ChiSquare"><a class="header" href="#entry--ChiSquare"><strong>Chi-square test</strong></a></h3> 383<p>Determine whether there is a significant association between the observed frequencies of the variables with the expected frequencies to assess the independence of the variables.</p> 384<p>The test statistic is calculated as the sum of the squared differences between the observed and expected frequencies, divided by the expected frequencies. The resulting value is compared to a critical value from the Chi-square distribution to determine statistical significance: 385<span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1.0585em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">Ï</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8641em;"><span style="top:-3.113em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:2.7688em;vertical-align:-1.2777em;"></span><span class="mop op-limits"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.05em;"><span style="top:-1.8723em;margin-left:0em;"><span class="pstrut" style="height:3.05em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span><span style="top:-3.05em;"><span class="pstrut" style="height:3.05em;"></span><span><span class="mop op-symbol large-op">â</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:1.2777em;"><span></span></span></span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord"><span class="mopen nulldelimiter"></span><span class="mfrac"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.4911em;"><span style="top:-2.314em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord"><span class="mord mathnormal" style="margin-right:0.05764em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span><span style="top:-3.23em;"><span class="pstrut" style="height:3em;"></span><span class="frac-line" style="border-bottom-width:0.04em;"></span></span><span style="top:-3.677em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mopen">(</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">â</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.05764em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span><span class="mclose"><span class="mclose">)</span><span class="msupsub"><span class="vlist-t"><span class="vlist-r"><span class="vlist" style="height:0.8141em;"><span style="top:-3.063em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">2</span></span></span></span></span></span></span></span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.836em;"><span></span></span></span></span></span><span class="mclose nulldelimiter"></span></span></span></span></span></span> 386where <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.02778em;">O</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> is the observed frequency, <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8333em;vertical-align:-0.15em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.05764em;">E</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3117em;"><span style="top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"></span><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">i</span></span></span></span><span class="vlist-s">â</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span> is the expected frequency, and the sum is taken over all categories.</p> 387<p>The Chi-square test is commonly used in genetics to assess the association between genetic variants and phenotypes, as well as in population genetics to test for deviations from Hardy-Weinberg equilibrium, which describes the expected frequencies of genotypes in a population under certain assumptions.</p> 388<h3 id="entry--RandomForest"><a class="header" href="#entry--RandomForest"><strong>RF</strong> â Random Forest</a></h3> 389<p>Supervised learning algorithm, used for classification and regression.</p> 390<h3 id="entry--ML"><a class="header" href="#entry--ML"><strong>ML</strong> â Machine Learning</a></h3> 391<p>Algorithms that can receive input data and use statistical analysis to predict an output value within an acceptable range.</p> 392<h3 id="entry--Phred-scaled"><a class="header" href="#entry--Phred-scaled"><strong>Phred-scaled</strong></a></h3> 393<p>A Phred-scaled quality score is a logarithmic measure of the probability that a base call is incorrect. The formula
393is <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord mathnormal">Q</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="mrel">=</span><span class="mspace" style="margin-right:0.2778em;"></span></span><span class="base"><span class="strut" style="height:0.7278em;vertical-align:-0.0833em;"></span><span class="mord">â</span><span class="mord">10</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="mbin">â </span><span class="mspace" style="margin-right:0.2222em;"></span></span><span class="base"><span class="strut" style="height:0.8889em;vertical-align:-0.1944em;"></span><span class="mop">lo<span style="margin-right:0.01389em;">g</span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">P</span></span></span></span> where <span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6833em;"></span><span class="mord mathnormal" style="margin-right:0.13889em;">P</span></span></span></span> is the probability of an incorrect base call. A higher Phred score indicates a more reliable base call. The name "Phred" comes from the base calling software of the same name.</p> 394<h3 id="entry--maximumLikelihood"><a class="header" href="#entry--maximumLikelihood"><strong>maximum likelihood</strong></a></h3> 395<p>A method used to estimate the parameters of a statistical model. It finds the parameter values that maximize the likelihood of the observed data. The maximum likelihood estimate is the set of parameter values that make the observed data most probable. It is a common method for fitting models to data in statistics and machine learning.</p> 396<h2 id="tools"><a class="header" href="#tools">Tools</a></h2> 397<h3 id="entry--samtools"><a class="header" href="#entry--samtools"><strong>SAMtools</strong></a></h3> 398<p>A <a href="https://www.htslib.org/doc/samtools.html">suite of utilities</a> for manipulating <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> and <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a>. It can manipulate <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> and <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> files.</p> 399<h3 id="entry--bcftools"><a class="header" href="#entry--bcftools"><strong>BCFtools</strong></a></h3> 400<p>A <a href="https://samtools.github.io/bcftools/bcftools.html">set of utilities</a> for manipulating variant calls in the <a href="glossary.html#entry--VCF" title="Variant Call Format">VCF</a> and BCF file formats.</p> 401<h3 id="entry--bedtools"><a class="header" href="#entry--bedtools"><strong>BEDtools</strong></a></h3> 402<p>A popular <a href="https://bedtools.readthedocs.io/en/latest/">suite of utilities</a> for manipulating genomic intervals stored in <a href="glossary.html#entry--BED" title="Browser Extensible Data">BED</a> files.</p> 403<h3 id="entry--GATK"><a class="header" href="#entry--GATK"><strong>GATK</strong> â Genome Analysis Toolkit</a></h3> 404<p>A <a href="https://gatk.broadinstitute.org">software package</a> for analyzing sequencing data with tools for variant discovery, genotyping, and other analyses.</p> 405<h3 id="entry--IGV"><a class="header" href="#entry--IGV"><strong>IGV</strong> â Integrative Genomics Viewer</a></h3> 406<p>A <a href="https://igv.org/">tool for interactive exploration</a> of <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a> and <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> files. 407Also see @screenshot-igv.</p> 408<h3 id="entry--bwa2-aligner"><a class="header" href="#entry--bwa2-aligner"><strong>BWA</strong> â Burrows-Wheeler Aligner</a></h3> 409<p>A <a href="https://github.com/bwa-mem2/bwa-mem2">sequence alignment program</a> for mapping low-divergent sequences against a large <a href="glossary.html#entry--referenceGenome">reference genome</a>.</p> 410<h3 id="entry--Minimap2"><a class="header" href="#entry--Minimap2"><strong>Minimap2</strong></a></h3> 411<p>A <a href="https://github.com/lh3/minimap2">sequence alignment program</a> that aligns DNA or mRNA sequences against a reference database. Often used for long-read data.</p> 412<h3 id="entry--htslib"><a class="header" href="#entry--htslib"><strong>htslib</strong></a></h3> 413<p>A C library for reading/writing sequencing data, used by tools like <a href="glossary.html#entry--samtools">SAMtools</a> and <a href="glossary.html#entry--bcftools">BCFtools</a> to manipulate <a href="glossary.html#entry--SAM" title="Sequence Alignment Map">SAM</a>, <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a>, and <a href="glossary.html#entry--VCF" title="Variant Call Format">VCF</a> files. Rastair uses the <a href="glossary.html#entry--Rust">Rust</a> bindings provided by the <code>rust-htslib</code> crate.</p> 414<h3 id="entry--bgzip"><a class="header" href="#entry--bgzip"><strong>bgzip</strong></a></h3> 415<p>Compression tool that produces <a href="glossary.html#entry--BGZF" title="Blocked GNU Zip Format">BGZF</a> files, commonly used to compress <a href="glossary.html#entry--VCF" title="Variant Call Format">VCF</a> and <a href="glossary.html#entry--BAM" title="Binary Alignment Map">BAM</a> files. Part of <a href="glossary.html#entry--samtools">SAMtools</a>. <a href="https://www.htslib.org/doc/bgzip.html">Homepage</a>.</p> 416<h3 id="entry--tabix"><a class="header" href="#entry--tabix"><strong>tabix</strong></a></h3> 417<p>An indexing tool for tab-delimited files, such as <a href="glossary.html#entry--VCF" title="Variant Call Format">VCF</a> and <a href="glossary.html#entry--BED" title="Browser Extensible Data">BED</a> files. It creates an index file that allows for efficient random access to specific regions of the file. Part of <a href="glossary.html#entry--samtools">SAMtools</a>. <a href="https://www.htslib.org/doc/tabix.html">Homepage</a></p> 418<h3 id="entry--dragen"><a class="header" href="#entry--dragen"><strong>DRAGEN</strong></a></h3> 419<p>Illumina DRAGEN (Dynamic Read Analysis for GENomics) is a platform for genomic data analysis, providing alignment, variant calling, and other bioinformatics tasks. <a href="https://www.illumina.com/products/by-type/informatics-products/dragen-secondary-analysis.html">Homepage</a></p> 420<h3 id="entry--bismark"><a class="header" href="#entry--bismark"><strong>Bismark</strong></a></h3> 421<p>A tool to map bisulfite converted sequence reads and determine cytosine methylation states. <a href="https://felixkrueger.github.io/Bismark/">Homepage</a></p> 422<h3 id="entry--SLURM"><a class="header" href="#entry--SLURM"><strong>SLURM</strong> â Simple Linux Utility for Resource Management</a></h3> 423<p>An open-source job scheduler used in high-performance computing environments to manage and allocate resources for computational tasks. It allows users to submit, monitor, and control jobs on a cluster of computers. <a href="https://slurm.schedmd.com/">Homepage</a></p> 424 425 </main> 426 427 <nav class="nav-wrapper" aria-label="Page navigation"> 428 <!-- Mobile navigation buttons --> 429 <a rel="prev" href="architecture.html" class="mobile-nav-chapter
429s previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> 430 <i class="fa fa-angle-left"></i> 431 </a> 432 433 434 <div style="clear: both"></div> 435 </nav> 436 </div> 437 </div> 438 439 <nav class="nav-wide-wrapper" aria-label="Page navigation"> 440 <a rel="prev" href="architecture.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left"> 441 <i class="fa fa-angle-left"></i> 442 </a> 443 444 </nav> 445 446 </div> 447 448 <!-- Livereload script (if served using the cli tool) --> 449
449<script> 450 const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:'; 451 const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload"; 452 const socket = new WebSocket(wsAddress); 453 socket.onmessage = function (event) { 454 if (event.data === "reload") { 455 socket.close(); 456 location.reload(); 457 } 458 }; 459 460 window.onbeforeunload = function() { 461 socket.close(); 462 } 463 </script>
463 464 465 466 467
467<script> 468 window.playground_copyable = true; 469 </script>
469 470 471 472
472<script src="elasticlunr.min.js"></script>
472 473
473<script src="mark.min.js"></script>
473 474
474<script src="searcher.js"></script>
474 475 476
476<script src="clipboard.min.js"></script>
476 477
477<script src="highlight.js"></script>
477 478
478<script src="book.js"></script>
478 479 480 <!-- Custom JS scripts --> 481
481<script src="mermaid.min.js"></script>
481 482
482<script src="mermaid-init.js"></script>
482 483
483<script src="theme/silktide-consent-manager.js"></script>
483 484 485 486 487 </div> 488 </body> 489</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.