aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Novak2020-04-10 16:43:05 -0700
committerAdam Novak2020-04-10 16:46:02 -0700
commit04912c58cdab27962429be56971afde189d702c4 (patch)
treea42ce55ffb20572a139c25111a85a9376781cf1d
parenta0feaff212f5e4c030dc231a23f8df704ac3aa53 (diff)
downloadbh20-seq-resource-04912c58cdab27962429be56971afde189d702c4.tar.gz
bh20-seq-resource-04912c58cdab27962429be56971afde189d702c4.tar.lz
bh20-seq-resource-04912c58cdab27962429be56971afde189d702c4.zip
Clarify supported formats and make web UI take FASTQ
-rw-r--r--README.md4
-rw-r--r--bh20simplewebuploader/main.py6
-rw-r--r--bh20simplewebuploader/templates/form.html4
3 files changed, 8 insertions, 6 deletions
diff --git a/README.md b/README.md
index 2a1657d..db4fe52 100644
--- a/README.md
+++ b/README.md
@@ -126,10 +126,10 @@ For running/developing the uploader with GNU Guix see [INSTALL.md](./doc/INSTALL
# Usage
-Run the uploader with a FASTA file and accompanying metadata file in [JSON-LD format](https://json-ld.org/):
+Run the uploader with a FASTA or FASTQ file and accompanying metadata file in JSON or YAML:
```sh
-bh20-seq-uploader example/sequence.fasta example/metadata.json
+bh20-seq-uploader example/sequence.fasta example/metadata.yaml
```
## Workflow for Generating a Pangenome
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py
index bfc7762..383ef84 100644
--- a/bh20simplewebuploader/main.py
+++ b/bh20simplewebuploader/main.py
@@ -184,15 +184,17 @@ def receive_files():
# We're going to work in one directory per request
dest_dir = tempfile.mkdtemp()
+ # The uploader will happily accept a FASTQ with this name
fasta_dest = os.path.join(dest_dir, 'fasta.fa')
metadata_dest = os.path.join(dest_dir, 'metadata.json')
try:
if 'fasta' not in request.files:
return (render_template('error.html',
- error_message="You did not include a FASTA file."), 403)
+ error_message="You did not include a FASTA or FASTQ file."), 403)
try:
with open(fasta_dest, 'wb') as out_stream:
- copy_with_limit(request.files.get('fasta').stream, out_stream)
+ # Use a plausible file size limit for a little FASTQ
+ copy_with_limit(request.files.get('fasta').stream, out_stream, limit=50*1024*1024)
except FileTooBigError as e:
# Delegate to the 413 error handler
return handle_large_file(e)
diff --git a/bh20simplewebuploader/templates/form.html b/bh20simplewebuploader/templates/form.html
index 2934a7c..e722ab3 100644
--- a/bh20simplewebuploader/templates/form.html
+++ b/bh20simplewebuploader/templates/form.html
@@ -13,9 +13,9 @@
</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>
+ <label for="fasta">Select FASTA file of assembled genome, or FASTQ of reads (max 50MB):</label>
<br>
- <input type="file" id="fasta" name="fasta" accept=".fa,.fasta,.fna" required>
+ <input type="file" id="fasta" name="fasta" accept=".fa,.fasta,.fna,.fq" required>
<br>
<label>Select metadata submission method:</label>