mirror of
https://github.com/metabarcoding/obitools4.git
synced 2025-06-29 16:20:46 +00:00
556 lines
26 KiB
HTML
556 lines
26 KiB
HTML
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="generator" content="quarto-1.2.256">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
|
|
|
|
|
<title>OBITools V4 - 7 OBITools expression language</title>
|
|
<style>
|
|
code{white-space: pre-wrap;}
|
|
span.smallcaps{font-variant: small-caps;}
|
|
div.columns{display: flex; gap: min(4vw, 1.5em);}
|
|
div.column{flex: auto; overflow-x: auto;}
|
|
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
|
ul.task-list{list-style: none;}
|
|
ul.task-list li input[type="checkbox"] {
|
|
width: 0.8em;
|
|
margin: 0 0.8em 0.2em -1.6em;
|
|
vertical-align: middle;
|
|
}
|
|
pre > code.sourceCode { white-space: pre; position: relative; }
|
|
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
|
pre > code.sourceCode > span:empty { height: 1.2em; }
|
|
.sourceCode { overflow: visible; }
|
|
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
|
div.sourceCode { margin: 1em 0; }
|
|
pre.sourceCode { margin: 0; }
|
|
@media screen {
|
|
div.sourceCode { overflow: auto; }
|
|
}
|
|
@media print {
|
|
pre > code.sourceCode { white-space: pre-wrap; }
|
|
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
|
}
|
|
pre.numberSource code
|
|
{ counter-reset: source-line 0; }
|
|
pre.numberSource code > span
|
|
{ position: relative; left: -4em; counter-increment: source-line; }
|
|
pre.numberSource code > span > a:first-child::before
|
|
{ content: counter(source-line);
|
|
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
|
border: none; display: inline-block;
|
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
|
-khtml-user-select: none; -moz-user-select: none;
|
|
-ms-user-select: none; user-select: none;
|
|
padding: 0 4px; width: 4em;
|
|
color: #aaaaaa;
|
|
}
|
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
|
div.sourceCode
|
|
{ }
|
|
@media screen {
|
|
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
|
}
|
|
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
|
code span.at { color: #7d9029; } /* Attribute */
|
|
code span.bn { color: #40a070; } /* BaseN */
|
|
code span.bu { color: #008000; } /* BuiltIn */
|
|
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
|
code span.ch { color: #4070a0; } /* Char */
|
|
code span.cn { color: #880000; } /* Constant */
|
|
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
|
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
|
code span.dt { color: #902000; } /* DataType */
|
|
code span.dv { color: #40a070; } /* DecVal */
|
|
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
|
code span.ex { } /* Extension */
|
|
code span.fl { color: #40a070; } /* Float */
|
|
code span.fu { color: #06287e; } /* Function */
|
|
code span.im { color: #008000; font-weight: bold; } /* Import */
|
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
|
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
|
code span.op { color: #666666; } /* Operator */
|
|
code span.ot { color: #007020; } /* Other */
|
|
code span.pp { color: #bc7a00; } /* Preprocessor */
|
|
code span.sc { color: #4070a0; } /* SpecialChar */
|
|
code span.ss { color: #bb6688; } /* SpecialString */
|
|
code span.st { color: #4070a0; } /* String */
|
|
code span.va { color: #19177c; } /* Variable */
|
|
code span.vs { color: #4070a0; } /* VerbatimString */
|
|
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
|
</style>
|
|
|
|
|
|
<script src="site_libs/quarto-nav/quarto-nav.js"></script>
|
|
<script src="site_libs/quarto-nav/headroom.min.js"></script>
|
|
<script src="site_libs/clipboard/clipboard.min.js"></script>
|
|
<script src="site_libs/quarto-search/autocomplete.umd.js"></script>
|
|
<script src="site_libs/quarto-search/fuse.min.js"></script>
|
|
<script src="site_libs/quarto-search/quarto-search.js"></script>
|
|
<meta name="quarto:offset" content="./">
|
|
<link href="./comm_metabarcode_design.html" rel="next">
|
|
<link href="./common_options.html" rel="prev">
|
|
<script src="site_libs/quarto-html/quarto.js"></script>
|
|
<script src="site_libs/quarto-html/popper.min.js"></script>
|
|
<script src="site_libs/quarto-html/tippy.umd.min.js"></script>
|
|
<script src="site_libs/quarto-html/anchor.min.js"></script>
|
|
<link href="site_libs/quarto-html/tippy.css" rel="stylesheet">
|
|
<link href="site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" id="quarto-text-highlighting-styles">
|
|
<script src="site_libs/bootstrap/bootstrap.min.js"></script>
|
|
<link href="site_libs/bootstrap/bootstrap-icons.css" rel="stylesheet">
|
|
<link href="site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" id="quarto-bootstrap" data-mode="light">
|
|
<script id="quarto-search-options" type="application/json">{
|
|
"location": "sidebar",
|
|
"copy-button": false,
|
|
"collapse-after": 3,
|
|
"panel-placement": "start",
|
|
"type": "textbox",
|
|
"limit": 20,
|
|
"language": {
|
|
"search-no-results-text": "No results",
|
|
"search-matching-documents-text": "matching documents",
|
|
"search-copy-link-title": "Copy link to search",
|
|
"search-hide-matches-text": "Hide additional matches",
|
|
"search-more-match-text": "more match in this document",
|
|
"search-more-matches-text": "more matches in this document",
|
|
"search-clear-button-title": "Clear",
|
|
"search-detached-cancel-button-title": "Cancel",
|
|
"search-submit-button-title": "Submit"
|
|
}
|
|
}</script>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>
|
|
|
|
</head>
|
|
|
|
<body class="nav-sidebar floating">
|
|
|
|
<div id="quarto-search-results"></div>
|
|
<header id="quarto-header" class="headroom fixed-top">
|
|
<nav class="quarto-secondary-nav" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar" aria-controls="quarto-sidebar" aria-expanded="false" aria-label="Toggle sidebar navigation" onclick="if (window.quartoToggleHeadroom) { window.quartoToggleHeadroom(); }">
|
|
<div class="container-fluid d-flex justify-content-between">
|
|
<h1 class="quarto-secondary-nav-title"><span class="chapter-number">7</span> <span class="chapter-title">OBITools expression language</span></h1>
|
|
<button type="button" class="quarto-btn-toggle btn" aria-label="Show secondary navigation">
|
|
<i class="bi bi-chevron-right"></i>
|
|
</button>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
<!-- content -->
|
|
<div id="quarto-content" class="quarto-container page-columns page-rows-contents page-layout-article">
|
|
<!-- sidebar -->
|
|
<nav id="quarto-sidebar" class="sidebar collapse sidebar-navigation floating overflow-auto">
|
|
<div class="pt-lg-2 mt-2 text-left sidebar-header">
|
|
<div class="sidebar-title mb-0 py-0">
|
|
<a href="./">OBITools V4</a>
|
|
</div>
|
|
</div>
|
|
<div class="mt-2 flex-shrink-0 align-items-center">
|
|
<div class="sidebar-search">
|
|
<div id="quarto-search" class="" title="Search"></div>
|
|
</div>
|
|
</div>
|
|
<div class="sidebar-menu-container">
|
|
<ul class="list-unstyled mt-1">
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./index.html" class="sidebar-item-text sidebar-link">Preface</a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item sidebar-item-section">
|
|
<div class="sidebar-item-container">
|
|
<a href="./intro.html" class="sidebar-item-text sidebar-link">The OBITools</a>
|
|
<a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-1" aria-expanded="true">
|
|
<i class="bi bi-chevron-right ms-2"></i>
|
|
</a>
|
|
</div>
|
|
<ul id="quarto-sidebar-section-1" class="collapse list-unstyled sidebar-section depth1 show">
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./installation.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">1</span> <span class="chapter-title">Installation of the obitools</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./formats.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">2</span> <span class="chapter-title">File formats usable with <em>OBITools</em></span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./tutorial.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">3</span> <span class="chapter-title">OBITools V4 Tutorial</span></a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="sidebar-item sidebar-item-section">
|
|
<div class="sidebar-item-container">
|
|
<a href="./commands.html" class="sidebar-item-text sidebar-link">The *OBITools V4* commands</a>
|
|
<a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-2" aria-expanded="true">
|
|
<i class="bi bi-chevron-right ms-2"></i>
|
|
</a>
|
|
</div>
|
|
<ul id="quarto-sidebar-section-2" class="collapse list-unstyled sidebar-section depth1 show">
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./inupt.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">4</span> <span class="chapter-title">Specifying the data input to <em>OBITools</em> commands</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./output.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">5</span> <span class="chapter-title">Controling OBITools outputs</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./common_options.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">6</span> <span class="chapter-title">Options common to most of the <em>OBITools</em> commands</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./expressions.html" class="sidebar-item-text sidebar-link active"><span class="chapter-number">7</span> <span class="chapter-title">OBITools expression language</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_metabarcode_design.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">8</span> <span class="chapter-title">Metabarcode design and quality assessment</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_reformat.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">9</span> <span class="chapter-title">File format conversions</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_annotation.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">10</span> <span class="chapter-title">Sequence annotations</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_computation.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">11</span> <span class="chapter-title">Computations on sequences</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_sampling.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">12</span> <span class="chapter-title">Sequence sampling and filtering</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./comm_utilities.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">13</span> <span class="chapter-title">Utilities</span></a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
<li class="sidebar-item sidebar-item-section">
|
|
<span class="sidebar-item-text sidebar-link text-start">The GO *OBITools* library</span>
|
|
</li>
|
|
<li class="sidebar-item sidebar-item-section">
|
|
<div class="sidebar-item-container">
|
|
<a class="sidebar-item-text sidebar-link text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="true">Appendices</a>
|
|
<a class="sidebar-item-toggle text-start" data-bs-toggle="collapse" data-bs-target="#quarto-sidebar-section-4" aria-expanded="true">
|
|
<i class="bi bi-chevron-right ms-2"></i>
|
|
</a>
|
|
</div>
|
|
<ul id="quarto-sidebar-section-4" class="collapse list-unstyled sidebar-section depth1 show">
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./annexes.html" class="sidebar-item-text sidebar-link"><span class="chapter-number">A</span> <span class="chapter-title">Annexes</span></a>
|
|
</div>
|
|
</li>
|
|
<li class="sidebar-item">
|
|
<div class="sidebar-item-container">
|
|
<a href="./references.html" class="sidebar-item-text sidebar-link">References</a>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
<!-- margin-sidebar -->
|
|
<div id="quarto-margin-sidebar" class="sidebar margin-sidebar">
|
|
<nav id="TOC" role="doc-toc" class="toc-active">
|
|
<h2 id="toc-title">Table of contents</h2>
|
|
|
|
<ul>
|
|
<li><a href="#variables-usable-in-the-expression" id="toc-variables-usable-in-the-expression" class="nav-link active" data-scroll-target="#variables-usable-in-the-expression"><span class="toc-section-number">7.1</span> Variables usable in the expression</a></li>
|
|
<li><a href="#function-defined-in-the-language" id="toc-function-defined-in-the-language" class="nav-link" data-scroll-target="#function-defined-in-the-language"><span class="toc-section-number">7.2</span> Function defined in the language</a>
|
|
<ul class="collapse">
|
|
<li><a href="#instrospection-functions" id="toc-instrospection-functions" class="nav-link" data-scroll-target="#instrospection-functions">Instrospection functions</a></li>
|
|
<li><a href="#cast-functions" id="toc-cast-functions" class="nav-link" data-scroll-target="#cast-functions">Cast functions</a></li>
|
|
<li><a href="#string-related-functions" id="toc-string-related-functions" class="nav-link" data-scroll-target="#string-related-functions">String related functions</a></li>
|
|
<li><a href="#condition-function" id="toc-condition-function" class="nav-link" data-scroll-target="#condition-function">Condition function</a></li>
|
|
<li><a href="#sequence-analysis-related-function" id="toc-sequence-analysis-related-function" class="nav-link" data-scroll-target="#sequence-analysis-related-function"><span class="toc-section-number">7.2.1</span> Sequence analysis related function</a></li>
|
|
</ul></li>
|
|
<li><a href="#accessing-to-the-sequence-annotations" id="toc-accessing-to-the-sequence-annotations" class="nav-link" data-scroll-target="#accessing-to-the-sequence-annotations"><span class="toc-section-number">7.3</span> Accessing to the sequence annotations</a></li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
<!-- main -->
|
|
<main class="content" id="quarto-document-content">
|
|
|
|
<header id="title-block-header" class="quarto-title-block default">
|
|
<div class="quarto-title">
|
|
<h1 class="title d-none d-lg-block"><span class="chapter-number">7</span> <span class="chapter-title">OBITools expression language</span></h1>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="quarto-title-meta">
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</header>
|
|
|
|
<p>Several OBITools (<em>e.g.</em> obigrep, obiannotate) allow the user to specify some simple expressions to compute values or define predicates. This expressions are parsed and evaluated using the <a href="https://pkg.go.dev/github.com/PaesslerAG/gval" title="Gval (Go eVALuate) for evaluating arbitrary expressions Go-like expressions.">gval</a> go package, which allows for evaluating go-Like expression.</p>
|
|
<section id="variables-usable-in-the-expression" class="level2" data-number="7.1">
|
|
<h2 data-number="7.1" class="anchored" data-anchor-id="variables-usable-in-the-expression"><span class="header-section-number">7.1</span> Variables usable in the expression</h2>
|
|
<ul>
|
|
<li><code>sequence</code> is the sequence object on which the expression is evaluated.</li>
|
|
<li><code>annotations</code>is a map object containing every annotations associated to the currently processed sequence.</li>
|
|
</ul>
|
|
</section>
|
|
<section id="function-defined-in-the-language" class="level2" data-number="7.2">
|
|
<h2 data-number="7.2" class="anchored" data-anchor-id="function-defined-in-the-language"><span class="header-section-number">7.2</span> Function defined in the language</h2>
|
|
<section id="instrospection-functions" class="level3 unnumbered">
|
|
<h3 class="unnumbered anchored" data-anchor-id="instrospection-functions">Instrospection functions</h3>
|
|
<dl>
|
|
<dt><strong><code>len(x)</code></strong></dt>
|
|
<dd>
|
|
<p>It is a generic function allowing to retreive the size of a object. It returns the length of a sequences, the number of element in a map like <code>annotations</code>, the number of elements in an array. The reurned value is an <code>int</code>.</p>
|
|
</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="cast-functions" class="level3 unnumbered">
|
|
<h3 class="unnumbered anchored" data-anchor-id="cast-functions">Cast functions</h3>
|
|
<dl>
|
|
<dt><strong><code>int(x)</code></strong></dt>
|
|
<dd>
|
|
<p>Converts if possible the <code>x</code> value to an integer value. The function returns an <code>int</code>.</p>
|
|
</dd>
|
|
<dt><strong><code>numeric(x)</code></strong></dt>
|
|
<dd>
|
|
<p>Converts if possible the <code>x</code> value to a float value. The function returns a <code>float</code>.</p>
|
|
</dd>
|
|
<dt><strong><code>bool(x)</code></strong></dt>
|
|
<dd>
|
|
<p>Converts if possible the <code>x</code> value to a boolean value. The function returns a <code>bool</code>.</p>
|
|
</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="string-related-functions" class="level3 unnumbered">
|
|
<h3 class="unnumbered anchored" data-anchor-id="string-related-functions">String related functions</h3>
|
|
<dl>
|
|
<dt><strong><code>printf(format,...)</code></strong></dt>
|
|
<dd>
|
|
<p>Allows to combine several values to build a string. <code>format</code> follows the classical C <code>printf</code> syntax. The function returns a <code>string</code>.</p>
|
|
</dd>
|
|
<dt><strong><code>subspc(x)</code></strong></dt>
|
|
<dd>
|
|
<p>substitutes every space in the <code>x</code> string by the underscore (<code>_</code>) character. The function returns a <code>string</code>.</p>
|
|
</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="condition-function" class="level3 unnumbered">
|
|
<h3 class="unnumbered anchored" data-anchor-id="condition-function">Condition function</h3>
|
|
<dl>
|
|
<dt><strong><code>ifelse(condition,val1,val2)</code></strong></dt>
|
|
<dd>
|
|
<p>The <code>condition</code> value has to be a <code>bool</code> value. If it is <code>true</code> the function returns <code>val1</code>, otherwise, it is returning <code>val2</code>.</p>
|
|
</dd>
|
|
</dl>
|
|
</section>
|
|
<section id="sequence-analysis-related-function" class="level3" data-number="7.2.1">
|
|
<h3 data-number="7.2.1" class="anchored" data-anchor-id="sequence-analysis-related-function"><span class="header-section-number">7.2.1</span> Sequence analysis related function</h3>
|
|
<dl>
|
|
<dt><strong><code>composition(sequence)</code></strong></dt>
|
|
<dd>
|
|
<p>The nucleotide composition of the sequence is returned as as map indexed by <code>a</code>, <code>c</code>, <code>g</code>, or <code>t</code> and each value is the number of occurrences of that nucleotide. A fifth key <code>others</code> accounts for all others symboles.</p>
|
|
</dd>
|
|
<dt><strong><code>gcskew(sequence)</code></strong></dt>
|
|
<dd>
|
|
<p>Computes the excess of g compare to c of the sequence, known as the GC skew.</p>
|
|
<p><span class="math display">\[
|
|
Skew_{GC}=\frac{G-C}{G+C}
|
|
\]</span></p>
|
|
</dd>
|
|
</dl>
|
|
</section>
|
|
</section>
|
|
<section id="accessing-to-the-sequence-annotations" class="level2" data-number="7.3">
|
|
<h2 data-number="7.3" class="anchored" data-anchor-id="accessing-to-the-sequence-annotations"><span class="header-section-number">7.3</span> Accessing to the sequence annotations</h2>
|
|
<p>The <code>annotations</code> variable is a map object containing all the annotations associated to the currently processed sequence. Index of the map are the attribute names. It exists to possibillities to retreive an annotation. It is possible to use the classical <code>[]</code> indexing operator, putting the attribute name quoted by double quotes between them.</p>
|
|
<div class="sourceCode" id="cb1"><pre class="sourceCode go code-with-copy"><code class="sourceCode go"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a>annotations<span class="op">[</span><span class="st">"direction"</span><span class="op">]</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
|
<p>The above code retreives the <code>direction</code> annotation. A second notation using the dot (<code>.</code>) is often more convenient.</p>
|
|
<div class="sourceCode" id="cb2"><pre class="sourceCode go code-with-copy"><code class="sourceCode go"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a>annotations<span class="op">.</span>direction</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
|
<p>Special attributes of the sequence are accessible only by dedicated methods of the <code>sequence</code> object.</p>
|
|
<ul>
|
|
<li>The sequence identifier : <code>Id()</code></li>
|
|
<li>THe sequence definition : <code>Definition()</code></li>
|
|
</ul>
|
|
<div class="sourceCode" id="cb3"><pre class="sourceCode go code-with-copy"><code class="sourceCode go"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>sequence<span class="op">.</span>Id<span class="op">()</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
|
|
|
|
|
|
</section>
|
|
|
|
</main> <!-- /main -->
|
|
<script id="quarto-html-after-body" type="application/javascript">
|
|
window.document.addEventListener("DOMContentLoaded", function (event) {
|
|
const toggleBodyColorMode = (bsSheetEl) => {
|
|
const mode = bsSheetEl.getAttribute("data-mode");
|
|
const bodyEl = window.document.querySelector("body");
|
|
if (mode === "dark") {
|
|
bodyEl.classList.add("quarto-dark");
|
|
bodyEl.classList.remove("quarto-light");
|
|
} else {
|
|
bodyEl.classList.add("quarto-light");
|
|
bodyEl.classList.remove("quarto-dark");
|
|
}
|
|
}
|
|
const toggleBodyColorPrimary = () => {
|
|
const bsSheetEl = window.document.querySelector("link#quarto-bootstrap");
|
|
if (bsSheetEl) {
|
|
toggleBodyColorMode(bsSheetEl);
|
|
}
|
|
}
|
|
toggleBodyColorPrimary();
|
|
const icon = "";
|
|
const anchorJS = new window.AnchorJS();
|
|
anchorJS.options = {
|
|
placement: 'right',
|
|
icon: icon
|
|
};
|
|
anchorJS.add('.anchored');
|
|
const clipboard = new window.ClipboardJS('.code-copy-button', {
|
|
target: function(trigger) {
|
|
return trigger.previousElementSibling;
|
|
}
|
|
});
|
|
clipboard.on('success', function(e) {
|
|
// button target
|
|
const button = e.trigger;
|
|
// don't keep focus
|
|
button.blur();
|
|
// flash "checked"
|
|
button.classList.add('code-copy-button-checked');
|
|
var currentTitle = button.getAttribute("title");
|
|
button.setAttribute("title", "Copied!");
|
|
let tooltip;
|
|
if (window.bootstrap) {
|
|
button.setAttribute("data-bs-toggle", "tooltip");
|
|
button.setAttribute("data-bs-placement", "left");
|
|
button.setAttribute("data-bs-title", "Copied!");
|
|
tooltip = new bootstrap.Tooltip(button,
|
|
{ trigger: "manual",
|
|
customClass: "code-copy-button-tooltip",
|
|
offset: [0, -8]});
|
|
tooltip.show();
|
|
}
|
|
setTimeout(function() {
|
|
if (tooltip) {
|
|
tooltip.hide();
|
|
button.removeAttribute("data-bs-title");
|
|
button.removeAttribute("data-bs-toggle");
|
|
button.removeAttribute("data-bs-placement");
|
|
}
|
|
button.setAttribute("title", currentTitle);
|
|
button.classList.remove('code-copy-button-checked');
|
|
}, 1000);
|
|
// clear code selection
|
|
e.clearSelection();
|
|
});
|
|
function tippyHover(el, contentFn) {
|
|
const config = {
|
|
allowHTML: true,
|
|
content: contentFn,
|
|
maxWidth: 500,
|
|
delay: 100,
|
|
arrow: false,
|
|
appendTo: function(el) {
|
|
return el.parentElement;
|
|
},
|
|
interactive: true,
|
|
interactiveBorder: 10,
|
|
theme: 'quarto',
|
|
placement: 'bottom-start'
|
|
};
|
|
window.tippy(el, config);
|
|
}
|
|
const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]');
|
|
for (var i=0; i<noterefs.length; i++) {
|
|
const ref = noterefs[i];
|
|
tippyHover(ref, function() {
|
|
// use id or data attribute instead here
|
|
let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href');
|
|
try { href = new URL(href).hash; } catch {}
|
|
const id = href.replace(/^#\/?/, "");
|
|
const note = window.document.getElementById(id);
|
|
return note.innerHTML;
|
|
});
|
|
}
|
|
const findCites = (el) => {
|
|
const parentEl = el.parentElement;
|
|
if (parentEl) {
|
|
const cites = parentEl.dataset.cites;
|
|
if (cites) {
|
|
return {
|
|
el,
|
|
cites: cites.split(' ')
|
|
};
|
|
} else {
|
|
return findCites(el.parentElement)
|
|
}
|
|
} else {
|
|
return undefined;
|
|
}
|
|
};
|
|
var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]');
|
|
for (var i=0; i<bibliorefs.length; i++) {
|
|
const ref = bibliorefs[i];
|
|
const citeInfo = findCites(ref);
|
|
if (citeInfo) {
|
|
tippyHover(citeInfo.el, function() {
|
|
var popup = window.document.createElement('div');
|
|
citeInfo.cites.forEach(function(cite) {
|
|
var citeDiv = window.document.createElement('div');
|
|
citeDiv.classList.add('hanging-indent');
|
|
citeDiv.classList.add('csl-entry');
|
|
var biblioDiv = window.document.getElementById('ref-' + cite);
|
|
if (biblioDiv) {
|
|
citeDiv.innerHTML = biblioDiv.innerHTML;
|
|
}
|
|
popup.appendChild(citeDiv);
|
|
});
|
|
return popup.innerHTML;
|
|
});
|
|
}
|
|
}
|
|
});
|
|
</script>
|
|
<nav class="page-navigation">
|
|
<div class="nav-page nav-page-previous">
|
|
<a href="./common_options.html" class="pagination-link">
|
|
<i class="bi bi-arrow-left-short"></i> <span class="nav-page-text"><span class="chapter-number">6</span> <span class="chapter-title">Options common to most of the <em>OBITools</em> commands</span></span>
|
|
</a>
|
|
</div>
|
|
<div class="nav-page nav-page-next">
|
|
<a href="./comm_metabarcode_design.html" class="pagination-link">
|
|
<span class="nav-page-text"><span class="chapter-number">8</span> <span class="chapter-title">Metabarcode design and quality assessment</span></span> <i class="bi bi-arrow-right-short"></i>
|
|
</a>
|
|
</div>
|
|
</nav>
|
|
</div> <!-- /content -->
|
|
|
|
|
|
|
|
</body></html> |