Skip to content

Commit

Permalink
anotacao: Add contexto
Browse files Browse the repository at this point in the history
  • Loading branch information
jvfe committed Feb 13, 2025
1 parent dbd56c4 commit 01b1dee
Show file tree
Hide file tree
Showing 7 changed files with 204 additions and 36 deletions.
2 changes: 1 addition & 1 deletion content/04_taxonomia.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ e tipicamente acompanha um perfil de abundância desses táxons.

![[Ye et al, 2019](https://doi.org/10.1016/j.cell.2019.07.010)](images/sabeti_2019.jpg)

## Adquirindo o banco de dados
## Adquirindo o banco de dados {#sec-bdalign}

Mude o diretório atual para `"Pipeline/alignment/db"` (pois esse banco também será usado na seção [@sec-diamond], do alinhamento) e baixe o banco de dados de proteínas do NCBI-nr:

Expand Down
10 changes: 8 additions & 2 deletions content/05_anotacao.qmd
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
# Anotação Funcional

## Contexto

Muitas vezes, uma análise metagenômica não está completa após a classificação taxonômica - afinal, um estudo composicional,
apesar de útil, não mostra exatamente o que pode estar acontecendo em um microambiente em termos de vias metabólicas e funções biológicas.
Para esse fim, portanto, temos o passo de anotação funcional, que consiste de inferir funções a partir das sequências obtidas do microbioma, se utilizando ou não da informação taxonômica.

## annotate

Para nosso primeiro exemplo, vamos utilizar a ferramenta [`annotate`](https://github.com/dalmolingroup/annotate), que irá transferir identificadores de um resultado de alinhamento para identificadores funcionais, nesse caso termos do gene ontology.
Para nosso primeiro exemplo, vamos utilizar a ferramenta [`annotate`](https://github.com/dalmolingroup/annotate), que irá transferir identificadores de um resultado de alinhamento para identificadores funcionais, nesse caso termos do [Gene Ontology](https://www.geneontology.org/).

Mas, para fazer isso, primeiro precisamos alinhar nosso dado a uma referência!

### Alinhamento {#sec-diamond}

#### Realizando o alinhamento

Mude o diretório atual para `"Pipeline/alignment"` e alinhe as leituras contra o banco de dados de proteínas de referência:
Mude o diretório atual para `"Pipeline/alignment"` e alinhe as leituras contra o banco de dados de proteínas de referência (obtido na seção @sec-bdalign):

```bash
touch unaligned.fasta
Expand Down
153 changes: 150 additions & 3 deletions docs/content/01_setup.html
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,12 @@
<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">
<link href="../site_libs/quarto-html/quarto-syntax-highlighting.css" rel="stylesheet" class="quarto-color-scheme" id="quarto-text-highlighting-styles">
<link href="../site_libs/quarto-html/quarto-syntax-highlighting-dark.css" rel="prefetch" class="quarto-color-scheme quarto-color-alternate" 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">
<link href="../site_libs/bootstrap/bootstrap.min.css" rel="stylesheet" class="quarto-color-scheme" id="quarto-bootstrap" data-mode="light">
<link href="../site_libs/bootstrap/bootstrap-dark.min.css" rel="prefetch" class="quarto-color-scheme quarto-color-alternate" id="quarto-bootstrap" data-mode="dark">
<script id="quarto-search-options" type="application/json">{
"location": "sidebar",
"copy-button": false,
Expand Down Expand Up @@ -132,8 +134,9 @@
<div class="pt-lg-2 mt-2 text-left sidebar-header">
<div class="sidebar-title mb-0 py-0">
<a href="../">Análise de dados de Metagenômica</a>
<div class="sidebar-tools-main">
<div class="sidebar-tools-main tools-wide">
<a href="https://github.com/dalmolingroup/metagenome-course" title="Código fonte" class="quarto-navigation-tool px-1" aria-label="Código fonte"><i class="bi bi-github"></i></a>
<a href="" class="quarto-color-scheme-toggle quarto-navigation-tool px-1" onclick="window.quartoToggleColorScheme(); return false;" title="Alternar modo escuro"><i class="bi"></i></a>
<a href="" class="quarto-reader-toggle quarto-navigation-tool px-1" onclick="window.quartoToggleReader(); return false;" title="Alternar modo de leitor">
<div class="quarto-reader-toggle-btn">
<i class="bi"></i>
Expand Down Expand Up @@ -245,6 +248,150 @@ <h1 class="title"><span class="chapter-number">1</span>&nbsp; <span class="chapt
}
}
toggleBodyColorPrimary();
const disableStylesheet = (stylesheets) => {
for (let i=0; i < stylesheets.length; i++) {
const stylesheet = stylesheets[i];
stylesheet.rel = 'prefetch';
}
}
const enableStylesheet = (stylesheets) => {
for (let i=0; i < stylesheets.length; i++) {
const stylesheet = stylesheets[i];
stylesheet.rel = 'stylesheet';
}
}
const manageTransitions = (selector, allowTransitions) => {
const els = window.document.querySelectorAll(selector);
for (let i=0; i < els.length; i++) {
const el = els[i];
if (allowTransitions) {
el.classList.remove('notransition');
} else {
el.classList.add('notransition');
}
}
}
const toggleGiscusIfUsed = (isAlternate, darkModeDefault) => {
const baseTheme = document.querySelector('#giscus-base-theme')?.value ?? 'light';
const alternateTheme = document.querySelector('#giscus-alt-theme')?.value ?? 'dark';
let newTheme = '';
if(darkModeDefault) {
newTheme = isAlternate ? baseTheme : alternateTheme;
} else {
newTheme = isAlternate ? alternateTheme : baseTheme;
}
const changeGiscusTheme = () => {
// From: https://github.com/giscus/giscus/issues/336
const sendMessage = (message) => {
const iframe = document.querySelector('iframe.giscus-frame');
if (!iframe) return;
iframe.contentWindow.postMessage({ giscus: message }, 'https://giscus.app');
}
sendMessage({
setConfig: {
theme: newTheme
}
});
}
const isGiscussLoaded = window.document.querySelector('iframe.giscus-frame') !== null;
if (isGiscussLoaded) {
changeGiscusTheme();
}
}
const toggleColorMode = (alternate) => {
// Switch the stylesheets
const alternateStylesheets = window.document.querySelectorAll('link.quarto-color-scheme.quarto-color-alternate');
manageTransitions('#quarto-margin-sidebar .nav-link', false);
if (alternate) {
enableStylesheet(alternateStylesheets);
for (const sheetNode of alternateStylesheets) {
if (sheetNode.id === "quarto-bootstrap") {
toggleBodyColorMode(sheetNode);
}
}
} else {
disableStylesheet(alternateStylesheets);
toggleBodyColorPrimary();
}
manageTransitions('#quarto-margin-sidebar .nav-link', true);
// Switch the toggles
const toggles = window.document.querySelectorAll('.quarto-color-scheme-toggle');
for (let i=0; i < toggles.length; i++) {
const toggle = toggles[i];
if (toggle) {
if (alternate) {
toggle.classList.add("alternate");
} else {
toggle.classList.remove("alternate");
}
}
}
// Hack to workaround the fact that safari doesn't
// properly recolor the scrollbar when toggling (#1455)
if (navigator.userAgent.indexOf('Safari') > 0 && navigator.userAgent.indexOf('Chrome') == -1) {
manageTransitions("body", false);
window.scrollTo(0, 1);
setTimeout(() => {
window.scrollTo(0, 0);
manageTransitions("body", true);
}, 40);
}
}
const isFileUrl = () => {
return window.location.protocol === 'file:';
}
const hasAlternateSentinel = () => {
let styleSentinel = getColorSchemeSentinel();
if (styleSentinel !== null) {
return styleSentinel === "alternate";
} else {
return false;
}
}
const setStyleSentinel = (alternate) => {
const value = alternate ? "alternate" : "default";
if (!isFileUrl()) {
window.localStorage.setItem("quarto-color-scheme", value);
} else {
localAlternateSentinel = value;
}
}
const getColorSchemeSentinel = () => {
if (!isFileUrl()) {
const storageValue = window.localStorage.getItem("quarto-color-scheme");
return storageValue != null ? storageValue : localAlternateSentinel;
} else {
return localAlternateSentinel;
}
}
const darkModeDefault = false;
let localAlternateSentinel = darkModeDefault ? 'alternate' : 'default';
// Dark / light mode switch
window.quartoToggleColorScheme = () => {
// Read the current dark / light value
let toAlternate = !hasAlternateSentinel();
toggleColorMode(toAlternate);
setStyleSentinel(toAlternate);
toggleGiscusIfUsed(toAlternate, darkModeDefault);
};
// Ensure there is a toggle, if there isn't float one in the top right
if (window.document.querySelector('.quarto-color-scheme-toggle') === null) {
const a = window.document.createElement('a');
a.classList.add('top-right');
a.classList.add('quarto-color-scheme-toggle');
a.href = "";
a.onclick = function() { try { window.quartoToggleColorScheme(); } catch {} return false; };
const i = window.document.createElement("i");
i.classList.add('bi');
a.appendChild(i);
window.document.body.appendChild(a);
}
// Switch to dark mode if need be
if (hasAlternateSentinel()) {
toggleColorMode(true);
} else {
toggleColorMode(false);
}
const icon = "";
const anchorJS = new window.AnchorJS();
anchorJS.options = {
Expand Down
8 changes: 4 additions & 4 deletions docs/content/04_taxonomia.html
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ <h2 id="toc-title">Índice</h2>

<ul>
<li><a href="#contexto" id="toc-contexto" class="nav-link active" data-scroll-target="#contexto"><span class="header-section-number">4.1</span> Contexto</a></li>
<li><a href="#adquirindo-o-banco-de-dados" id="toc-adquirindo-o-banco-de-dados" class="nav-link" data-scroll-target="#adquirindo-o-banco-de-dados"><span class="header-section-number">4.2</span> Adquirindo o banco de dados</a></li>
<li><a href="#sec-bdalign" id="toc-sec-bdalign" class="nav-link" data-scroll-target="#sec-bdalign"><span class="header-section-number">4.2</span> Adquirindo o banco de dados</a></li>
<li><a href="#realizando-a-classificação-taxonômica" id="toc-realizando-a-classificação-taxonômica" class="nav-link" data-scroll-target="#realizando-a-classificação-taxonômica"><span class="header-section-number">4.3</span> Realizando a classificação taxonômica</a></li>
</ul>
</nav>
Expand Down Expand Up @@ -236,9 +236,9 @@ <h2 data-number="4.1" class="anchored" data-anchor-id="contexto"><span class="he
</figure>
</div>
</section>
<section id="adquirindo-o-banco-de-dados" class="level2" data-number="4.2">
<h2 data-number="4.2" class="anchored" data-anchor-id="adquirindo-o-banco-de-dados"><span class="header-section-number">4.2</span> Adquirindo o banco de dados</h2>
<p>Mude o diretório atual para <code>"Pipeline/alignment/db"</code> (pois esse banco também será usado na seção <a href="05_anotacao.html#sec-diamond" class="quarto-xref"><span>Seção 5.1.1</span></a>, do alinhamento) e baixe o banco de dados de proteínas do NCBI-nr:</p>
<section id="sec-bdalign" class="level2" data-number="4.2">
<h2 data-number="4.2" class="anchored" data-anchor-id="sec-bdalign"><span class="header-section-number">4.2</span> Adquirindo o banco de dados</h2>
<p>Mude o diretório atual para <code>"Pipeline/alignment/db"</code> (pois esse banco também será usado na seção <a href="05_anotacao.html#sec-diamond" class="quarto-xref"><span>Seção 5.2.1</span></a>, do alinhamento) e baixe o banco de dados de proteínas do NCBI-nr:</p>
<div class="callout callout-style-simple callout-warning callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
Expand Down
Loading

0 comments on commit 01b1dee

Please sign in to comment.