From 2bcf4c45eaba42b36cff93c9cd5e461baaf3eae1 Mon Sep 17 00:00:00 2001
From: Pjotr Prins
Date: Thu, 28 May 2020 10:44:42 -0500
Subject: Web: debugging metadata submission
---
bh20sequploader/bh20seq-schema.yml | 2 +-
bh20sequploader/bh20seq-shex.rdf | 6 +++---
bh20sequploader/main.py | 10 +++++++++-
bh20sequploader/qc_metadata.py | 5 ++++-
bh20simplewebuploader/main.py | 4 ++++
bh20simplewebuploader/templates/success.html | 2 +-
6 files changed, 22 insertions(+), 7 deletions(-)
diff --git a/bh20sequploader/bh20seq-schema.yml b/bh20sequploader/bh20seq-schema.yml
index 8a16bd3..5b3812b 100644
--- a/bh20sequploader/bh20seq-schema.yml
+++ b/bh20sequploader/bh20seq-schema.yml
@@ -149,7 +149,7 @@ $graph:
fields:
sample_sequencing_technology:
doc: Technology that was used to sequence this sample (e.g Sanger, Nanopor MiniION)
- type: string[]?
+ type: string[]
jsonldPredicate:
_id: http://purl.obolibrary.org/obo/OBI_0600047
_type: "@id"
diff --git a/bh20sequploader/bh20seq-shex.rdf b/bh20sequploader/bh20seq-shex.rdf
index a017805..6b196bd 100644
--- a/bh20sequploader/bh20seq-shex.rdf
+++ b/bh20sequploader/bh20seq-shex.rdf
@@ -32,8 +32,8 @@ PREFIX wikidata:
:sampleShape {
sio:SIO_000115 xsd:string;
- evs:C25164 xsd:string;
- obo:GAZ_00000448 [wikidata:~] ;
+ evs:C25164 xsd:string;
+ obo:GAZ_00000448 [wikidata:~] ;
obo:OBI_0001895 xsd:string ?;
obo:NCIT_C41206 xsd:string ?;
obo:OBI_0001479 IRI {0,2};
@@ -65,4 +65,4 @@ PREFIX wikidata:
:virusShape{
edam:data_1875 [ obo:NCBITaxon_~ ] ;
sio:SIO_010055 xsd:string ?;
-}
\ No newline at end of file
+}
diff --git a/bh20sequploader/main.py b/bh20sequploader/main.py
index 0d463f7..2cd15c2 100644
--- a/bh20sequploader/main.py
+++ b/bh20sequploader/main.py
@@ -3,6 +3,7 @@ import time
import arvados
import arvados.collection
import json
+import logging
import magic
from pathlib import Path
import urllib.request
@@ -13,6 +14,10 @@ sys.path.insert(0,'.')
from bh20sequploader.qc_metadata import qc_metadata
from bh20sequploader.qc_fasta import qc_fasta
+logging.basicConfig(level=logging.DEBUG)
+log = logging.getLogger(__name__ )
+log.debug("Entering sequence uploader")
+
ARVADOS_API_HOST='lugli.arvadosapi.com'
ARVADOS_API_TOKEN='2fbebpmbo3rw3x05ueu2i6nx70zhrsb1p22ycu3ry34m4x4462'
UPLOAD_PROJECT='lugli-j7d0g-n5clictpuvwk8aa'
@@ -26,13 +31,16 @@ def main():
api = arvados.api(host=ARVADOS_API_HOST, token=ARVADOS_API_TOKEN, insecure=True)
+ log.debug("Checking metadata")
if not qc_metadata(args.metadata.name):
- print("Failed metadata qc")
+ log.warning("Failed metadata qc")
exit(1)
try:
+ log.debug("Checking FASTA QC")
target = qc_fasta(args.sequence)
except ValueError as e:
+ log.warning("Failed FASTA qc")
print(e)
exit(1)
diff --git a/bh20sequploader/qc_metadata.py b/bh20sequploader/qc_metadata.py
index fbfd286..9122ace 100644
--- a/bh20sequploader/qc_metadata.py
+++ b/bh20sequploader/qc_metadata.py
@@ -8,7 +8,9 @@ import traceback
from rdflib import Graph, Namespace
from pyshex.evaluate import evaluate
+
def qc_metadata(metadatafile):
+ log = logging.getLogger(__name__ )
schema_resource = pkg_resources.resource_stream(__name__, "bh20seq-schema.yml")
cache = {"https://raw.githubusercontent.com/arvados/bh20-seq-resource/master/bh20sequploader/bh20seq-schema.yml": schema_resource.read().decode("utf-8")}
(document_loader,
@@ -28,10 +30,11 @@ def qc_metadata(metadatafile):
rslt, reason = evaluate(g, shex, doc["id"], "https://raw.githubusercontent.com/arvados/bh20-seq-resource/master/bh20sequploader/bh20seq-shex.rdf#submissionShape")
if not rslt:
+ log.debug(reason)
print(reason)
return rslt
except Exception as e:
traceback.print_exc()
- logging.warn(e)
+ log.warn(e)
return False
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py
index 4f14d10..847e36b 100644
--- a/bh20simplewebuploader/main.py
+++ b/bh20simplewebuploader/main.py
@@ -3,6 +3,7 @@ import itertools
import tempfile
import shutil
import subprocess
+import logging
import os
import sys
import re
@@ -13,6 +14,9 @@ from flask import Flask, request, redirect, send_file, send_from_directory, rend
import os.path
import requests
+logging.basicConfig(level=logging.DEBUG)
+log = logging.getLogger(__name__ )
+log.debug("Entering web uploader")
if not os.path.isfile('bh20sequploader/mainx.py'):
print("WARNING: run FLASK from the root of the source repository!", file=sys.stderr)
diff --git a/bh20simplewebuploader/templates/success.html b/bh20simplewebuploader/templates/success.html
index 1be7861..9f0987c 100644
--- a/bh20simplewebuploader/templates/success.html
+++ b/bh20simplewebuploader/templates/success.html
@@ -9,7 +9,7 @@
Upload Successful
- Your files have been uploaded. They should soon appear as part of the Public SARS-CoV-2 Sequence Resource.
+ Your files have been uploaded. They should soon appear as output of the Public SARS-CoV-2 Sequence Resource.
The upload log was:
--
cgit v1.2.3