blob: 4ad41e272cdfb4af9fe1e206c4b6e2dc3c83d64d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Simple Web Uploader for Public SARS-CoV-2 Sequence Resource</title>
</head>
<body>
<h1>Simple Web Uploader for Public SARS-CoV-2 Sequence Resource</h1>
<hr>
<p>
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>
<hr>
<form action="/submit" method="POST" enctype="multipart/form-data" id="main_form">
<label for="fasta">Select FASTA file for assembled genome (max 1MB):</label>
<br>
<input type="file" id="fasta" name="fasta" accept=".fa,.fasta,.fna" required>
<br>
<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>
<br>
<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 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>
</div>
</div>
<div id="metadata_fill_form_spot">
<div id="metadata_fill_form">
{% for record in fields %}
{% if 'heading' in record %}
<h4>{{ record['heading'] }}</h4>
{% else %}
<label for="{{ record['id'] }}">
{{ record['label'] }}
{{ "*" if record['required'] else "" }}
{% if 'ref_url' in record %}
<a href="{{ record['ref_url'] }}" title="More Info" target="_blank">?</a>
{% endif %}
</label>
<br>
<input type="{{ record['type'] }}" id="{{ record['id'] }}" name="{{ record['id'] }}" {{ "required" if record['required'] else "" }}>
<br>
{% endif %}
{% endfor %}
</div>
</div>
<input type="submit" value="Add to Pangenome">
</form>
<hr>
<small><a href="https://github.com/adamnovak/bh20-simple-web-uploader">Source</a> · Made for <a href="https://github.com/virtual-biohackathons/covid-19-bh20">COVID-19-BH20</a></small>
<script type="text/javascript">
let uploadForm = document.getElementById('metadata_upload_form')
let uploadFormSpot = document.getElementById('metadata_upload_form_spot')
let fillForm = document.getElementById('metadata_fill_form')
let fillFormSpot = document.getElementById('metadata_fill_form_spot')
function setUploadMode() {
// Make the upload form the one in use
uploadFormSpot.appendChild(uploadForm)
fillFormSpot.removeChild(fillForm)
}
function setFillMode() {
// Make the fillable form the one in use
uploadFormSpot.removeChild(uploadForm)
fillFormSpot.appendChild(fillForm)
}
function setMode() {
// Pick mode based on radio
if (document.getElementById('metadata_upload').checked) {
setUploadMode()
} else {
setFillMode()
}
}
// Start in mode appropriate to selected form item
setMode()
</script>
</body>
</html>
|