CINXE.COM
OMA Orthology database
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>OMA Orthology database</title> <meta name="description" content="OMA is a method and database for the inference of orthologs among complete genomes. We provide browsable orthology predictions, APIs, flat file downloads and a standalone version of the inference algorithm."> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="keywords" content="orthology,evolutionary gene relations,evolution,paralogy,inference"> <!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(["setCookieDomain", "*.omabrowser.org"]); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://matomo.sib.swiss/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '6']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <noscript><p><img src="https://matomo.sib.swiss/matomo.php?idsite=6&rec=1" style="border:0;" alt="" /></p></noscript> <!-- End Matomo Code --> <link rel="shortcut icon" href="/static/image/favicon.ico" type="image/x-icon"> <!-- css includes --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Dosis:400,800%7CNoto+Sans:400,700%7CRopa+Sans%7CMaterial+Icons"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha256-eSi1q2PG6J7g7ib17yAaWMcrr5GrtohYChqibrV7PBE=" crossorigin="anonymous"> <link rel="stylesheet" href="/static/css/oma_styles.css"> <!-- js includes --> <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/js/bootstrap.bundle.min.js" integrity="sha256-E/V4cWE4qvAeO5MOhjtGtqDzPndRO1LBk8lJ/PR7CA4=" crossorigin="anonymous"></script> <script>const static_root = "/static/";</script> <!-- AA: not sure which of those libs will still be needed. I suspect autocomplete.min.js for sure, rest probably not --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.11.2/css/all.css"> <script src="/static/js/jquery.autocomplete.min.js"></script> <script id="release_char-data" type="application/json">"E"</script> <script type="application/ld+json"> {"@context": "http://schema.org", "@graph": [{"@type": "Organization", "name": "OMA Browser - Orthology MAtrix", "url": "https://omabrowser.org/", "description": "OMA is a method and database for the inference of orthologs among complete genomes. We provide browsable orthology predictions, APIs, flat file downloads and a standalone version of the inference algorithm.", "logo": "https://omabrowser.org/static/image/logo-oma.svg", "sameAs": ["https://twitter.com/OMABrowser", "https://omabrowser.blogspot.com"], "parentOrganization": { "@type": "Organization", "name": "Laboratory of Computational Evolutionary Biology", "url": "https://lab.dessimoz.org", "email": [ "christophe.dessmoz@unil.ch", "adrian.altenhoff@sib.swiss" ], "memberOf": [ { "@type": "Organization", "name": "SIB Swiss Institute of Bioinformatics", "url": "https://www.sib.swiss/", "sameAs": "https://ror.org/002n09z45" }, { "@type": "Organization", "name": "University of Lausanne", "url": "https://www.unil.ch/", "sameAs": "https://ror.org/019whta54" }, { "@type": "Organization", "name": "ETH Zurich", "url": "https://ethz.ch/", "sameAs": "https://ror.org/05a28rw58" } ] } }, {"@type": "WebPage", "@id": "https://omabrowser.org/", "identifier": "OMA", "name": "OMA Browser ", "description": "OMA is a method and database for the inference of orthologs among complete genomes. We provide browsable orthology predictions, APIs, flat file downloads and a standalone version of the inference algorithm.", "url": "https://omabrowser.org", "keywords": "orthology, evolutionary gene relations, evolution, paralogy, HOGs, hierarchical orthologous groups, inference", "dateModified": "", "citation": { "@type": "ScholarlyArticle", "name": "OMA orthology in 2024: improved prokaryote coverage, ancestral and extant GO enrichment, a revamped synteny viewer and more in the OMA Ecosystem", "url": "https://identifiers.org/doi:10.1093/nar/gkad1020" }, "license": { "@type": "CreativeWork", "name": "Creative Commons CC4 Attribution", "url": "https://creativecommons.org/licenses/by/4.0/" }, "image": { "@type": "ImageObject", "url": "https://omabrowser.org//static/image/logo-oma.svg" }, "creator": { "@type": "Organization", "name": "Laboratory of Computational Evolutionary Biology", "url": "https://lab.dessimoz.org", "email": [ "christophe.dessmoz@unil.ch", "adrian.altenhoff@sib.swiss" ], "memberOf": [ { "@type": "Organization", "name": "SIB Swiss Institute of Bioinformatics", "url": "https://www.sib.swiss/", "sameAs": "https://ror.org/002n09z45" }, { "@type": "Organization", "name": "University of Lausanne", "url": "https://www.unil.ch/", "sameAs": "https://ror.org/019whta54" }, { "@type": "Organization", "name": "ETH Zurich", "url": "https://ethz.ch/", "sameAs": "https://ror.org/05a28rw58" } ] }, "version": "All.Jul2024", "potentialAction": { "target": "https://omabrowser.org/oma/search/?type=all&query={query_string}", "@type": "SearchAction", "query-input": "required name=query_string" } }, {"@type": "DataCatalog", "@id": "https://omabrowser.org/oma/current/", "identifier": "OMA", "name": "OMA Browser orthology datasets", "description": "Catalog of precomputed orthology datasets using the OMA algorithm.", "url": "https://omabrowser.org/oma/current/", "keywords": "orthology, evolutionary gene relations, evolution, paralogy, HOGs, hierarchical orthologous groups, inference", "dateModified": "", "publication": [ { "@type": "PublicationEvent", "@id": "https://identifiers.org/doi:10.1093/bioinformatics/btx229", "name": "Orthologous Matrix (OMA) algorithm 2.0: more robust to asymmetric evolutionary rates and more scalable hierarchical orthologous group inference", "endDate": "2017-07" }, { "@type": "PublicationEvent", "@id": "https://identifiers.org/doi:10.1371/journal.pone.0053786", "name": "Inferring Hierarchical Orthologous Groups From Orthologous Gene Pairs", "endDate": "2013-01" } ], "license": { "@type": "CreativeWork", "name": "Creative Commons CC4 Attribution", "url": "https://creativecommons.org/licenses/by/4.0/" }, "image": { "@type": "ImageObject", "url": "https://omabrowser.org//static/image/logo-oma.svg" }, "creator": { "@type": "Organization", "@id": "https://lab.dessimoz.org", "name": "Laboratory of Computational Evolutionary Biology", "url": "https://lab.dessimoz.org", "email": [ "christophe.dessmoz@unil.ch", "adrian.altenhoff@sib.swiss" ], "memberOf": [ { "@type": "Organization", "name": "SIB Swiss Institute of Bioinformatics", "url": "https://www.sib.swiss/", "sameAs": "https://ror.org/002n09z45" }, { "@type": "Organization", "name": "University of Lausanne", "url": "https://www.unil.ch/", "sameAs": "https://ror.org/019whta54" }, { "@type": "Organization", "name": "ETH Zurich", "url": "https://ethz.ch/", "sameAs": "https://ror.org/05a28rw58" } ] }, "version": "All.Jul2024", "dataset": [ { "@type": "Dataset", "@id": "https://omabrowser.org/All.Jul2024/oma-hogs.orthoXML.gz", "name": "Hierarchical orthologous groups (HOGs)", "description": "Precomputed HOGs computed with the OMA GETHOGs algorithm for OMA release All.Jul2024", "license": { "@type": "CreativeWork", "name": "Creative Commons CC4 Attribution", "url": "https://creativecommons.org/licenses/by/4.0/" }, "creator": { "@type": "Organization", "@id": "https://lab.dessimoz.org" } }, { "@type": "Dataset", "@id": "https://omabrowser.org/All.Jul2024/oma-groups.orthoXML.xml.gz", "name": "OMA Groups", "description": "Precomputed OMA Groups for OMA release All.Jul2024. OMA Groups are marker genes that can be used to infer species phylogenies", "license": { "@type": "CreativeWork", "name": "Creative Commons CC4 Attribution", "url": "https://creativecommons.org/licenses/by/4.0/" }, "creator": { "@type": "Organization", "@id": "https://lab.dessimoz.org" } }, { "@type": "Dataset", "@id": "https://omabrowser.org/All.Jul2024/oma-pairs.txt.gz", "name": "Pairwise orthologs", "description": "Precomputed pairwise orthologs for all species pairs in OMA release All.Jul2024.", "license": { "@type": "CreativeWork", "name": "Creative Commons CC4 Attribution", "url": "https://creativecommons.org/licenses/by/4.0/" }, "creator": { "@type": "Organization", "@id": "https://lab.dessimoz.org" } } ] }, {"@type": ["SoftwareApplication", "SoftwareSourceCode"], "@id": "https://omabrowser.org/standalone", "identifier": "OMA", "name": "OMA Standalone", "description": "Software Package to compute OMA orthologs on own datasets", "url": "https://omabrowser.org/standalone", "keywords": ["software", "tool", "orthology", "evolutionary gene relations", "evolution", "paralogy", "HOGs", "hierarchical orthologous groups", "inference"], "license": "https://spdx.org/licenses/MPL-2.0.html", "citation": { "@type": "ScholarlyArticle", "headline": "OMA standalone: orthology inference among public and custom genomes and transcriptomes", "identifier": [ "https://doi.org/10.1101/gr.243212.118", "https://pubmed.ncbi.nlm.nih.gov/31235654" ], "datePublished": "2019-07" }, "http://purl.org/dc/terms/conformsTo": { "@id": "https://bioschemas.org/profiles/ComputationalTool/1.0-RELEASE", "@type": "CreativeWork" }, "applicationCategory": "Command-line tool", "applicationSubCategory": "http://edamontology.org/operation_0324", "creator": { "@type": "Organization", "@id": "https://lab.dessimoz.org", "name": "Laboratory of Computational Evolutionary Biology", "url": "https://lab.dessimoz.org", "email": [ "christophe.dessmoz@unil.ch", "adrian.altenhoff@sib.swiss" ], "memberOf": [ { "@type": "Organization", "name": "SIB Swiss Institute of Bioinformatics", "url": "https://www.sib.swiss/", "sameAs": "https://ror.org/002n09z45" }, { "@type": "Organization", "name": "University of Lausanne", "url": "https://www.unil.ch/", "sameAs": "https://ror.org/019whta54" }, { "@type": "Organization", "name": "ETH Zurich", "url": "https://ethz.ch/", "sameAs": "https://ror.org/05a28rw58" } ] }, "softwareVersion": "2.6.0", "codeRepository": "https://github.com/DessimozLab/OmaStandalone", "operatingSystem": ["Linux", "Mac"] } ]} </script> </head> <body class="landing"> <nav class="navbar fixed-top navbar-expand-xl bg-light navbar-light topnav"> <div class="logos-navbar mr-auto"> <a href="https://www.sib.swiss/"><img src="/static/image/logo-SIB.png" alt="Logo SIB"/></a> <a href="/oma/home/"><img src="/static/image/logo-oma-mobile.svg" alt="Logo OMA small"/></a> </div> <button type="button" class="navbar-toggler ml-auto collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> <span></span> <span></span> <span></span> </button> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <div class="navbar-nav ml-auto"> <ul class="navbar-nav"> <!-- explore dropdown --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-nowrap" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Explore <span class="caret"></span></a> <div class="dropdown-menu" role="menu"> <a class="dropdown-item" href="/oma/release/">Species/release information</a> <a class="dropdown-item" href="/oma/phylostratigraphy/">Phylostratigraphy</a> <div class="dropdown-divider"></div> <div role="presentation" class="dropdown-header">Quick access to</div> <a class="dropdown-item" href="/oma/genome/">Extant and Ancestral genomes</a> <a class="dropdown-item" href="/oma/landOMA/">OMA groups</a> <a class="dropdown-item" href="/oma/hogs/">Hierarchical orthologous groups (HOGs)</a> <a class="dropdown-item" href="/oma/landAnnotation/">Functional annotations</a> <a class="dropdown-item" href="/oma/synteny/">Local synteny</a> </div> </li> <!-- compute dropdown --> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle text-nowrap" data-toggle="dropdown">Tools <span class="caret"></span></a> <div class="dropdown-menu" role="menu"> <div role="presentation" class="dropdown-header">Online tools</div> <a class="dropdown-item" href="/oma/fastmapping/">Fast mapping</a> <a class="dropdown-item" href="/oma/functions/">Functional prediction</a> <a class="dropdown-item" href="/oma/dotplot/">Synteny dotplot</a> <a class="dropdown-item" href="/oma/genomePW/">Genome pair orthology</a> <a class="dropdown-item" href="/oma/go_enrichment/">GO enrichment analysis</a> <a class="dropdown-item" href="/oma/omamo/search/">OMA-MO: Find model organism</a> <a class="dropdown-item" href="https://omark.omabrowser.org">OMArk: Assess proteome quality</a> <div class="dropdown-divider"></div> <div role="presentation" class="dropdown-header">Software</div> <a class="dropdown-item" href="https://omabrowser.org/standalone/">OMA StandAlone</a> <a class="dropdown-item" href="https://github.com/dessimozlab/read2tree">read2tree</a> <a class="dropdown-item" href="https://github.com/dessimozlab/FastOMA">FastOMA</a> <a class="dropdown-item" href="https://github.com/dessimozlab/pyham">pyHam</a> <div class="dropdown-divider"></div> <div role="presentation" class="dropdown-header">Visualisation tools</div> <a class="dropdown-item" href="https://phylo.io/">Phylo.io</a> <a class="dropdown-item" href="https://github.com/dessimozlab/iham">IHam</a> <div class="dropdown-divider"></div> <a class="dropdown-item text-center" href="/oma/tools/"><b> <i class="fas fa-toolbox"></i> See all OMA tools</b></a> </div> </li> <!-- Download dropdown --> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle text-nowrap" data-toggle="dropdown">Download <span class="caret"></span></a> <ul class="dropdown-menu" role="menu"> <div role="presentation" class="dropdown-header">OMA database files</div> <a class="dropdown-item" href="/oma/current/">Current release</a> <a class="dropdown-item" href="/oma/export/">Export All/All</a> <a class="dropdown-item" href="/oma/export_markers">Export marker genes</a> <a class="dropdown-item" href="/oma/archives/">Archives</a> <div class="dropdown-divider"></div> <div role="presentation" class="dropdown-header">API</div> <a class="dropdown-item" href="/api/docs">OMA API</a> <a class="dropdown-item" href="/oma/APISOAP/">SOAP</a> <a class="dropdown-item" href="https://bioconductor.org/packages/release/bioc/html/OmaDB.html">R API binding</a> <a class="dropdown-item" href="https://github.com/DessimozLab/pyomadb">Python API binding</a> <div class="dropdown-divider"></div> <div role="presentation" class="dropdown-header">Semantic web</div> <a class="dropdown-item" href="https://sparql.omabrowser.org/">SPARQL endpoint</a> <div class="dropdown-divider"></div> <a class="dropdown-item text-center" href="/oma/uses/"><b> <i class="fas fa-keyboard"></i> Access the OMA data</b></a> </ul> </li> <!-- Help dropdown --> <li class="nav-item dropdown"> <a href="#" class="nav-link dropdown-toggle text-nowrap" data-toggle="dropdown">Help <span class="caret"></span></a> <ul class="dropdown-menu dropdown-menu-right" role="menu"> <a class="dropdown-item" href="/oma/about/">Introduction</a> <a class="dropdown-item" href="/oma/type/">Orthology Basics</a> <a class="dropdown-item" href="/oma/homologs/">Type of homologs</a> <a class="dropdown-item" href="/oma/uses/">Access the OMA data</a> <a class="dropdown-item" href="/oma/tools/">Catalog of tools</a> <a class="dropdown-item" href="/oma/suggestion/genome/">Suggesting a genome</a> <a class="dropdown-item" href="/oma/FAQ/">FAQ</a> <a class="dropdown-item" href="https://www.biostars.org/tag/oma/">Q&A on BioStars</a> <a class="dropdown-item " href="/oma/glossary/"> Glossary</a> <div class="dropdown-divider"></div> <a class="dropdown-item text-center" href="/oma/academy/"><b> <i class="fas fa-book"></i> OMA Academy</b></a> </ul> </li> <!-- about dropdown --> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle text-nowrap" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">About <span class="caret"></span></a> <div class="dropdown-menu dropdown-menu-right" role="menu"> <a class="dropdown-item" href="/oma/about/">OMA</a> <a class="dropdown-item" href="/oma/team/">Team</a> <a class="dropdown-item" href="/oma/sab/">SAB</a> <a class="dropdown-item" href="/oma/funding/">Funding</a> <a class="dropdown-item" href="/oma/terms_of_use/">Terms of use</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="mailto:contact@omabrowser.org"><span class="glyphicon glyphicon-envelope"></span> Contact</a> </div> </li> </ul> </div> </div> </nav> <div id="oma-search-container"> <div class="container"> <div class="logo-oma-lg"></div> <div class="oma-search "> <script src="/static/js/vue.js"></script> <style> .button_search { cursor:pointer; align-self: center; height: 100%; background-color: transparent; border: none; margin-right: 4px; margin-left: auto; order: 2; } .button_search:disabled { cursor:not-allowed; } .help_icon { align-self: center; font-size: 1.5em; margin: 4px; cursor: pointer; } .prefix-dropdown { border: none; background-color: transparent; } .vl { border-left: 2px solid grey; margin-left: 4px; margin-right: 4px; } #search_nav_input_part { display: flex; border: 1px solid #eee; font-size: 0.9em; box-sizing: border-box; padding: 0 0 0 4px; border-radius: 500px; } .ml-input{} .sl-input{height: 50px;} .token-input__tag { height: 30px; display: inline-block; margin-right: 10px; background-color: #eee; margin-top: 10px; line-height: 30px; padding: 0 5px; border-radius: 5px; } .token-input__tag > span { cursor: pointer; opacity: 0.75; } .token-input__text { border: none; outline: none; font-size: 0.9em; line-height: 50px; flex-grow: 1; background: transparent; } .token-delete { margin-left: 4px; color: red; } #token-container_search_nav{ overflow: scroll; display: inline; } .ml-token-con{margin-bottom: 8px;} .sl-token-con{white-space: nowrap;} </style> <script type="module"> const {createApp} = Vue window.search_token_vue_search_nav = createApp({ data() { return { tokens: [], //{query: 'HUMAN', single_term: true, prefix: "Species", type: "Taxon"} prefixes: { 'Protein': ['proteinid','xref','go','ec','description','domain','sequence'], 'Taxon': ['species','taxid', 'taxon'], 'HOG': ['hog','sequence'], 'OMA_Group': ['og', 'fingerprint','sequence'], }, default_prefix : 'description', show_error: false, error_message : " Error.", post_query_search_nav: '', multiline: true, wild_card: 'sequence', placeholder: ' "Blue-light photoreceptor" | proteinid:P53_RAT | species:"Drosophila melanogaster" ', //'P53_RAT | Insulin | species:HUMAN | "auxin response factor"', placeholder_default: 'proteinid:P53_RAT | "Blue-light photoreceptor" | species:"Drosophila melanogaster" ' //'P53_RAT | Insulin | species:HUMAN | "auxin response factor"', } }, compilerOptions: { delimiters: ["$[", "]$"] }, methods: { get_list_prefixes(lowercase=false){ let lp = [].concat(...Object.values(this.prefixes)); if (lowercase){ lp = lp.map(element => {return element.toLowerCase();}); } return lp }, get_prefix_used(){ return this.tokens.map(x => this.get_type_prefix(x.prefix)); }, get_type_prefix(prefix){ for (var key in this.prefixes) { if (this.prefixes.hasOwnProperty(key)) { if (this.prefixes[key].includes(prefix.toLowerCase())){ return key } } } return null }, addToken(event) { event.preventDefault() let val = event.target.value.trim(); if (val.length === 0 && this.tokens.length > 0){ this.collect_token() // wanted to auto search if press and empty + token but post request miss post_query data } else { var sinle_term = val[0] !== '"'; var multi_term_closed = (val.length > 1 && val[val.length - 1] === '"') var has_prefix = val.includes(':') var prefix_end = val[val.length - 1] === ':' var p = has_prefix ? val.split(':')[0].toLowerCase() : this.default_prefix; // If prefix but not valid if (has_prefix && !this.get_list_prefixes(true).includes(p.toLowerCase())) { this.show_error = true; this.error_message = "Error: Incorrect prefix." return; } else { this.show_error = false; } // If something typed if (val.length > 0) { // Multiple word query if (!sinle_term) { // STOP if multiple not closed if (!multi_term_closed) { if (event.code === "Space") { event.target.value = val + ' ' } return } } // STOP if the prefix is fine and we are at : if (prefix_end) { return } // has a prefix if (has_prefix) { var tmp = val.split(':')[1].trim() sinle_term = tmp[0] !== '"'; multi_term_closed = (val.length > 1 && tmp[tmp.length - 1] === '"') // multiple term if (!sinle_term) { // STOP if not closed if (!multi_term_closed) { if (event.code === "Space") { event.target.value = val + ' ' } return } } val = tmp } if (this.validate_token(val.replaceAll('"', ''), sinle_term, p)) { val = val.replaceAll('"', '') this.tokens.push({ query: val, single_term: sinle_term, prefix: p, type: this.get_type_prefix(p) }); event.target.value = ''; } } } document.getElementById("token-container_search_nav").scrollLeft += 200000; }, addToken_and_search(event){ this.addToken(event); if (this.tokens.length > 0){ this.collect_token() this.$refs.submit_button.click(); } }, removeToken(index) { this.tokens.splice(index, 1) }, removeLastToken(event) { if (event.target.value.length === 0) { this.removeToken(this.tokens.length - 1) } }, enter_from_input(event) { if (event.target.value.trim().length > 0) {this.addToken(event)} else{ event.target.nextElementSibling.focus().click() } }, collect_token(){ this.post_query_search_nav = JSON.stringify(this.tokens) }, detokenize(index){ var token = this.tokens.splice(index, 1)[0]; var input_token_search = document.getElementById('input_token_search_search_nav'); var token_str = token.prefix + ': ' token_str += token.single_term ? '' : '"' token_str += token.query token_str += token.single_term ? '' : '"' input_token_search.value = token_str }, on_change_prefix(target, t){ var prefix = target.value if (this.validate_token(t.query, t.single_term,prefix, true)){ t.prefix = prefix.toLowerCase() } else { target.value = t.prefix; } }, validate_token(val, sinle_term, p , OnChange=false){ if (this.wild_card.includes(p)){ return true } // todo Validate type val is valid for p // validate prefix not in conflict with other prefix var pu = this.get_prefix_used(); var current_prefix_type = this.get_type_prefix(p) if (current_prefix_type !== 'Taxon'){ var no_taxon = pu.filter(x => x !== 'Taxon'); if (no_taxon.length == 0){return true} else if (OnChange && no_taxon.length == 1){return true} else if (no_taxon.length > 0 && no_taxon.includes(current_prefix_type) ){return true} else if (no_taxon.length > 0 && !no_taxon.includes(current_prefix_type)) { this.show_error = true; this.error_message = "Warning: You are searching for " + no_taxon[0] + "; you can't add a token for " + current_prefix_type return false } } return true }, preload_token(tokens){ this.tokens = [] for (var i in tokens) { var token = tokens[i] if (this.validate_token(token.query, token.sinle_term, token.prefix )){ this.tokens.push({query: token.query, single_term: token.sinle_term, prefix: token.prefix, type:token.type}); } } this.placeholder = ''; this.$refs.input_handle.focus(); }, is_empty(){return this.tokens.length === 0}, modal_clicked(){ $('#exampleModal_search_nav').modal('show') }, format_token_string(str){ if (str.length < 20){return str} return str.slice(0, 20) + '...' } }, }).mount('#search_nav') var autocomplete_opts = { paramName: 'search', serviceUrl: '/api/xref/', minChars: 3, triggerSelectOnValidInput: false, deferRequestBy: 200, transformResult: function (response) { var json = JSON.parse(response); var xref_source_order = ['UniProtKB/SwissProt', 'UniProtKB/TrEMBL', 'Ensembl Protein', 'Ensembl Gene', 'Ensembl Transcript', 'RefSeq', 'EntrezGene', 'FlyBase', 'WormBase', 'EnsemblGenomes', 'NCBI', 'EMBL', 'SourceID', 'SourceAC', 'HGNC', 'Gene Name', 'Synonym', 'Protein Name', 'ORF Name', 'Ordered Locus Name', 'PDB', 'Swiss Model', 'STRING', 'neXtProt', 'Bgee', 'EPD', 'ChEMBL', 'GlyConnect', 'SwissPalm', 'DisGeNET', 'WikiGene', 'IPI', 'GI', 'n/a']; json.sort(function (a, b){ const idx_a = xref_source_order.indexOf(a.source), idx_b = xref_source_order.indexOf(b.source); if (idx_a === idx_b){ return a.xref > b.xref ? 1 : -1; } return idx_a - idx_b; }); return { suggestions: $.map(json, function (dataItem) { return {value: dataItem.xref, data: dataItem}; }) }; }, groupBy: 'source', formatResult: function(suggestion, currentValue) { // Do not replace anything if there current value is empty if (!currentValue) { return suggestion.value; } // escape any special char var pattern = '(' + currentValue.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&") + ')'; var highlight_and_escape = function(val){ return val.replace(new RegExp(pattern, 'gi'), '<strong>$1<\/strong>') .replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(/"/g, '"') .replace(/<(\/?strong)>/g, '<$1>'); }; return '<span class="auto-xref">' + highlight_and_escape(suggestion.data.xref) + '</span> ' + '<span class="auto-omaid">' + suggestion.data.omaid + '</span>' + '<span class="auto-species">' + highlight_and_escape(suggestion.data.genome.species) + '</span>'; }, onSelect: function(item){ window.location.href = "/oma/vps/" + item.data.entry_nr; return false; }, response: function( event, ui ) {console.log('HOG')} }; $('#input_token_search_search_nav').autocomplete(autocomplete_opts); </script> <!-- Modal --> <div class="modal fade" data-backdrop="false" id="exampleModal_search_nav" tabindex="-1" aria-labelledby="exampleModalLabelsearch_nav" aria-hidden="true"> <div class="modal-dialog modal-lg modal-dialog-centered" > <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title" id="exampleModalLabelsearch_nav">How to use the search in OMA Browser ?</h4> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body" style="text-align: justify"> <strong>How does the search work?</strong> <p>Input a query in the search field. Everytime you press Space or Enter after a word, a <b>token</b> will be created. The token is composed of a <b>prefix</b> describing how the query should be treated and the actual <b>query</b> itself.</p> <strong>What are the different types of tokens?</strong> <p>Each token represents either a Gene, HOG, OMA group, or Taxon. Prefixes are used to specify which category to associate with the query term. </p> <table class="table table-bordered"> <thead> <tr> <th scope="col">Category</th> <th scope="col">Prefixes</th> </tr> </thead> <tbody> <tr> <th scope="row">Genes</th> <td>id, go, ec, description, domain, sequence</td> </tr> <tr> <th scope="row">HOGs</th> <td>hog, sequence</td> </tr> <tr> <th scope="row">OMA Groups</th> <td>omagroup, fingerprint, sequence</td> </tr> <tr> <th scope="row">Taxon</th> <td>species, taxid, taxon</td> </tr> </tbody> </table> <small>For example, the token [go:4225] will search for genes in the OMA database annotated with the GO:0004225 gene ontology term. </small> <br> <strong>How to search for a multi-word query?</strong> <p>If your query term is composed of multiple words (e.g homo sapiens), use " " to encapsulate it. </p> <strong>How many tokens can I have?</strong> <p>There is no limit on the number of tokens. It is not possible to enter multiple tokens of different categories, except taxon, which can be combined with other categories. For example, you can search for 'hog:60627 species:HUMAN' to return human genes found in HOG:606207. </p> <strong>How to edit/delete a token?</strong> <p>To edit a query, click on it to modify the input field. To edit a prefix, click on the dropdown icon to select another one. To remove a token, click on the x to delete it.</p> <strong>Autosuggest</strong> <p>Typing a query without hitting enter or space will prompt an autosuggestion for the identifier after a few seconds.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div> </div> <form method="POST" id='form_' action="/oma/search-token/" > <input type="hidden" name="csrfmiddlewaretoken" value="FYfpeBuqoTXuOiV17gPMGqNoVR2RfY2TD2pA4M7Kgq6pLnr4Nv9TYhC4p0DmagYJ"> <div id="search_nav"> <div id="search_nav_input_part" :class="multiline ? 'ml-input' : 'sl-input'"> <span class="material-symbols-outlined help_icon" @click="modal_clicked"> help </span> <div id="token-container_search_nav" :class="multiline ? 'ml-token-con' : 'sl-token-con'" > <span v-for="token, index in tokens" :key="token" class="token-input__tag"> <select class="prefix-dropdown" @change="on_change_prefix($event.target, token)"> <template v-for="(prefixes_list, prefix_type) in prefixes"> <optgroup :label="prefix_type" > <option v-for="prefix in prefixes_list" :key="prefix" :selected="prefix == token.prefix"> $[ prefix ]$ </option> </optgroup> </template> </select> <span class="vl"></span> <p style="display: inline" @click='detokenize(index)'> $[ format_token_string(token.query) ]$ </p> <span @click='removeToken(index)' class="token-delete">X</span> </select> </span> </div> <input type="hidden" name="hidden_query" :value="post_query_search_nav"> <input type='text' :placeholder='placeholder' ref="input_handle" class='token-input__text' id="input_token_search_search_nav" @keydown.enter='enter_from_input' @keydown.space='addToken' @keydown.delete='removeLastToken' /> <button class=" button_search float-right" id="button_submit" ref="submit_button" :disabled="is_empty()" @click='collect_token()' type="submit"> <img style='width: 24px;' src="/static/image/logo-oma-o.svg" alt="Logo OMA icon"/> </button> </div> <div style="display: flex" v-show="show_error"> <small style="color: red; margin-right: auto;" > $[this.error_message]$ </small> </div> </div> </form> </div> <div class="oma-quick-start"> <!-- <img src="/static/image/icon-bulb-add.png" alt="Quick start Examples"/> --> <p> <strong>Examples:</strong> <span class="ex" onclick="window.search_token_vue_search_nav.preload_token([{query: 'P53_RAT', single_term: true, prefix: 'proteinid', type: 'Protein'}])">Entry P53_RAT</span> - <span class="ex" onclick="window.search_token_vue_search_nav.preload_token([{query: 'EWGKQSF', single_term: true, prefix: 'sequence', type: 'Protein'},{query: 'Tetraodon', single_term: true, prefix: 'species', type: 'Taxon'}])">'EWGKQSF' in Tetraodon</span> - <span class="ex" onclick="window.search_token_vue_search_nav.preload_token([{query: 'Blue-light photoreceptor', single_term: false, prefix: 'description', type: 'Protein'}])">Search for "Blue-light photoreceptor"</span> - <span class="ex" onclick="window.search_token_vue_search_nav.preload_token([{query: 'Drosophila melanogaster', single_term: false, prefix: 'species', type: 'Taxon'}])">"Drosophila melanogaster" species</span> </p> </div> <div class="d-none d-lg-block scroll4more"> <h5>Scroll to discover more</h5> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 258.97" > <title>chevronDown</title> <g id="Layer_2" data-name="Layer 2"> <g id="Capa_1" data-name="Capa 1"> <path d="M298.41,241.44,506.13,34.16A20,20,0,0,0,477.87,5.84L270.14,213.14a20,20,0,0,1-28.3,0L34.13,5.84A20,20,0,0,0,5.87,34.16l207.7,207.27A60.07,60.07,0,0,0,298.41,241.44Z"/> </g> </g> </svg> </div> </div> </div> <div id="omaLandingOthersContainer"> <div id="oma-statistics"> <div class="container"> <div class="row row-centered"> <div class="col-md-1"></div> <div class="col-md-2"> <h1>2,927</h1> <h3>Full genomes</h3> </div> <div class="col-md-2"> <h1>24,790,217</h1> <h3>Proteins</h3> </div> <div class="col-md-2"> <h1>1,428,654</h1> <h3>OMA groups</h3> </div> <div class="col-md-2"> <h1>1,040,435</h1> <h3>Deepest HOGs</h3> </div> <div class="col-md-2" id="last_stat"> <h1>All.Jul2024</h1> <h3>Release</h3> </div> <div class="col-md-1"></div> </div> </div> </div> <div id="oma-landing-cards"> <div class="container-fluid"> <div class="row "> <div class="col-lg-3 col-md-6"> <div class="oma-card"> <div class="oma-mobile-accordion"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" width="75.75" height="95.88" viewBox="0 0 37.875 47.94"> <path d="M32.797,11.784 C32.269,11.877 31.886,12.319 31.886,12.835 L31.886,14.923 C31.886,15.123 31.811,15.299 31.708,15.455 C31.672,15.513 31.644,15.578 31.597,15.628 C31.546,15.675 31.482,15.702 31.423,15.739 C31.266,15.842 31.090,15.916 30.889,15.916 C30.688,15.916 30.511,15.842 30.355,15.739 C30.296,15.703 30.231,15.675 30.181,15.628 C30.134,15.578 30.106,15.513 30.069,15.455 C29.966,15.299 29.892,15.123 29.892,14.923 L29.892,12.835 C29.892,11.354 30.967,10.089 32.449,9.826 C35.272,9.329 35.869,7.466 35.873,5.991 C35.876,4.275 34.793,2.725 33.240,2.219 C31.942,1.800 30.596,1.995 29.545,2.757 C28.514,3.505 27.898,4.707 27.898,5.976 C27.898,6.525 27.452,6.971 26.902,6.971 C26.351,6.971 25.905,6.525 25.905,5.976 C25.905,4.074 26.828,2.270 28.373,1.149 C29.946,0.009 31.944,-0.290 33.856,0.329 C36.222,1.098 37.871,3.427 37.866,5.994 C37.859,9.107 36.011,11.216 32.797,11.784 ZM30.889,19.892 C30.629,19.892 30.370,19.782 30.181,19.604 C30.002,19.415 29.892,19.156 29.892,18.897 C29.892,18.639 30.002,18.381 30.181,18.192 C30.550,17.824 31.227,17.824 31.597,18.192 C31.776,18.381 31.886,18.639 31.886,18.897 C31.886,19.156 31.776,19.415 31.597,19.604 C31.407,19.782 31.148,19.892 30.889,19.892 ZM21.972,2.043 C21.603,2.016 21.233,2.001 20.856,2.001 C12.246,2.001 4.972,8.905 4.972,17.077 L4.972,19.591 C4.972,19.647 4.949,19.695 4.940,19.748 C4.932,19.802 4.938,19.855 4.920,19.908 L2.247,27.819 L5.792,29.023 C6.152,29.145 6.411,29.461 6.459,29.837 L7.705,39.514 C7.815,40.368 8.453,41.066 9.294,41.253 L16.153,42.776 C16.446,42.841 16.694,43.034 16.828,43.302 L17.875,45.940 L32.875,45.940 L29.911,31.631 C29.841,31.278 29.969,30.915 30.244,30.684 C30.284,30.649 34.424,27.052 35.573,20.671 C35.670,20.130 36.188,19.770 36.730,19.869 C37.272,19.966 37.633,20.482 37.535,21.023 C36.473,26.921 33.176,30.611 31.973,31.791 L34.857,46.538 C34.914,46.829 34.838,47.131 34.649,47.360 C34.459,47.589 34.173,47.940 33.875,47.940 L17.875,47.940 C17.497,47.940 16.709,47.510 16.540,47.173 L15.257,44.613 L8.861,43.192 C7.204,42.826 5.944,41.449 5.728,39.767 L4.561,30.704 L0.663,29.380 C0.143,29.204 -0.135,28.640 0.040,28.122 L2.978,19.428 L2.978,17.077 C2.978,7.827 11.165,0.013 20.856,0.013 C21.282,0.013 21.702,0.029 22.120,0.060 C22.669,0.101 23.081,0.578 23.040,1.125 C22.999,1.672 22.524,2.083 21.972,2.043 Z" class="cls-1"/> </svg> <h1>First time here?</h1> <i class="material-icons"> keyboard_arrow_right </i> </div> <div class="oma-card-content"> <ul> <li> <p> Introduction to OMA: See OMA in a nutshell (<a href="/oma/about/">Introduction</a>) in OMA doc. </p> </li> <li> <p> Familiarise yourself with <a href="/oma/type/">orthology basics</a>: <a href="https://swissorthology.ch/service/about"> Swiss Orthology</a> , <a href="https://orthology.benchmarkservice.org/proxy/"> Orthology benchmark</a>. </p> </li> <li> <p> Familiarise yourself with the <a href="/oma/homologs/">different types of homologs</a> in the OMA doc. </p> </li> <li> <p> Get ideas about <a href="/oma/uses/">different types of analyses you could do with OMA</a>. </p> </li> <li class="btn-more-container" > <button type="button" class="btn btn-outline-dark " onclick="location.href='/oma/about/'" >Start to read about OMA</button> </li> </ul> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="oma-card"> <div class="oma-mobile-accordion"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" width="96" height="95.82" viewBox="0 0 48 47.91"> <path d="M47.000,18.909 L44.000,18.909 C43.447,18.909 43.000,18.507 43.000,17.956 C43.000,17.405 43.447,16.909 44.000,16.909 L47.000,16.909 C47.553,16.909 48.000,17.405 48.000,17.956 C48.000,18.507 47.553,18.909 47.000,18.909 ZM41.707,5.687 C41.512,5.882 41.256,5.980 41.000,5.980 C40.744,5.980 40.488,5.882 40.293,5.687 C39.902,5.298 39.902,4.666 40.293,4.276 L44.293,0.284 C44.684,-0.106 45.316,-0.106 45.707,0.284 C46.098,0.674 46.098,1.306 45.707,1.695 L41.707,5.687 ZM31.898,31.677 C31.164,32.339 30.997,33.765 30.997,34.212 L30.997,42.479 C30.997,42.530 30.993,42.581 30.985,42.631 C30.703,44.454 28.880,47.898 23.998,47.898 C19.117,47.898 17.293,44.454 17.011,42.631 C17.003,42.581 16.999,42.530 16.999,42.479 L16.999,34.215 C16.995,33.741 16.824,32.366 16.089,31.668 C11.453,28.178 8.998,23.628 8.998,18.498 C8.998,9.945 15.727,2.986 23.998,2.986 C32.269,2.986 38.998,9.945 38.998,18.498 C38.998,23.633 36.540,28.186 31.898,31.677 ZM23.998,45.902 C28.082,45.902 28.878,42.977 28.997,42.388 L28.997,37.981 C27.333,38.667 25.706,38.925 24.224,38.925 C22.051,38.925 20.210,38.395 18.999,37.930 L18.999,42.390 C19.114,42.961 19.904,45.902 23.998,45.902 ZM23.998,4.982 C16.830,4.982 10.998,11.045 10.998,18.498 C10.998,24.190 14.459,27.966 17.363,30.131 C17.380,30.144 17.388,30.162 17.403,30.176 C17.417,30.188 17.435,30.191 17.448,30.204 C18.954,31.612 18.999,33.949 18.999,34.212 L18.999,35.772 C20.422,36.432 24.653,37.986 28.997,35.777 L28.997,34.212 C28.997,33.943 29.042,31.553 30.564,30.189 C30.576,30.179 30.590,30.176 30.602,30.167 C30.615,30.156 30.620,30.141 30.634,30.131 C33.537,27.966 36.998,24.190 36.998,18.498 C36.998,11.045 31.166,4.982 23.998,4.982 ZM3.707,35.629 C3.512,35.824 3.256,35.922 3.000,35.922 C2.744,35.922 2.488,35.824 2.293,35.629 C1.902,35.239 1.902,34.607 2.293,34.218 L6.293,30.226 C6.684,29.836 7.316,29.836 7.707,30.226 C8.098,30.615 8.098,31.247 7.707,31.636 L3.707,35.629 ZM6.999,5.980 C6.743,5.980 6.487,5.882 6.292,5.687 L2.292,1.695 C1.901,1.306 1.901,0.674 2.292,0.284 C2.683,-0.106 3.315,-0.106 3.706,0.284 L7.706,4.276 C8.097,4.666 8.097,5.298 7.706,5.687 C7.511,5.882 7.255,5.980 6.999,5.980 ZM5.000,17.956 C5.000,18.507 4.553,18.909 4.000,18.909 L1.000,18.909 C0.447,18.909 0.000,18.507 0.000,17.956 C0.000,17.405 0.447,16.909 1.000,16.909 L4.000,16.909 C4.553,16.909 5.000,17.405 5.000,17.956 ZM41.708,30.226 L45.708,34.218 C46.099,34.607 46.099,35.239 45.708,35.629 C45.513,35.824 45.257,35.922 45.001,35.922 C44.745,35.922 44.489,35.824 44.294,35.629 L40.294,31.636 C39.903,31.247 39.903,30.615 40.294,30.226 C40.685,29.836 41.317,29.836 41.708,30.226 Z" class="cls-1"/> </svg> <h1>OMA tools</h1> <i class="material-icons"> keyboard_arrow_right </i> </div> <div class="oma-card-content"> <br> <ul> <li> <a href="https://corona.omabrowser.org/"><img src="/static/image/logo-oma-corona.svg" style="width: 60px;"> Corona OMA Browser <span class="badge badge-pill badge-success float-right">Online tool</span></a></li> <li> <a href="https://omabrowser.org/standalone/">OMA StandAlone <span class="badge badge-pill badge-dark float-right">Software</span></a> </li> <li> <a href="https://github.com/dessimozlab/pyham">pyHam </a> <span class="badge badge-pill badge-dark float-right">Python library</span></li> <li> <a href="/oma/functions/">Functional prediction <span class="badge badge-pill badge-success float-right">Online tool</span></a></li> <li> <a href="/oma/dotplot/">Synteny dotplot <span class="badge badge-pill badge-success float-right">Online tool</span></a></li> <li> <a href="https://swissorthology.ch"> Combined Orthology prediction from OMA & orthoDB <span class="badge badge-pill badge-dark float-right">Resource</span> </a></li> <li class="btn-more-container" > <button type="button" class="btn btn-outline-dark " onclick="location.href='/oma/tools/'" >Discover more tools</button> </li> </ul> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="oma-card"> <div class="oma-mobile-accordion"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" width="90" height="78" viewBox="0 0 60 52"> <path d="M45.123,43.992 C45.081,43.997 45.040,44.000 44.999,44.000 C44.502,44.000 44.070,43.628 44.008,43.122 C43.940,42.575 44.329,42.074 44.877,42.008 C52.236,41.096 58.000,34.822 58.000,27.726 C58.000,19.856 51.510,13.453 43.533,13.453 C43.241,13.453 42.947,13.470 42.656,13.501 C42.201,13.557 41.762,13.278 41.606,12.842 C39.304,6.357 33.085,1.999 26.133,1.999 C17.091,1.999 9.734,9.258 9.734,18.179 C9.734,18.934 9.800,19.700 9.934,20.519 C10.014,21.006 9.727,21.479 9.257,21.632 C4.916,23.046 2.000,27.029 2.000,31.543 C2.000,37.308 6.755,42.000 12.600,42.000 L15.000,42.000 C15.552,42.000 16.000,42.446 16.000,43.000 C16.000,43.552 15.552,44.000 15.000,44.000 L12.600,44.000 C5.652,44.000 0.000,38.412 0.000,31.543 C0.000,26.441 3.119,21.910 7.844,20.018 C7.770,19.390 7.734,18.782 7.734,18.179 C7.734,8.155 15.988,-0.001 26.133,-0.001 C33.672,-0.001 40.443,4.572 43.220,11.458 C43.325,11.455 43.429,11.453 43.533,11.453 C52.613,11.453 60.000,18.753 60.000,27.726 C60.000,35.813 53.465,42.958 45.123,43.992 ZM22.707,42.293 L29.000,48.585 L29.000,29.000 C29.000,28.447 29.448,28.000 30.000,28.000 C30.552,28.000 31.000,28.447 31.000,29.000 L31.000,48.585 L37.293,42.293 C37.684,41.902 38.316,41.902 38.707,42.293 C39.098,42.683 39.098,43.316 38.707,43.706 L30.709,51.705 C30.616,51.798 30.505,51.872 30.381,51.923 C30.259,51.973 30.130,51.999 30.000,51.999 C29.870,51.999 29.741,51.973 29.619,51.923 C29.495,51.872 29.384,51.798 29.292,51.705 L21.293,43.706 C20.902,43.316 20.902,42.683 21.293,42.293 C21.684,41.902 22.316,41.902 22.707,42.293 Z" class="cls-1"/> </svg> <h1>Download options</h1> <i class="material-icons"> keyboard_arrow_right </i> </div> <div class="oma-card-content"> <br> <ul> <li><b><a href="/oma/current/">Current release</a>:</b> All data is available for download in a variety of formats. </li> <li><b><a href="/api/docs">API</a>:</b> The OMA Browser now has a REST API ! </li> <li><b><a href="/oma/export/">Export All-All</a>:</b> Export a set of genomes and their precomputed all-against-all comparisons for OMA standalone. </li> <li class="btn-more-container" > <button type="button" class="btn btn-outline-dark" onclick="location.href='/oma/uses/'" >See more download options</button> </li> </ul> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="oma-card"> <div class="oma-mobile-accordion"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid" width="90" height="90" viewBox="0 0 60 60"> <path d="M59.000,51.999 L38.002,51.999 C34.141,51.999 31.000,55.139 31.000,58.999 C31.000,59.553 30.552,59.999 30.000,59.999 C29.448,59.999 29.000,59.553 29.000,58.999 C29.000,55.139 25.859,51.999 21.998,51.999 L1.000,51.999 C0.448,51.999 -0.000,51.552 -0.000,50.999 L-0.000,0.999 C-0.000,0.446 0.448,-0.002 1.000,-0.002 L22.267,-0.002 C22.274,-0.002 22.280,0.002 22.287,0.002 C25.634,0.010 28.541,1.912 30.000,4.689 C31.459,1.912 34.366,0.010 37.713,0.002 C37.720,0.002 37.726,-0.002 37.733,-0.002 L59.000,-0.002 C59.552,-0.002 60.000,0.446 60.000,0.999 L60.000,50.999 C60.000,51.552 59.552,51.999 59.000,51.999 ZM29.000,8.732 C29.000,5.021 25.980,2.002 22.267,2.002 C22.263,2.002 22.259,2.000 22.255,2.000 L2.000,2.000 L2.000,49.999 L22.267,49.999 C22.299,49.999 22.326,50.015 22.357,50.018 C25.037,50.124 27.419,51.399 29.000,53.356 L29.000,8.733 C29.000,8.733 29.000,8.733 29.000,8.732 C29.000,8.732 29.000,8.732 29.000,8.732 ZM58.000,2.000 L37.745,2.000 C37.741,2.000 37.737,2.002 37.733,2.002 C34.021,2.002 31.000,5.021 31.000,8.732 C31.000,8.732 31.000,8.732 31.000,8.732 C31.000,8.733 31.000,8.733 31.000,8.733 L31.000,53.356 C32.581,51.399 34.963,50.124 37.643,50.018 C37.674,50.015 37.701,49.999 37.733,49.999 L58.000,49.999 L58.000,2.000 ZM36.000,38.000 C36.000,37.446 36.448,37.000 37.000,37.000 L52.000,37.000 C52.552,37.000 53.000,37.446 53.000,38.000 C53.000,38.552 52.552,39.000 52.000,39.000 L37.000,39.000 C36.448,39.000 36.000,38.552 36.000,38.000 ZM52.000,27.999 L37.000,27.999 C36.448,27.999 36.000,27.552 36.000,26.998 C36.000,26.447 36.448,25.999 37.000,25.999 L52.000,25.999 C52.552,25.999 53.000,26.447 53.000,26.998 C53.000,27.552 52.552,27.999 52.000,27.999 ZM52.000,15.999 L37.000,15.999 C36.448,15.999 36.000,15.552 36.000,14.999 C36.000,14.446 36.448,13.999 37.000,13.999 L52.000,13.999 C52.552,13.999 53.000,14.446 53.000,14.999 C53.000,15.552 52.552,15.999 52.000,15.999 ZM23.000,39.000 L8.000,39.000 C7.448,39.000 7.000,38.552 7.000,38.000 C7.000,37.446 7.448,37.000 8.000,37.000 L23.000,37.000 C23.552,37.000 24.000,37.446 24.000,38.000 C24.000,38.552 23.552,39.000 23.000,39.000 ZM23.000,27.999 L8.000,27.999 C7.448,27.999 7.000,27.552 7.000,26.998 C7.000,26.447 7.448,25.999 8.000,25.999 L23.000,25.999 C23.552,25.999 24.000,26.447 24.000,26.998 C24.000,27.552 23.552,27.999 23.000,27.999 ZM23.000,15.999 L8.000,15.999 C7.448,15.999 7.000,15.552 7.000,14.999 C7.000,14.446 7.448,13.999 8.000,13.999 L23.000,13.999 C23.552,13.999 24.000,14.446 24.000,14.999 C24.000,15.552 23.552,15.999 23.000,15.999 Z" class="cls-1"/> </svg> <h1>Latest news</h1> <i class="material-icons"> keyboard_arrow_right </i> </div> <div class="oma-card-content"> <br> <!-- Insert Twitter feed --> <div class="oma-twitter"> <a class="twitter-timeline" href="https://twitter.com/OMAbrowser" data-tweet-limit="3" data-chrome="nofooter noborders"> Tweets by @OMAbrowser </a> </div> <br> <h1>Stay in touch</h1> <div class="icons-stay-in-touch"> <a href="javascript:show_frame('frame_twitter');" title="Twitter"> <img src="/static/image/icon-twitter-sm.png" alt="Twitter"/> </a> <a href="http://omabrowser.blogspot.com" title="Blog"> <img src="/static/image/icon-blog-write-sm.png" alt="Blog"/> </a> <a href="javascript:show_frame('frame_mailman');" title="Newsletter"> <img src="/static/image/icon-newspaper-sm.png" alt="News"/> </a> <a href="https://omabrowser.blogspot.com/feeds/posts/default" title="RSS"> <img src="/static/image/icon-rss-sm.png" alt="RSS"/> </a> </div> <span id="frame_twitter" style="display: none;"><a href="https://twitter.com/omabrowser" class="twitter-follow-button" data-show-screen-name="false" data-show-count="true">Follow</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></span> <span id="frame_mailman" style="display: none;"> <form action="/oma/mailinglist-subscribe/" method="POST"><input type="hidden" name="csrfmiddlewaretoken" value="FYfpeBuqoTXuOiV17gPMGqNoVR2RfY2TD2pA4M7Kgq6pLnr4Nv9TYhC4p0DmagYJ"> <div class="form-group"><label class="sr-only" for="id_email">Email</label><input type="email" name="email" class="form-control" placeholder="Email" title="" required id="id_email"></div> <div class="form-group"><label class="sr-only" for="id_captcha">Captcha</label><script src="https://www.google.com/recaptcha/api.js"></script> <script type="text/javascript"> // Submit function to be called, after reCAPTCHA was successful. var onSubmit_3d386763d34f460da65d9ce45a5e8fe2 = function(token) { console.log("reCAPTCHA validated for 'data-widget-uuid=\"3d386763d34f460da65d9ce45a5e8fe2\"'") }; </script> <div class="g-recaptcha" data-sitekey="6Lfc_sQlAAAAAFIj2xalVFCBbRo_XvTYQrtoEPX2" class="form-control" title="" required id="id_captcha" data-widget-uuid="3d386763d34f460da65d9ce45a5e8fe2" data-callback="onSubmit_3d386763d34f460da65d9ce45a5e8fe2" data-size="normal" > </div></div> <div class="form-group"> <button type="submit" class="btn btn-primary float-right">Sign up</button> </div> <br/>(max 1-2 emails/month, no spam!) </form> </span> <script> function show_frame(frame){ var frames = ["frame_twitter", "frame_mailman"]; frames.forEach(function(frm){ document.getElementById(frm).style.display = (frm === frame ? 'initial' : 'none'); }); } </script> </div> </div> </div> </div> </div> </div> <div id="oma-citation"> <div class="container"> <div class="oma-alert"> <img src="/static/image/icon-info.svg" alt="!"/> <p>If you use OMA in your work, please consider citing:<br/> Altenhoff A et al., <em> <b>OMA orthology in 2024: improved prokaryote coverage, ancestral and extant GO enrichment, a revamped synteny viewer and more in the OMA Ecosystem</b></em> Nucleic Acids Research, 2024, <b>52</b>(D1):D513鈥揇521 (doi:<a href="https://doi.org/10.1093/nar/gkad1020">10.1093/nar/gkad1020</a>)</p> <a href="https://swissorthology.ch"><img style="width: 100px" src="/static/image/logo-swiss-orthology.svg" alt="Logo SwissOrthology"></a> </div> </div> </div> </div> <script> $('.oma-mobile-accordion').click(function () { if ( $(window).width() < 769) { $(this).next('.oma-card-content').slideToggle('fast').siblings('.oma-card-content:visible').slideUp('fast'); $(this).toggleClass("active").siblings().removeClass("active"); } }); function resize() { if ($(window).width() < 769) { [].forEach.call(document.querySelectorAll('.oma-card-content'), function (el) { $(el).toggle(false); $(el).prev('.oma-mobile-accordion').removeClass("active"); }); } ; if ($(window).width() > 769) { [].forEach.call(document.querySelectorAll('.oma-card-content'), function (el) { $(el).toggle(true); $(el).prev('.oma-mobile-accordion').removeClass("active"); }); } ; } window.onresize = resize; </script> </body> </html>