diff options
-rw-r--r-- | bh20simplewebuploader/main.py | 14 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/about.html | 4 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/form.html | 2 | ||||
-rw-r--r-- | bh20simplewebuploader/templates/org-header.html | 293 | ||||
-rw-r--r-- | doc/blog/using-covid-19-pubseq-part1.org | 2 | ||||
-rw-r--r-- | doc/web/about.html | 462 | ||||
-rw-r--r-- | doc/web/about.org | 134 |
7 files changed, 906 insertions, 5 deletions
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py index a30d350..eb9a0f5 100644 --- a/bh20simplewebuploader/main.py +++ b/bh20simplewebuploader/main.py @@ -428,7 +428,19 @@ def blog_page(): @app.route('/about') def about_page(): - return render_template('about.html',menu='ABOUT') + buf = "" + in_body = False + begin_body = re.compile(r"<body>",re.IGNORECASE) + end_body = re.compile(r"(</body>|.*=\"postamble\")",re.IGNORECASE) + with open('doc/web/about.html') as f: + for line in f: + if end_body.match(line): + break + if in_body: + buf += line + elif begin_body.match(line): + in_body = True + return render_template('about.html',menu='ABOUT',embed=buf) ## Dynamic API functions starting here ## This is quick and dirty for now, just to get something out and demonstrate the queries diff --git a/bh20simplewebuploader/templates/about.html b/bh20simplewebuploader/templates/about.html index 286a211..07b6951 100644 --- a/bh20simplewebuploader/templates/about.html +++ b/bh20simplewebuploader/templates/about.html @@ -1,11 +1,11 @@ <!DOCTYPE html> <html> - {% include 'header.html' %} + {% include 'org-header.html' %} <body> {% include 'banner.html' %} {% include 'menu.html' %} - WIP + {{ embed|safe }} {% include 'footer.html' %} diff --git a/bh20simplewebuploader/templates/form.html b/bh20simplewebuploader/templates/form.html index b1bbad2..3a1b03b 100644 --- a/bh20simplewebuploader/templates/form.html +++ b/bh20simplewebuploader/templates/form.html @@ -12,7 +12,7 @@ Upload your SARS-CoV-2 sequence (FASTA or FASTQ formats) with metadata (JSONLD) to the <a href="https://workbench.lugli.arvadosapi.com/collections/lugli-4zz18-z513nlpqm03hpca">public sequence resource</a>. The upload will trigger a recompute with all available sequences into a Pangenome available for - <a href="https://workbench.lugli.arvadosapi.com/collections/lugli-4zz18-z513nlpqm03hpca">download</a>! + <a href="https://collections.lugli.arvadosapi.com/c=lugli-4zz18-z513nlpqm03hpca/">download</a>! </p> <p> Your uploaded sequence will automatically be processed diff --git a/bh20simplewebuploader/templates/org-header.html b/bh20simplewebuploader/templates/org-header.html new file mode 100644 index 0000000..915bcb7 --- /dev/null +++ b/bh20simplewebuploader/templates/org-header.html @@ -0,0 +1,293 @@ +<head> + <link href="https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap" rel="stylesheet"> + <link href="/static/main.css" rel="stylesheet" type="text/css"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Web uploader for Public SARS-CoV-2 Sequence Resource</title> + <script type="text/javascript" src="/static/main.js"></script> +<!-- 2020-05-24 Sun 08:10 --> +<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<meta name="generator" content="Org mode" /> +<meta name="author" content="Pjotr Prins" /> +<style type="text/css"> + <!--/*--><![CDATA[/*><!--*/ + .title { text-align: center; + margin-bottom: .2em; } + .subtitle { text-align: center; + font-size: medium; + font-weight: bold; + margin-top:0; } + .todo { font-family: monospace; color: red; } + .done { font-family: monospace; color: green; } + .priority { font-family: monospace; color: orange; } + .tag { background-color: #eee; font-family: monospace; + padding: 2px; font-size: 80%; font-weight: normal; } + .timestamp { color: #bebebe; } + .timestamp-kwd { color: #5f9ea0; } + .org-right { margin-left: auto; margin-right: 0px; text-align: right; } + .org-left { margin-left: 0px; margin-right: auto; text-align: left; } + .org-center { margin-left: auto; margin-right: auto; text-align: center; } + .underline { text-decoration: underline; } + #postamble p, #preamble p { font-size: 90%; margin: .2em; } + p.verse { margin-left: 3%; } + pre { + border: 1px solid #ccc; + box-shadow: 3px 3px 3px #eee; + padding: 8pt; + font-family: monospace; + overflow: auto; + margin: 1.2em; + } + pre.src { + position: relative; + overflow: visible; + padding-top: 1.2em; + } + pre.src:before { + display: none; + position: absolute; + background-color: white; + top: -10px; + right: 10px; + padding: 3px; + border: 1px solid black; + } + pre.src:hover:before { display: inline;} + /* Languages per Org manual */ + pre.src-asymptote:before { content: 'Asymptote'; } + pre.src-awk:before { content: 'Awk'; } + pre.src-C:before { content: 'C'; } + /* pre.src-C++ doesn't work in CSS */ + pre.src-clojure:before { content: 'Clojure'; } + pre.src-css:before { content: 'CSS'; } + pre.src-D:before { content: 'D'; } + pre.src-ditaa:before { content: 'ditaa'; } + pre.src-dot:before { content: 'Graphviz'; } + pre.src-calc:before { content: 'Emacs Calc'; } + pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } + pre.src-fortran:before { content: 'Fortran'; } + pre.src-gnuplot:before { content: 'gnuplot'; } + pre.src-haskell:before { content: 'Haskell'; } + pre.src-hledger:before { content: 'hledger'; } + pre.src-java:before { content: 'Java'; } + pre.src-js:before { content: 'Javascript'; } + pre.src-latex:before { content: 'LaTeX'; } + pre.src-ledger:before { content: 'Ledger'; } + pre.src-lisp:before { content: 'Lisp'; } + pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } + pre.src-matlab:before { content: 'MATLAB'; } + pre.src-mscgen:before { content: 'Mscgen'; } + pre.src-ocaml:before { content: 'Objective Caml'; } + pre.src-octave:before { content: 'Octave'; } + pre.src-org:before { content: 'Org mode'; } + pre.src-oz:before { content: 'OZ'; } + pre.src-plantuml:before { content: 'Plantuml'; } + pre.src-processing:before { content: 'Processing.js'; } + pre.src-python:before { content: 'Python'; } + pre.src-R:before { content: 'R'; } + pre.src-ruby:before { content: 'Ruby'; } + pre.src-sass:before { content: 'Sass'; } + pre.src-scheme:before { content: 'Scheme'; } + pre.src-screen:before { content: 'Gnu Screen'; } + pre.src-sed:before { content: 'Sed'; } + pre.src-sh:before { content: 'shell'; } + pre.src-sql:before { content: 'SQL'; } + pre.src-sqlite:before { content: 'SQLite'; } + /* additional languages in org.el's org-babel-load-languages alist */ + pre.src-forth:before { content: 'Forth'; } + pre.src-io:before { content: 'IO'; } + pre.src-J:before { content: 'J'; } + pre.src-makefile:before { content: 'Makefile'; } + pre.src-maxima:before { content: 'Maxima'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-picolisp:before { content: 'Pico Lisp'; } + pre.src-scala:before { content: 'Scala'; } + pre.src-shell:before { content: 'Shell Script'; } + pre.src-ebnf2ps:before { content: 'ebfn2ps'; } + /* additional language identifiers per "defun org-babel-execute" + in ob-*.el */ + pre.src-cpp:before { content: 'C++'; } + pre.src-abc:before { content: 'ABC'; } + pre.src-coq:before { content: 'Coq'; } + pre.src-groovy:before { content: 'Groovy'; } + /* additional language identifiers from org-babel-shell-names in + ob-shell.el: ob-shell is the only babel language using a lambda to put + the execution function name together. */ + pre.src-bash:before { content: 'bash'; } + pre.src-csh:before { content: 'csh'; } + pre.src-ash:before { content: 'ash'; } + pre.src-dash:before { content: 'dash'; } + pre.src-ksh:before { content: 'ksh'; } + pre.src-mksh:before { content: 'mksh'; } + pre.src-posh:before { content: 'posh'; } + /* Additional Emacs modes also supported by the LaTeX listings package */ + pre.src-ada:before { content: 'Ada'; } + pre.src-asm:before { content: 'Assembler'; } + pre.src-caml:before { content: 'Caml'; } + pre.src-delphi:before { content: 'Delphi'; } + pre.src-html:before { content: 'HTML'; } + pre.src-idl:before { content: 'IDL'; } + pre.src-mercury:before { content: 'Mercury'; } + pre.src-metapost:before { content: 'MetaPost'; } + pre.src-modula-2:before { content: 'Modula-2'; } + pre.src-pascal:before { content: 'Pascal'; } + pre.src-ps:before { content: 'PostScript'; } + pre.src-prolog:before { content: 'Prolog'; } + pre.src-simula:before { content: 'Simula'; } + pre.src-tcl:before { content: 'tcl'; } + pre.src-tex:before { content: 'TeX'; } + pre.src-plain-tex:before { content: 'Plain TeX'; } + pre.src-verilog:before { content: 'Verilog'; } + pre.src-vhdl:before { content: 'VHDL'; } + pre.src-xml:before { content: 'XML'; } + pre.src-nxml:before { content: 'XML'; } + /* add a generic configuration mode; LaTeX export needs an additional + (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */ + pre.src-conf:before { content: 'Configuration File'; } + + table { border-collapse:collapse; } + caption.t-above { caption-side: top; } + caption.t-bottom { caption-side: bottom; } + td, th { vertical-align:top; } + th.org-right { text-align: center; } + th.org-left { text-align: center; } + th.org-center { text-align: center; } + td.org-right { text-align: right; } + td.org-left { text-align: left; } + td.org-center { text-align: center; } + dt { font-weight: bold; } + .footpara { display: inline; } + .footdef { margin-bottom: 1em; } + .figure { padding: 1em; } + .figure p { text-align: center; } + .equation-container { + display: table; + text-align: center; + width: 100%; + } + .equation { + vertical-align: middle; + } + .equation-label { + display: table-cell; + text-align: right; + vertical-align: middle; + } + .inlinetask { + padding: 10px; + border: 2px solid gray; + margin: 10px; + background: #ffffcc; + } + #org-div-home-and-up + { text-align: right; font-size: 70%; white-space: nowrap; } + textarea { overflow-x: auto; } + .linenr { font-size: smaller } + .code-highlighted { background-color: #ffff00; } + .org-info-js_info-navigation { border-style: none; } + #org-info-js_console-label + { font-size: 10px; font-weight: bold; white-space: nowrap; } + .org-info-js_search-highlight + { background-color: #ffff00; color: #000000; font-weight: bold; } + .org-svg { width: 90%; } + /*]]>*/--> + +.title { font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,monospace } +.table-of-contents { font-family: monospace; color: red; } +/* .text-table-of-contents { font-family: monospace; color: black; font-size:80%; } */ +.timestamp { font-family: monospace; color: darkgreen; } + +h1,h2 { font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,monospace; color +:black;background-color:#F0F8FF; } +h2,h3,h4 { color: darkblue; } +code { color: darkblue; } +body {font-family: Palatino, 'Palatino Linotype', serif; color:black; font-size: l +arge } + +div.verbatim { color: black; background-color: white; border-style:outset; font-family: palatino font, mono +space; font-size:80%; font-weight:bold; } +div.quote { font-family: palatino font, monospace; font-size:80%; } +div.quotation { font-family: palatino font, monospace; font-size:80%; } +pre.example { font-family: prestige, monospace; color:black; font-size:70%; background-color: lightyellow; + } +pre.src { font-family: prestige, monospace; font-weight: bold; color:white; font-size:80%; background-color +: black; } + +div[id="text-table-of-contents"]{ + font-family: palatino font, monospace; background-color:white; + border-style: dotted; + border-color: #98bf21; + border-width: 1px; +} +div[class^="outline-text"] { + background-color:#ebe6f0; + border-style: dotted; + border-color: #98bf21; + border-width: 1px; + font-family: Palatino, 'Palatino Linotype', serif; color:black; font-size: large +} +span[class="todo TESTING"] { + color:purple; +} +span[class="todo IN_PROGRESS"] { + color:brown; +} +span[class^="section-number"] { + color:grey; +} +span[class="journal"] { + color:darkblue; +} +span[class="year"] { + color:darkred; +} + +</style> +<script type="text/javascript"> +/* +@licstart The following is the entire license notice for the +JavaScript code in this tag. + +Copyright (C) 2012-2020 Free Software Foundation, Inc. + +The JavaScript code in this tag is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or (at your option) +any later version. The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + + +@licend The above is the entire license notice +for the JavaScript code in this tag. +*/ +<!--/*--><![CDATA[/*><!--*/ + function CodeHighlightOn(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.cacheClassElem = elem.className; + elem.cacheClassTarget = target.className; + target.className = "code-highlighted"; + elem.className = "code-highlighted"; + } + } + function CodeHighlightOff(elem, id) + { + var target = document.getElementById(id); + if(elem.cacheClassElem) + elem.className = elem.cacheClassElem; + if(elem.cacheClassTarget) + target.className = elem.cacheClassTarget; + } +/*]]>*///--> +</script> +</head> diff --git a/doc/blog/using-covid-19-pubseq-part1.org b/doc/blog/using-covid-19-pubseq-part1.org index 8d3dae5..b1edbad 100644 --- a/doc/blog/using-covid-19-pubseq-part1.org +++ b/doc/blog/using-covid-19-pubseq-part1.org @@ -11,7 +11,7 @@ most importantly, providing standardised workflows that get triggered on upload, so that results are immediately available in standardised data formats. -* Table of Contents :TOC: +* Table of Contents :TOC:noexport: - [[#what-does-this-mean][What does this mean?]] - [[#fetch-sequence-data][Fetch sequence data]] - [[#predicates][Predicates]] diff --git a/doc/web/about.html b/doc/web/about.html new file mode 100644 index 0000000..1f8b1a1 --- /dev/null +++ b/doc/web/about.html @@ -0,0 +1,462 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<!-- 2020-05-24 Sun 10:27 --> +<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<title>About/FAQ</title> +<meta name="generator" content="Org mode" /> +<meta name="author" content="Pjotr Prins" /> +<style type="text/css"> + <!--/*--><![CDATA[/*><!--*/ + .title { text-align: center; + margin-bottom: .2em; } + .subtitle { text-align: center; + font-size: medium; + font-weight: bold; + margin-top:0; } + .todo { font-family: monospace; color: red; } + .done { font-family: monospace; color: green; } + .priority { font-family: monospace; color: orange; } + .tag { background-color: #eee; font-family: monospace; + padding: 2px; font-size: 80%; font-weight: normal; } + .timestamp { color: #bebebe; } + .timestamp-kwd { color: #5f9ea0; } + .org-right { margin-left: auto; margin-right: 0px; text-align: right; } + .org-left { margin-left: 0px; margin-right: auto; text-align: left; } + .org-center { margin-left: auto; margin-right: auto; text-align: center; } + .underline { text-decoration: underline; } + #postamble p, #preamble p { font-size: 90%; margin: .2em; } + p.verse { margin-left: 3%; } + pre { + border: 1px solid #ccc; + box-shadow: 3px 3px 3px #eee; + padding: 8pt; + font-family: monospace; + overflow: auto; + margin: 1.2em; + } + pre.src { + position: relative; + overflow: visible; + padding-top: 1.2em; + } + pre.src:before { + display: none; + position: absolute; + background-color: white; + top: -10px; + right: 10px; + padding: 3px; + border: 1px solid black; + } + pre.src:hover:before { display: inline;} + /* Languages per Org manual */ + pre.src-asymptote:before { content: 'Asymptote'; } + pre.src-awk:before { content: 'Awk'; } + pre.src-C:before { content: 'C'; } + /* pre.src-C++ doesn't work in CSS */ + pre.src-clojure:before { content: 'Clojure'; } + pre.src-css:before { content: 'CSS'; } + pre.src-D:before { content: 'D'; } + pre.src-ditaa:before { content: 'ditaa'; } + pre.src-dot:before { content: 'Graphviz'; } + pre.src-calc:before { content: 'Emacs Calc'; } + pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } + pre.src-fortran:before { content: 'Fortran'; } + pre.src-gnuplot:before { content: 'gnuplot'; } + pre.src-haskell:before { content: 'Haskell'; } + pre.src-hledger:before { content: 'hledger'; } + pre.src-java:before { content: 'Java'; } + pre.src-js:before { content: 'Javascript'; } + pre.src-latex:before { content: 'LaTeX'; } + pre.src-ledger:before { content: 'Ledger'; } + pre.src-lisp:before { content: 'Lisp'; } + pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } + pre.src-matlab:before { content: 'MATLAB'; } + pre.src-mscgen:before { content: 'Mscgen'; } + pre.src-ocaml:before { content: 'Objective Caml'; } + pre.src-octave:before { content: 'Octave'; } + pre.src-org:before { content: 'Org mode'; } + pre.src-oz:before { content: 'OZ'; } + pre.src-plantuml:before { content: 'Plantuml'; } + pre.src-processing:before { content: 'Processing.js'; } + pre.src-python:before { content: 'Python'; } + pre.src-R:before { content: 'R'; } + pre.src-ruby:before { content: 'Ruby'; } + pre.src-sass:before { content: 'Sass'; } + pre.src-scheme:before { content: 'Scheme'; } + pre.src-screen:before { content: 'Gnu Screen'; } + pre.src-sed:before { content: 'Sed'; } + pre.src-sh:before { content: 'shell'; } + pre.src-sql:before { content: 'SQL'; } + pre.src-sqlite:before { content: 'SQLite'; } + /* additional languages in org.el's org-babel-load-languages alist */ + pre.src-forth:before { content: 'Forth'; } + pre.src-io:before { content: 'IO'; } + pre.src-J:before { content: 'J'; } + pre.src-makefile:before { content: 'Makefile'; } + pre.src-maxima:before { content: 'Maxima'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-picolisp:before { content: 'Pico Lisp'; } + pre.src-scala:before { content: 'Scala'; } + pre.src-shell:before { content: 'Shell Script'; } + pre.src-ebnf2ps:before { content: 'ebfn2ps'; } + /* additional language identifiers per "defun org-babel-execute" + in ob-*.el */ + pre.src-cpp:before { content: 'C++'; } + pre.src-abc:before { content: 'ABC'; } + pre.src-coq:before { content: 'Coq'; } + pre.src-groovy:before { content: 'Groovy'; } + /* additional language identifiers from org-babel-shell-names in + ob-shell.el: ob-shell is the only babel language using a lambda to put + the execution function name together. */ + pre.src-bash:before { content: 'bash'; } + pre.src-csh:before { content: 'csh'; } + pre.src-ash:before { content: 'ash'; } + pre.src-dash:before { content: 'dash'; } + pre.src-ksh:before { content: 'ksh'; } + pre.src-mksh:before { content: 'mksh'; } + pre.src-posh:before { content: 'posh'; } + /* Additional Emacs modes also supported by the LaTeX listings package */ + pre.src-ada:before { content: 'Ada'; } + pre.src-asm:before { content: 'Assembler'; } + pre.src-caml:before { content: 'Caml'; } + pre.src-delphi:before { content: 'Delphi'; } + pre.src-html:before { content: 'HTML'; } + pre.src-idl:before { content: 'IDL'; } + pre.src-mercury:before { content: 'Mercury'; } + pre.src-metapost:before { content: 'MetaPost'; } + pre.src-modula-2:before { content: 'Modula-2'; } + pre.src-pascal:before { content: 'Pascal'; } + pre.src-ps:before { content: 'PostScript'; } + pre.src-prolog:before { content: 'Prolog'; } + pre.src-simula:before { content: 'Simula'; } + pre.src-tcl:before { content: 'tcl'; } + pre.src-tex:before { content: 'TeX'; } + pre.src-plain-tex:before { content: 'Plain TeX'; } + pre.src-verilog:before { content: 'Verilog'; } + pre.src-vhdl:before { content: 'VHDL'; } + pre.src-xml:before { content: 'XML'; } + pre.src-nxml:before { content: 'XML'; } + /* add a generic configuration mode; LaTeX export needs an additional + (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */ + pre.src-conf:before { content: 'Configuration File'; } + + table { border-collapse:collapse; } + caption.t-above { caption-side: top; } + caption.t-bottom { caption-side: bottom; } + td, th { vertical-align:top; } + th.org-right { text-align: center; } + th.org-left { text-align: center; } + th.org-center { text-align: center; } + td.org-right { text-align: right; } + td.org-left { text-align: left; } + td.org-center { text-align: center; } + dt { font-weight: bold; } + .footpara { display: inline; } + .footdef { margin-bottom: 1em; } + .figure { padding: 1em; } + .figure p { text-align: center; } + .equation-container { + display: table; + text-align: center; + width: 100%; + } + .equation { + vertical-align: middle; + } + .equation-label { + display: table-cell; + text-align: right; + vertical-align: middle; + } + .inlinetask { + padding: 10px; + border: 2px solid gray; + margin: 10px; + background: #ffffcc; + } + #org-div-home-and-up + { text-align: right; font-size: 70%; white-space: nowrap; } + textarea { overflow-x: auto; } + .linenr { font-size: smaller } + .code-highlighted { background-color: #ffff00; } + .org-info-js_info-navigation { border-style: none; } + #org-info-js_console-label + { font-size: 10px; font-weight: bold; white-space: nowrap; } + .org-info-js_search-highlight + { background-color: #ffff00; color: #000000; font-weight: bold; } + .org-svg { width: 90%; } + /*]]>*/--> +</style> +<script type="text/javascript"> +/* +@licstart The following is the entire license notice for the +JavaScript code in this tag. + +Copyright (C) 2012-2020 Free Software Foundation, Inc. + +The JavaScript code in this tag is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or (at your option) +any later version. The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + + +@licend The above is the entire license notice +for the JavaScript code in this tag. +*/ +<!--/*--><![CDATA[/*><!--*/ + function CodeHighlightOn(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.cacheClassElem = elem.className; + elem.cacheClassTarget = target.className; + target.className = "code-highlighted"; + elem.className = "code-highlighted"; + } + } + function CodeHighlightOff(elem, id) + { + var target = document.getElementById(id); + if(elem.cacheClassElem) + elem.className = elem.cacheClassElem; + if(elem.cacheClassTarget) + target.className = elem.cacheClassTarget; + } +/*]]>*///--> +</script> +</head> +<body> +<div id="content"> +<h1 class="title">About/FAQ</h1> +<div id="table-of-contents"> +<h2>Table of Contents</h2> +<div id="text-table-of-contents"> +<ul> +<li><a href="#org4fc5d3e">1. What is the 'public sequence resource' about?</a></li> +<li><a href="#orga424b3d">2. Who created the public sequence resource?</a></li> +<li><a href="#org250dbae">3. How does the public sequence resource compare to other data resources?</a></li> +<li><a href="#orgd065057">4. Why should I upload my data here?</a></li> +<li><a href="#org5f94b02">5. Why should I not upload by data here?</a></li> +<li><a href="#orgbaaaeaf">6. How does the public sequence resource work?</a></li> +<li><a href="#org68363cb">7. Is this about open data?</a></li> +<li><a href="#orgb6aaf34">8. Is this about free software?</a></li> +<li><a href="#orga01eab2">9. How do I upload raw data?</a></li> +<li><a href="#org57f1ee0">10. How do I change metadata?</a></li> +<li><a href="#org5585441">11. How do I change the work flows?</a></li> +<li><a href="#orgc51ee58">12. How do I change the source code?</a></li> +<li><a href="#org79c6c9b">13. How do I deal with private data and privacy?</a></li> +<li><a href="#org8ed8b69">14. Who are the sponsors?</a></li> +</ul> +</div> +</div> + +<div id="outline-container-org4fc5d3e" class="outline-2"> +<h2 id="org4fc5d3e"><span class="section-number-2">1</span> What is the 'public sequence resource' about?</h2> +<div class="outline-text-2" id="text-1"> +<p> +The <b>public sequence resource</b> aims to provide a generic and useful +resource for COVID-19 research. The focus is on providing the best +possible sequence data with associated metadata that can be used for +sequence comparison and protein prediction. +</p> +</div> +</div> + +<div id="outline-container-orga424b3d" class="outline-2"> +<h2 id="orga424b3d"><span class="section-number-2">2</span> Who created the public sequence resource?</h2> +<div class="outline-text-2" id="text-2"> +<p> +The <b>public sequence resource</b> is an initiative by <a href="https://github.com/arvados/bh20-seq-resource/graphs/contributors">bioinformatics</a> and +ontology experts who want to create something agile and useful for +the wider research community. The initiative started at the COVID-19 +biohackathon in April 2020 and is ongoing. The main project drivers +are Pjotr Prins (UTHSC), Peter Amstutz (Curii), Michael Crusoe (Common +Workflow Language) and Thomas Liener (consultant, formerly EBI). But +as this is a free software initiative the project represents major +work by hundreds of software developers and ontology and data +wrangling experts. Thank you everyone! +</p> +</div> +</div> + +<div id="outline-container-org250dbae" class="outline-2"> +<h2 id="org250dbae"><span class="section-number-2">3</span> How does the public sequence resource compare to other data resources?</h2> +<div class="outline-text-2" id="text-3"> +<p> +The short version is that we use state-of-the-art practices in +bioinformatics using agile methods. Unlike the resources from large +institutes we can improve things on a dime and anyone can contribute +to building out this resource! +</p> + +<p> +Importantly: all data is published under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons 4.0 +attribution license</a> which means it data can be published and workflows +can run in public environments allowing for improved access for +research and reproducible results. This contrasts with some other +public resources, including GISAID. +</p> +</div> +</div> + +<div id="outline-container-orgd065057" class="outline-2"> +<h2 id="orgd065057"><span class="section-number-2">4</span> Why should I upload my data here?</h2> +<div class="outline-text-2" id="text-4"> +<ol class="org-ol"> +<li>We champion truly shareable data without licensing restrictions - with proper +attribution</li> +<li>We provide full metadata support using state-of-the-art ontology's</li> +<li>We provide a web-based sequence uploader and a command-line version +for bulk uploads</li> +<li>We provide a live SPARQL end-point for all metadata</li> +<li>We provide free data analysis and sequence comparison triggered on data upload</li> +<li>We provide free downloads of all computed output</li> +<li>There is no need to set up pipelines and/or compute clusters</li> +<li>All workflows get triggered on uploading a new sequence</li> +<li>When someone (you?) improves the software/workflows and everyone benefits</li> +</ol> + +<p> +Finally, if you upload your data here we have workflows that output +formatted data suitable for uploading to EBI resources (and soon +others). Uploading your data here get your data ready for upload to +multiple resources. +</p> +</div> +</div> + +<div id="outline-container-org5f94b02" class="outline-2"> +<h2 id="org5f94b02"><span class="section-number-2">5</span> Why should I not upload by data here?</h2> +<div class="outline-text-2" id="text-5"> +<p> +Funny question. There is no good reason not to upload your data here! +In fact, you can upload your data here as well as to other +resources. It is your data after all. No one can prevent you from +uploading your data to multiple resources. We recommend uploading to +EBI and NCBI resources. Use our data conversion tools to only enter +data once and make the process smooth. +</p> +</div> +</div> + +<div id="outline-container-orgbaaaeaf" class="outline-2"> +<h2 id="orgbaaaeaf"><span class="section-number-2">6</span> How does the public sequence resource work?</h2> +<div class="outline-text-2" id="text-6"> +<p> +On uploading a sequence with metadata it will automatically be +processed and incorporated into the public pangenome with metadata +using workflows from the High Performance Open Biology Lab defined +<a href="https://github.com/hpobio-lab/viral-analysis/tree/master/cwl/pangenome-generate">here</a>. +</p> +</div> +</div> + +<div id="outline-container-org68363cb" class="outline-2"> +<h2 id="org68363cb"><span class="section-number-2">7</span> Is this about open data?</h2> +<div class="outline-text-2" id="text-7"> +<p> +All data is published under a <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons 4.0 attribution license</a> +(CC-BY-4.0). You can download the raw and published (GFA/RDF/FASTA) +data and store it for further processing. +</p> +</div> +</div> + +<div id="outline-container-orgb6aaf34" class="outline-2"> +<h2 id="orgb6aaf34"><span class="section-number-2">8</span> Is this about free software?</h2> +<div class="outline-text-2" id="text-8"> +<p> +Absolutely. Free software allows for fully reproducible pipelines. You +can take our workflows and data and run it elsewhere! +</p> +</div> +</div> + +<div id="outline-container-orga01eab2" class="outline-2"> +<h2 id="orga01eab2"><span class="section-number-2">9</span> How do I upload raw data?</h2> +<div class="outline-text-2" id="text-9"> +<p> +We are preparing raw sequence data pipelines (fastq and BAM). The +reason is that we want the best data possible for downstream analysis +(including protein prediction and test development). The current +approach where people publish final sequences of SARS-CoV-2 is lacking +because it hides how this sequence was created. For reasons of +reproducible and improved results we want/need to work with the raw +sequence reads (both short reads and long reads) and take alternative +assembly variations into consideration. This is all work in progress. +</p> +</div> +</div> + +<div id="outline-container-org57f1ee0" class="outline-2"> +<h2 id="org57f1ee0"><span class="section-number-2">10</span> How do I change metadata?</h2> +<div class="outline-text-2" id="text-10"> +<p> +See the <a href="http://covid19.genenetwork.org/blog">http://covid19.genenetwork.org/blog</a>! +</p> +</div> +</div> + +<div id="outline-container-org5585441" class="outline-2"> +<h2 id="org5585441"><span class="section-number-2">11</span> How do I change the work flows?</h2> +<div class="outline-text-2" id="text-11"> +<p> +See the <a href="http://covid19.genenetwork.org/blog">http://covid19.genenetwork.org/blog</a>! +</p> +</div> +</div> + +<div id="outline-container-orgc51ee58" class="outline-2"> +<h2 id="orgc51ee58"><span class="section-number-2">12</span> How do I change the source code?</h2> +<div class="outline-text-2" id="text-12"> +<p> +Go to our <a href="https://github.com/arvados/bh20-seq-resource">source code repositories</a>, fork/clone the repository, change +something and submit a <a href="https://github.com/arvados/bh20-seq-resource/pulls">pull request</a> (PR). That easy! Check out how +many PRs we already merged. +</p> +</div> +</div> + +<div id="outline-container-org79c6c9b" class="outline-2"> +<h2 id="org79c6c9b"><span class="section-number-2">13</span> How do I deal with private data and privacy?</h2> +<div class="outline-text-2" id="text-13"> +<p> +A public sequence resource is about public data. Metadata can refer to +private data. You can use your own (anonymous) identifiers. We also +plan to combine identifiers with clinical data stored securely at +<a href="https://redcap-covid19.elixir-luxembourg.org/redcap/">REDCap</a>. Contact Pjotr Prins if you want to work on this. +</p> +</div> +</div> + +<div id="outline-container-org8ed8b69" class="outline-2"> +<h2 id="org8ed8b69"><span class="section-number-2">14</span> Who are the sponsors?</h2> +<div class="outline-text-2" id="text-14"> +<p> +The main sponsors are listed in the footer. In addition to the time +generously donated by many contributors we also acknowledge Amazon AWS +for donating COVID-19 related compute time. +</p> +</div> +</div> +</div> +<div id="postamble" class="status"> +<hr><small>Created by <a href="http://thebird.nl/">Pjotr Prins</a> (pjotr.public768 at thebird 'dot' nl) using Emacs org-mode and a healthy dose of Lisp!<br />Modified 2020-05-24 Sun 10:26</small>. +</div> +</body> +</html> diff --git a/doc/web/about.org b/doc/web/about.org new file mode 100644 index 0000000..fc9d1ff --- /dev/null +++ b/doc/web/about.org @@ -0,0 +1,134 @@ +#+TITLE: About/FAQ +#+AUTHOR: Pjotr Prins + +* Table of Contents :TOC:noexport: + - [[#what-is-the-public-sequence-resource-about][What is the 'public sequence resource' about?]] + - [[#who-created-the-public-sequence-resource][Who created the public sequence resource?]] + - [[#how-does-the-public-sequence-resource-compare-to-other-data-resources][How does the public sequence resource compare to other data resources?]] + - [[#why-should-i-upload-my-data-here][Why should I upload my data here?]] + - [[#why-should-i-not-upload-by-data-here][Why should I not upload by data here?]] + - [[#how-does-the-public-sequence-resource-work][How does the public sequence resource work?]] + - [[#is-this-about-open-data][Is this about open data?]] + - [[#is-this-about-free-software][Is this about free software?]] + - [[#how-do-i-upload-raw-data][How do I upload raw data?]] + - [[#how-do-i-change-metadata][How do I change metadata?]] + - [[#how-do-i-change-the-work-flows][How do I change the work flows?]] + - [[#how-do-i-change-the-source-code][How do I change the source code?]] + - [[#how-do-i-deal-with-private-data-and-privacy][How do I deal with private data and privacy?]] + - [[#who-are-the-sponsors][Who are the sponsors?]] + +* What is the 'public sequence resource' about? + +The *public sequence resource* aims to provide a generic and useful +resource for COVID-19 research. The focus is on providing the best +possible sequence data with associated metadata that can be used for +sequence comparison and protein prediction. + +* Who created the public sequence resource? + +The *public sequence resource* is an initiative by [[https://github.com/arvados/bh20-seq-resource/graphs/contributors][bioinformatics]] and +ontology experts who want to create something agile and useful for +the wider research community. The initiative started at the COVID-19 +biohackathon in April 2020 and is ongoing. The main project drivers +are Pjotr Prins (UTHSC), Peter Amstutz (Curii), Michael Crusoe (Common +Workflow Language) and Thomas Liener (consultant, formerly EBI). But +as this is a free software initiative the project represents major +work by hundreds of software developers and ontology and data +wrangling experts. Thank you everyone! + +* How does the public sequence resource compare to other data resources? + +The short version is that we use state-of-the-art practices in +bioinformatics using agile methods. Unlike the resources from large +institutes we can improve things on a dime and anyone can contribute +to building out this resource! + +Importantly: all data is published under the [[https://creativecommons.org/licenses/by/4.0/][Creative Commons 4.0 +attribution license]] which means it data can be published and workflows +can run in public environments allowing for improved access for +research and reproducible results. This contrasts with some other +public resources, including GISAID. + +* Why should I upload my data here? + +1. We champion truly shareable data without licensing restrictions - with proper + attribution +2. We provide full metadata support using state-of-the-art ontology's +2. We provide a web-based sequence uploader and a command-line version + for bulk uploads +3. We provide a live SPARQL end-point for all metadata +2. We provide free data analysis and sequence comparison triggered on data upload +4. We provide free downloads of all computed output +3. There is no need to set up pipelines and/or compute clusters +4. All workflows get triggered on uploading a new sequence +4. When someone (you?) improves the software/workflows and everyone benefits + +Finally, if you upload your data here we have workflows that output +formatted data suitable for uploading to EBI resources (and soon +others). Uploading your data here get your data ready for upload to +multiple resources. + +* Why should I not upload by data here? + +Funny question. There is no good reason not to upload your data here! +In fact, you can upload your data here as well as to other +resources. It is your data after all. No one can prevent you from +uploading your data to multiple resources. We recommend uploading to +EBI and NCBI resources. Use our data conversion tools to only enter +data once and make the process smooth. + +* How does the public sequence resource work? + +On uploading a sequence with metadata it will automatically be +processed and incorporated into the public pangenome with metadata +using workflows from the High Performance Open Biology Lab defined +[[https://github.com/hpobio-lab/viral-analysis/tree/master/cwl/pangenome-generate][here]]. + +* Is this about open data? + +All data is published under a [[https://creativecommons.org/licenses/by/4.0/][Creative Commons 4.0 attribution license]] +(CC-BY-4.0). You can download the raw and published (GFA/RDF/FASTA) +data and store it for further processing. + +* Is this about free software? + +Absolutely. Free software allows for fully reproducible pipelines. You +can take our workflows and data and run it elsewhere! + +* How do I upload raw data? + +We are preparing raw sequence data pipelines (fastq and BAM). The +reason is that we want the best data possible for downstream analysis +(including protein prediction and test development). The current +approach where people publish final sequences of SARS-CoV-2 is lacking +because it hides how this sequence was created. For reasons of +reproducible and improved results we want/need to work with the raw +sequence reads (both short reads and long reads) and take alternative +assembly variations into consideration. This is all work in progress. + +* How do I change metadata? + +See the [[http://covid19.genenetwork.org/blog]]! + +* How do I change the work flows? + +See the [[http://covid19.genenetwork.org/blog]]! + +* How do I change the source code? + +Go to our [[https://github.com/arvados/bh20-seq-resource][source code repositories]], fork/clone the repository, change +something and submit a [[https://github.com/arvados/bh20-seq-resource/pulls][pull request]] (PR). That easy! Check out how +many PRs we already merged. + +* How do I deal with private data and privacy? + +A public sequence resource is about public data. Metadata can refer to +private data. You can use your own (anonymous) identifiers. We also +plan to combine identifiers with clinical data stored securely at +[[https://redcap-covid19.elixir-luxembourg.org/redcap/][REDCap]]. Contact Pjotr Prins if you want to work on this. + +* Who are the sponsors? + +The main sponsors are listed in the footer. In addition to the time +generously donated by many contributors we also acknowledge Amazon AWS +for donating COVID-19 related compute time. |