aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md12
-rw-r--r--bh20simplewebuploader/main.py1
-rw-r--r--bh20simplewebuploader/static/image/CWL-Logo-Header.pngbin0 -> 4771 bytes
-rw-r--r--bh20simplewebuploader/static/image/arvados-logo.pngbin0 -> 9514 bytes
-rw-r--r--bh20simplewebuploader/static/image/coronasmallcomp.gifbin0 -> 7335879 bytes
-rw-r--r--bh20simplewebuploader/static/image/covid19biohackathon.pngbin0 -> 21756 bytes
-rw-r--r--bh20simplewebuploader/templates/form.html141
-rw-r--r--image/website.pngbin0 -> 220860 bytes
-rw-r--r--paper/paper.md3
9 files changed, 128 insertions, 29 deletions
diff --git a/README.md b/README.md
index db4fe52..b0b22ff 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,13 @@
# Sequence uploader
-This repository provides a sequence uploader for the COVID-19 Virtual Biohackathon's Public Sequence Resource project. You can use it to upload the genomes of SARS-CoV-2 samples to make them publicly and freely available to other researchers.
+This repository provides a sequence uploader for the COVID-19 Virtual
+Biohackathon's Public Sequence Resource project. There are two
+versions, one that runs on the command line and another that acts as
+web interface. You can use it to upload the genomes of SARS-CoV-2
+samples to make them publicly and freely available to other
+researchers.
+
+![alt text](./image/website.png "Website")
To get started, first [install the uploader](#installation), and use the `bh20-seq-uploader` command to [upload your data](#usage).
@@ -175,6 +182,3 @@ gunicorn bh20simplewebuploader.main:app
```
This runs on [http://127.0.0.1:8000/](http://127.0.0.1:8000/) by default, but can be adjusted with various [gunicorn options](http://docs.gunicorn.org/en/latest/run.html#commonly-used-arguments).
-
-
-
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py
index 383ef84..81f2ef9 100644
--- a/bh20simplewebuploader/main.py
+++ b/bh20simplewebuploader/main.py
@@ -126,6 +126,7 @@ def generate_form(schema):
return list(walk_fields(root_name))
+
# At startup, we need to load the current metadata schema so we can make a form for it
METADATA_SCHEMA = yaml.safe_load(urllib.request.urlopen('https://raw.githubusercontent.com/arvados/bh20-seq-resource/master/bh20sequploader/bh20seq-schema.yml'))
FORM_ITEMS = generate_form(METADATA_SCHEMA)
diff --git a/bh20simplewebuploader/static/image/CWL-Logo-Header.png b/bh20simplewebuploader/static/image/CWL-Logo-Header.png
new file mode 100644
index 0000000..86855b4
--- /dev/null
+++ b/bh20simplewebuploader/static/image/CWL-Logo-Header.png
Binary files differ
diff --git a/bh20simplewebuploader/static/image/arvados-logo.png b/bh20simplewebuploader/static/image/arvados-logo.png
new file mode 100644
index 0000000..fdbd88e
--- /dev/null
+++ b/bh20simplewebuploader/static/image/arvados-logo.png
Binary files differ
diff --git a/bh20simplewebuploader/static/image/coronasmallcomp.gif b/bh20simplewebuploader/static/image/coronasmallcomp.gif
new file mode 100644
index 0000000..7a16637
--- /dev/null
+++ b/bh20simplewebuploader/static/image/coronasmallcomp.gif
Binary files differ
diff --git a/bh20simplewebuploader/static/image/covid19biohackathon.png b/bh20simplewebuploader/static/image/covid19biohackathon.png
new file mode 100644
index 0000000..7a744b6
--- /dev/null
+++ b/bh20simplewebuploader/static/image/covid19biohackathon.png
Binary files differ
diff --git a/bh20simplewebuploader/templates/form.html b/bh20simplewebuploader/templates/form.html
index afae4c7..1b042bf 100644
--- a/bh20simplewebuploader/templates/form.html
+++ b/bh20simplewebuploader/templates/form.html
@@ -7,10 +7,12 @@
body {
color: #101010;
+ background-color: #F9EDE1;
}
- h1, h4 {
+ h1, h2, h3, h4 {
font-family: 'Roboto Slab', serif;
+ color: darkblue;
}
h1 {
@@ -21,8 +23,19 @@
color: #505050;
font-style: italic;
}
+ .header {
+ background-color: white;
+ margin: 0 auto;
+ padding: 20px;
+ text-align: center;
+ height: 150px;
+ }
- p, form {
+ .logo {
+ float: right;
+ }
+
+ p, form, .about, .footer {
font-family: 'Raleway', sans-serif;
line-height: 1.5;
}
@@ -36,9 +49,23 @@
}
.intro {
+ background-color: lightgrey;
+ margin: 0 auto;
+ padding: 20px;
+ }
+
+ .about {
+ background-color: lightgrey;
margin: 0 auto;
padding: 20px;
}
+ .footer {
+ background-color: white;
+ margin: 0 auto;
+ }
+
+span.dropt {border-bottom: thin dotted; background: #ffeedd;}
+span.dropt:hover {text-decoration: none; background: #ffffff; z-index: 6; }
.grid-container {
display: grid;
@@ -59,10 +86,16 @@
}
.fasta-file-select {
+ padding: 1em;
grid-area: b;
}
.metadata {
+ padding: 1em;
+ grid-area: c;
+ }
+ .metadata_upload_form {
+ padding: 1em;
grid-area: c;
}
@@ -112,40 +145,64 @@
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=Raleway:wght@500&family=Roboto+Slab&display=swap" rel="stylesheet">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <title>Simple Web Uploader for Public SARS-CoV-2 Sequence Resource</title>
+ <title>Web uploader for Public SARS-CoV-2 Sequence Resource</title>
</head>
<body>
- <h1>Simple Web Uploader for Public SARS-CoV-2 Sequence Resource</h1>
+ <section class="header">
+ <div class="logo"><a href="https://github.com/tylermorganwall/coronaobj/"><img src="static/image/coronasmallcomp.gif" width="150" /></a></div>
+ <h1>Web uploader for Public SARS-CoV-2 Sequence Resource</h1>
+
+<small>Disabled until we got everything wired up</small>
+
+ </section>
<hr>
+
<section>
<form action="/submit" method="POST" enctype="multipart/form-data" id="main_form" class="grid-container">
- <p class="intro">
- This tool can be used to upload sequenced genomes of SARS-CoV-2 samples to the <a href="https://workbench.lugli.arvadosapi.com/collections/lugli-4zz18-z513nlpqm03hpca">Public SARS-CoV-2 Sequence Resource</a>. Your uploaded sequence will automatically be processed and incorporated into the public pangenome.
- </p>
+ <p class="intro">
+ 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>!
+ Your uploaded sequence will automatically be processed
+ and incorporated into the public pangenome with
+ metadata using worklows from the High Performance Open Biology Lab defined <a href="https://github.com/hpobio-lab/viral-analysis/tree/master/cwl/pangenome-generate">here</a>. 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 take the published (GFA/RDF/FASTA) data and store it in
+ a triple store for further processing.
+ A free command line version of the uploader can be
+ installed from <a href="https://github.com/arvados/bh20-seq-resource">source</a>.
+ </p>
+
<div class="fasta-file-select">
- <label for="fasta">Select FASTA file of assembled genome, or FASTQ of reads (max 50MB):</label>
+ <label for="fasta">Select FASTA file of assembled genome (max 50K), or FASTQ of reads (<span class="dropt" title="For a larger fastq file you'll need to use a CLI uploader">max 150MB<span style="width:500px;"></span></span>) : </label>
<br>
<input type="file" id="fasta" name="fasta" accept=".fa,.fasta,.fna,.fq" required>
<br>
+ <small>
+ Note that by uploading your data you automatically agree to a <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY-4.0 license</a>. </small>
</div>
<div class="metadata">
- <label>Select metadata submission method:</label>
- <br>
- <input type="radio" id="metadata_upload" name="metadata_type" value="upload" onchange="setMode()" checked required>
- <label for="metadata_upload">Upload metadata file</label>
- <input type="radio" id="metadata_form" name="metadata_type" value="fill" onchange="setMode()" required>
- <label for="metadata_form">Fill in metadata manually</label>
- <br>
- </div>
+ <label>Select metadata submission method:</label>
+ <br>
+ <input type="radio" id="metadata_form" name="metadata_type" value="fill" onchange="setMode()" checked required>
+ <label for="metadata_form">Fill in metadata manually</label>
+ <input type="radio" id="metadata_upload" name="metadata_type" value="upload" onchange="setMode()" required>
+ <label for="metadata_upload">Upload metadata file</label>
+ <br>
+ <small>Make sure the metadata has submitter attribution details.</small>
- <div id="metadata_upload_form_spot">
+ <div id="metadata_upload_form_spot">
<div id="metadata_upload_form">
- <label for="metadata">Select JSON or YAML metadata file following <a href="https://github.com/arvados/bh20-seq-resource/blob/master/bh20sequploader/bh20seq-schema.yml" target="_blank">this schema</a> (<a href="https://github.com/arvados/bh20-seq-resource/blob/master/example/metadata.yaml" target="_blank">Example 1</a>, <a href="https://github.com/arvados/bh20-seq-resource/blob/master/example/minimal_example.yaml" target="_blank">Example 2</a>, max 1MB):</label>
- <br>
- <input type="file" id="metadata" name="metadata" accept=".json,.yml,.yaml" required>
- <br>
+ <br>
+ <label for="metadata">Select JSON or YAML metadata file following <a href="https://github.com/arvados/bh20-seq-resource/blob/master/bh20sequploader/bh20seq-schema.yml" target="_blank">this schema</a> and <a href="https://github.com/arvados/bh20-seq-resource/blob/master/example/metadata.yaml" target="_blank">example</a> (max 50K):</label>
+ <br>
+ <input type="file" id="metadata" name="metadata" accept=".json,.yml,.yaml" required>
+ <br>
</div>
+ </div>
</div>
<div id="metadata_fill_form_spot">
@@ -154,7 +211,7 @@
{% for record in fields %}
{% if 'heading' in record %}
- {% if loop.index > 1 %}
+ {% if loop.index > 1 and 2 < 3 %}
</div>
{% endif %}
<div class="record">
@@ -177,11 +234,45 @@
</div>
- <input class="submit" type="submit" value="Add to Pangenome">
+<input class="submit" type="submit" value="Add to Pangenome" disabled>
</form>
</section>
- <hr>
- <small><a href="https://github.com/arvados/bh20-seq-resource">Source</a> &middot; Made for <a href="https://github.com/virtual-biohackathons/covid-19-bh20">COVID-19-BH20</a></small>
+<hr>
+<br>
+<div class="about">
+ <h3>ABOUT</h3>
+ <p>
+ This a public repository created at the COVID-19 BioHackathon
+ that has a low barrier to entry for uploading sequence data using
+ best practices. I.e., data is published with a creative commons
+ 4.0 (CC-4.0) license with metadata using state-of-the art
+ standards and, perhaps most importantly, providing standardized
+ workflows that get triggered on upload, so that results are
+ immediately available in standardized data formats. The repository
+ will be maintained and expanded for the duration of the
+ pandemic. To contribute data simply upload it! To contribute code
+ and/or workflows see
+ the <a href="https://github.com/arvados/bh20-seq-resource">project
+ repository</a>. For more information see the <a href="https://github.com/arvados/bh20-seq-resource/blob/master/paper/paper.md">paper</a> (WIP).
+ </p>
+ <br>
+</div>
+
+ <hr>
+<div class="footer">
+ <a href="https://arvados.org/"><img src="static/image/arvados-logo.png" height="80"></a>
+ <a href="https://www.commonwl.org/"><img src="static/image/CWL-Logo-Header.png" height="80"></a>
+
+ <a href="https://github.com/virtual-biohackathons/covid-19-bh20">
+ <img src="static/image/covid19biohackathon.png" align="right" height="80"></a>
+
+ <center>
+ <small><a href="https://github.com/arvados/bh20-seq-resource">Source code</a> &middot; Powered by <a href="https://www.commonwl.org/">Common Workflow Language</a> &amp; <a href="https://arvados.org/">Arvados</a>; Made for <a href="https://github.com/virtual-biohackathons/covid-19-bh20">COVID-19-BH20</a>
+ </small>
+ </center>
+
+
+</div>
<script type="text/javascript">
let uploadForm = document.getElementById('metadata_upload_form')
diff --git a/image/website.png b/image/website.png
new file mode 100644
index 0000000..fa57ca5
--- /dev/null
+++ b/image/website.png
Binary files differ
diff --git a/paper/paper.md b/paper/paper.md
index 7bd18c8..48eac07 100644
--- a/paper/paper.md
+++ b/paper/paper.md
@@ -41,6 +41,9 @@ authors:
- name: Joep de Ligt
orcid: 0000
affiliation: 12
+ - name: Bonface Munyoki
+ orcid: 0000
+ affiliation: 13
affiliations:
- name: Department of Genetics, Genomics and Informatics, The University of Tennessee Health Science Center, Memphis, TN, USA.
index: 1