aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bh20seqanalyzer/main.py15
-rw-r--r--bh20simplewebuploader/main.py9
-rw-r--r--bh20simplewebuploader/templates/blog.html15
-rw-r--r--bh20simplewebuploader/templates/blurb.html10
-rw-r--r--bh20simplewebuploader/templates/footer.html18
-rw-r--r--doc/blog/using-covid-19-pubseq-part1.org7
-rw-r--r--doc/blog/using-covid-19-pubseq-part2.org16
-rw-r--r--doc/blog/using-covid-19-pubseq-part3.html274
-rw-r--r--doc/blog/using-covid-19-pubseq-part3.org20
-rw-r--r--doc/web/about.html135
-rw-r--r--doc/web/about.org16
-rw-r--r--workflows/pangenome-generate/pangenome-generate.cwl2
-rw-r--r--workflows/pangenome-generate/relabel-seqs.cwl5
-rw-r--r--workflows/pangenome-generate/relabel-seqs.py22
14 files changed, 490 insertions, 74 deletions
diff --git a/bh20seqanalyzer/main.py b/bh20seqanalyzer/main.py
index 28b5e31..31ad4c4 100644
--- a/bh20seqanalyzer/main.py
+++ b/bh20seqanalyzer/main.py
@@ -125,7 +125,8 @@ def start_pangenome_analysis(api,
analysis_project,
pangenome_workflow_uuid,
validated_project,
- schema_ref):
+ schema_ref,
+ exclude_list):
validated = arvados.util.list_all(api.collections().list, filters=[["owner_uuid", "=", validated_project]])
inputobj = {
"inputReads": [],
@@ -134,6 +135,10 @@ def start_pangenome_analysis(api,
"metadataSchema": {
"class": "File",
"location": schema_ref
+ },
+ "exclude": {
+ "class": "File",
+ "location": exclude_list
}
}
validated.sort(key=lambda v: v["portable_data_hash"])
@@ -213,6 +218,8 @@ def main():
parser.add_argument('--pangenome-workflow-uuid', type=str, default='lugli-7fd4e-mqfu9y3ofnpnho1', help='')
parser.add_argument('--fastq-workflow-uuid', type=str, default='lugli-7fd4e-2zp9q4jo5xpif9y', help='')
+ parser.add_argument('--exclude-list', type=str, default='keep:lugli-4zz18-tzzhcm6hrf8ci8d/exclude.txt', help='')
+
parser.add_argument('--latest-result-collection', type=str, default='lugli-4zz18-z513nlpqm03hpca', help='')
parser.add_argument('--kickoff', action="store_true")
args = parser.parse_args()
@@ -229,7 +236,8 @@ def main():
args.pangenome_analysis_project,
args.pangenome_workflow_uuid,
args.validated_project,
- schema_ref)
+ schema_ref,
+ args.exclude_list)
return
logging.info("Starting up, monitoring %s for uploads" % (args.uploader_project))
@@ -250,7 +258,8 @@ def main():
args.pangenome_analysis_project,
args.pangenome_workflow_uuid,
args.validated_project,
- schema_ref)
+ schema_ref,
+ args.exclude_list)
copy_most_recent_result(api,
args.pangenome_analysis_project,
diff --git a/bh20simplewebuploader/main.py b/bh20simplewebuploader/main.py
index f7e45fb..4f14d10 100644
--- a/bh20simplewebuploader/main.py
+++ b/bh20simplewebuploader/main.py
@@ -441,9 +441,14 @@ def download_page():
def demo_page():
return render_template('demo.html',menu='DEMO')
-@app.route('/blog')
+@app.route('/blog',methods=['GET'])
def blog_page():
- return render_template('blog.html',menu='BLOG')
+ blog_content = request.args.get('id') # e.g. using-covid-19-pubseq-part3
+ buf = None;
+ if blog_content:
+ buf = get_html_body('doc/blog/'+blog_content+'.html')
+ return render_template('blog.html',menu='BLOG',embed=buf)
+
@app.route('/about')
def about_page():
diff --git a/bh20simplewebuploader/templates/blog.html b/bh20simplewebuploader/templates/blog.html
index 835e019..8cb6ce0 100644
--- a/bh20simplewebuploader/templates/blog.html
+++ b/bh20simplewebuploader/templates/blog.html
@@ -4,10 +4,19 @@
<body>
{% include 'banner.html' %}
{% include 'menu.html' %}
+ {% include 'blurb.html' %}
- <h1>BLOG Entries</h1>
+ {% if embed %}
+ {{ embed|safe }}
+ <hr>
- <i>Note that this is work in progress (WIP)</i>
+ <p>
+ Other blog entries:
+ </p>
+
+ {% else %}
+ <h2>BLOG Entries:</h2>
+ {% endif %}
<section class="blog-entries">
<div class="blog-table">
@@ -31,7 +40,7 @@
</div>
<div class="blog-table-row">
<div class="blog-table-cell">
- <a href="https://github.com/arvados/bh20-seq-resource/blob/master/doc/blog/using-covid-19-pubseq-part3.org">Submitting a sequence</a>
+ <a href="/blog?id=using-covid-19-pubseq-part3">Submitting a sequence</a>
</div>
<div class="blog-table-cell">
We submit a sequence to the database
diff --git a/bh20simplewebuploader/templates/blurb.html b/bh20simplewebuploader/templates/blurb.html
new file mode 100644
index 0000000..7bfe2ab
--- /dev/null
+++ b/bh20simplewebuploader/templates/blurb.html
@@ -0,0 +1,10 @@
+<p>
+ This is the COVID-19 Public Sequence Resource (COVID-19 PubSeq) for
+ SARS-CoV-2 virus sequences. COVID-19 PubSeq is a repository for
+ sequences with a low barrier to entry for uploading sequence data
+ using best practices. I.e., data published with a creative commons
+ CC0 or CC-4.0 license with metadata using state-of-the art standards
+ and, perhaps most importantly, providing standardised workflows that
+ get triggered on upload, so that results are immediately available
+ in standardised data formats.
+</p>
diff --git a/bh20simplewebuploader/templates/footer.html b/bh20simplewebuploader/templates/footer.html
index e72d1c5..e3923a7 100644
--- a/bh20simplewebuploader/templates/footer.html
+++ b/bh20simplewebuploader/templates/footer.html
@@ -4,19 +4,15 @@
<div class="about">
<div>
<h1>ABOUT</h1>
+ {% include 'blurb.html' %}
<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 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).
+ repository</a>. For more information see
+ the <a href="/about">FAQ</a> and
+ the <a href="https://github.com/arvados/bh20-seq-resource/blob/master/paper/paper.md">paper</a>
</p>
</div>
diff --git a/doc/blog/using-covid-19-pubseq-part1.org b/doc/blog/using-covid-19-pubseq-part1.org
index b1edbad..5a749d6 100644
--- a/doc/blog/using-covid-19-pubseq-part1.org
+++ b/doc/blog/using-covid-19-pubseq-part1.org
@@ -1,5 +1,12 @@
#+TITLE: COVID-19 PubSeq (part 1)
#+AUTHOR: Pjotr Prins
+# C-c C-e h h publish
+# C-c ! insert date (use . for active agenda, C-u C-c ! for date, C-u C-c . for time)
+# C-c C-t task rotate
+# RSS_IMAGE_URL: http://xxxx.xxxx.free.fr/rss_icon.png
+
+#+HTML_LINK_HOME: http://covid19.genenetwork.org
+#+HTML_HEAD: <link rel="Blog stylesheet" type="text/css" href="blog.css" />
As part of the COVID-19 Biohackathon 2020 we formed a working group
to create a COVID-19 Public Sequence Resource (COVID-19 PubSeq) for
diff --git a/doc/blog/using-covid-19-pubseq-part2.org b/doc/blog/using-covid-19-pubseq-part2.org
index d61bf42..d2a1cbc 100644
--- a/doc/blog/using-covid-19-pubseq-part2.org
+++ b/doc/blog/using-covid-19-pubseq-part2.org
@@ -8,6 +8,22 @@
#+HTML_LINK_HOME: http://covid19.genenetwork.org
#+HTML_HEAD: <link rel="Blog stylesheet" type="text/css" href="blog.css" />
+As part of the COVID-19 Biohackathon 2020 we formed a working group to
+create a COVID-19 Public Sequence Resource (COVID-19 PubSeq) for
+Corona virus sequences. The general idea is to create a repository
+that has a low barrier to entry for uploading sequence data using best
+practices. I.e., data published with a creative commons 4.0 (CC-4.0)
+license with metadata using state-of-the art standards and, perhaps
+most importantly, providing standardised workflows that get triggered
+on upload, so that results are immediately available in standardised
+data formats.
+
+* Table of Contents :TOC:noexport:
+ - [[#finding-output-of-workflows][Finding output of workflows]]
+ - [[#introduction][Introduction]]
+ - [[#the-arvados-file-interface][The Arvados file interface]]
+ - [[#using-the-arvados-api][Using the Arvados API]]
+
* Finding output of workflows
As part of the COVID-19 Biohackathon 2020 we formed a working group to
diff --git a/doc/blog/using-covid-19-pubseq-part3.html b/doc/blog/using-covid-19-pubseq-part3.html
new file mode 100644
index 0000000..ac32717
--- /dev/null
+++ b/doc/blog/using-covid-19-pubseq-part3.html
@@ -0,0 +1,274 @@
+<?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-27 Wed 07:41 -->
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<meta name="viewport" content="width=device-width, initial-scale=1" />
+<title>COVID-19 PubSeq Uploading Data (part 3)</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>
+<link rel="Blog stylesheet" type="text/css" href="blog.css" />
+<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">COVID-19 PubSeq Uploading Data (part 3)</h1>
+<div id="table-of-contents">
+<h2>Table of Contents</h2>
+<div id="text-table-of-contents">
+<ul>
+<li><a href="#org074cf76">1. Uploading Data</a></li>
+<li><a href="#org00e6dd5">2. What does this mean?</a></li>
+</ul>
+</div>
+</div>
+
+<div id="outline-container-org074cf76" class="outline-2">
+<h2 id="org074cf76"><span class="section-number-2">1</span> Uploading Data</h2>
+<div class="outline-text-2" id="text-1">
+<p>
+<i>Work in progress!</i>
+</p>
+</div>
+</div>
+
+<div id="outline-container-org00e6dd5" class="outline-2">
+<h2 id="org00e6dd5"><span class="section-number-2">2</span> What does this mean?</h2>
+</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-27 Wed 07:41</small>.
+</div>
+</body>
+</html>
diff --git a/doc/blog/using-covid-19-pubseq-part3.org b/doc/blog/using-covid-19-pubseq-part3.org
index c147ba3..1cd2db1 100644
--- a/doc/blog/using-covid-19-pubseq-part3.org
+++ b/doc/blog/using-covid-19-pubseq-part3.org
@@ -1,2 +1,22 @@
+#+TITLE: COVID-19 PubSeq Uploading Data (part 3)
+#+AUTHOR: Pjotr Prins
+# C-c C-e h h publish
+# C-c ! insert date (use . for active agenda, C-u C-c ! for date, C-u C-c . for time)
+# C-c C-t task rotate
+# RSS_IMAGE_URL: http://xxxx.xxxx.free.fr/rss_icon.png
+
+#+HTML_HEAD: <link rel="Blog stylesheet" type="text/css" href="blog.css" />
+
+* Uploading Data
+
/Work in progress!/
+* Table of Contents :TOC:noexport:
+ - [[#uploading-data][Uploading Data]]
+ - [[#table-of-contents][Table of Contents]]
+ - [[#what-does-this-mean][What does this mean?]]
+
+* Table of Contents :TOC:noexport:
+ - [[#what-does-this-mean][What does this mean?]]
+
+* What does this mean?
diff --git a/doc/web/about.html b/doc/web/about.html
index ca0d952..cf718e7 100644
--- a/doc/web/about.html
+++ b/doc/web/about.html
@@ -3,7 +3,7 @@
"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 11:24 -->
+<!-- 2020-05-27 Wed 07:08 -->
<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>
@@ -247,26 +247,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
-<li><a href="#orgc702afb">1. What is the 'public sequence resource' about?</a></li>
-<li><a href="#org757df7a">2. Who created the public sequence resource?</a></li>
-<li><a href="#orgbcdc47e">3. How does the public sequence resource compare to other data resources?</a></li>
-<li><a href="#org9a5b80c">4. Why should I upload my data here?</a></li>
-<li><a href="#orge7b928b">5. Why should I not upload by data here?</a></li>
-<li><a href="#org095184f">6. How does the public sequence resource work?</a></li>
-<li><a href="#org562edc8">7. Is this about open data?</a></li>
-<li><a href="#org9dab2c1">8. Is this about free software?</a></li>
-<li><a href="#org71012a1">9. How do I upload raw data?</a></li>
-<li><a href="#orgd1586af">10. How do I change metadata?</a></li>
-<li><a href="#org6de2b89">11. How do I change the work flows?</a></li>
-<li><a href="#org276e949">12. How do I change the source code?</a></li>
-<li><a href="#org3fb1663">13. How do I deal with private data and privacy?</a></li>
-<li><a href="#org4741f67">14. Who are the sponsors?</a></li>
+<li><a href="#org2fe6bec">1. What is the 'public sequence resource' about?</a></li>
+<li><a href="#org9946c6e">2. Who created the public sequence resource?</a></li>
+<li><a href="#org947d1d7">3. How does the public sequence resource compare to other data resources?</a></li>
+<li><a href="#org84cfcc3">4. Why should I upload my data here?</a></li>
+<li><a href="#orgf0aeec4">5. Why should I not upload by data here?</a></li>
+<li><a href="#orgdfa56b7">6. How does the public sequence resource work?</a></li>
+<li><a href="#org18d42bb">7. Is this about open data?</a></li>
+<li><a href="#orge4f73e2">8. Is this about free software?</a></li>
+<li><a href="#org2329f25">9. How do I upload raw data?</a></li>
+<li><a href="#org0a77739">10. How do I change metadata?</a></li>
+<li><a href="#orgc390505">11. How do I change the work flows?</a></li>
+<li><a href="#org22e65a5">12. How do I change the source code?</a></li>
+<li><a href="#org414bffe">13. Should I choose CC-BY or CC0?</a></li>
+<li><a href="#orga36bf3d">14. How do I deal with private data and privacy?</a></li>
+<li><a href="#org9f4676e">15. How do I communicate with you?</a></li>
+<li><a href="#org9bb4341">16. Who are the sponsors?</a></li>
</ul>
</div>
</div>
-<div id="outline-container-orgc702afb" class="outline-2">
-<h2 id="orgc702afb"><span class="section-number-2">1</span> What is the 'public sequence resource' about?</h2>
+<div id="outline-container-org2fe6bec" class="outline-2">
+<h2 id="org2fe6bec"><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
@@ -277,8 +279,8 @@ sequence comparison and protein prediction.
</div>
</div>
-<div id="outline-container-org757df7a" class="outline-2">
-<h2 id="org757df7a"><span class="section-number-2">2</span> Who created the public sequence resource?</h2>
+<div id="outline-container-org9946c6e" class="outline-2">
+<h2 id="org9946c6e"><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
@@ -298,8 +300,8 @@ wrangling experts. Thank you everyone!
</div>
</div>
-<div id="outline-container-orgbcdc47e" class="outline-2">
-<h2 id="orgbcdc47e"><span class="section-number-2">3</span> How does the public sequence resource compare to other data resources?</h2>
+<div id="outline-container-org947d1d7" class="outline-2">
+<h2 id="org947d1d7"><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
@@ -318,8 +320,8 @@ public resources, including GISAID.
</div>
</div>
-<div id="outline-container-org9a5b80c" class="outline-2">
-<h2 id="org9a5b80c"><span class="section-number-2">4</span> Why should I upload my data here?</h2>
+<div id="outline-container-org84cfcc3" class="outline-2">
+<h2 id="org84cfcc3"><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
@@ -347,22 +349,31 @@ multiple resources.
</div>
</div>
-<div id="outline-container-orge7b928b" class="outline-2">
-<h2 id="orge7b928b"><span class="section-number-2">5</span> Why should I not upload by data here?</h2>
+<div id="outline-container-orgf0aeec4" class="outline-2">
+<h2 id="orgf0aeec4"><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!
+Funny question. There are only good reasons to upload your data here
+and make it available to the widest audience possible.
+</p>
+
+<p>
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.
+uploading your data to multiple resources.
+</p>
+
+<p>
+We recommend uploading to EBI and NCBI resources using our data
+conversion tools. It means you only enter data once and make the
+process smooth. You can also use our command line data uploader
+for bulk uploads!
</p>
</div>
</div>
-<div id="outline-container-org095184f" class="outline-2">
-<h2 id="org095184f"><span class="section-number-2">6</span> How does the public sequence resource work?</h2>
+<div id="outline-container-orgdfa56b7" class="outline-2">
+<h2 id="orgdfa56b7"><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
@@ -373,8 +384,8 @@ using workflows from the High Performance Open Biology Lab defined
</div>
</div>
-<div id="outline-container-org562edc8" class="outline-2">
-<h2 id="org562edc8"><span class="section-number-2">7</span> Is this about open data?</h2>
+<div id="outline-container-org18d42bb" class="outline-2">
+<h2 id="org18d42bb"><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>
@@ -384,8 +395,8 @@ data and store it for further processing.
</div>
</div>
-<div id="outline-container-org9dab2c1" class="outline-2">
-<h2 id="org9dab2c1"><span class="section-number-2">8</span> Is this about free software?</h2>
+<div id="outline-container-orge4f73e2" class="outline-2">
+<h2 id="orge4f73e2"><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
@@ -394,8 +405,8 @@ can take our workflows and data and run it elsewhere!
</div>
</div>
-<div id="outline-container-org71012a1" class="outline-2">
-<h2 id="org71012a1"><span class="section-number-2">9</span> How do I upload raw data?</h2>
+<div id="outline-container-org2329f25" class="outline-2">
+<h2 id="org2329f25"><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
@@ -410,8 +421,8 @@ assembly variations into consideration. This is all work in progress.
</div>
</div>
-<div id="outline-container-orgd1586af" class="outline-2">
-<h2 id="orgd1586af"><span class="section-number-2">10</span> How do I change metadata?</h2>
+<div id="outline-container-org0a77739" class="outline-2">
+<h2 id="org0a77739"><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>!
@@ -419,8 +430,8 @@ See the <a href="http://covid19.genenetwork.org/blog">http://covid19.genenetwork
</div>
</div>
-<div id="outline-container-org6de2b89" class="outline-2">
-<h2 id="org6de2b89"><span class="section-number-2">11</span> How do I change the work flows?</h2>
+<div id="outline-container-orgc390505" class="outline-2">
+<h2 id="orgc390505"><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>!
@@ -428,8 +439,8 @@ See the <a href="http://covid19.genenetwork.org/blog">http://covid19.genenetwork
</div>
</div>
-<div id="outline-container-org276e949" class="outline-2">
-<h2 id="org276e949"><span class="section-number-2">12</span> How do I change the source code?</h2>
+<div id="outline-container-org22e65a5" class="outline-2">
+<h2 id="org22e65a5"><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
@@ -439,10 +450,27 @@ many PRs we already merged.
</div>
</div>
-<div id="outline-container-org3fb1663" class="outline-2">
-<h2 id="org3fb1663"><span class="section-number-2">13</span> How do I deal with private data and privacy?</h2>
+<div id="outline-container-org414bffe" class="outline-2">
+<h2 id="org414bffe"><span class="section-number-2">13</span> Should I choose CC-BY or CC0?</h2>
<div class="outline-text-2" id="text-13">
<p>
+Restrictive data licenses are hampering data sharing and reproducible
+research. CC0 is the preferred license because it gives researchers
+the most freedom. Since we provide metadata there is no reason for
+others not to honour your work. We also provide CC-BY as an option
+because we know people like the attribution clause.
+</p>
+
+<p>
+In all honesty: we prefer both data and software to be free.
+</p>
+</div>
+</div>
+
+<div id="outline-container-orga36bf3d" class="outline-2">
+<h2 id="orga36bf3d"><span class="section-number-2">14</span> How do I deal with private data and privacy?</h2>
+<div class="outline-text-2" id="text-14">
+<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
@@ -451,9 +479,18 @@ plan to combine identifiers with clinical data stored securely at
</div>
</div>
-<div id="outline-container-org4741f67" class="outline-2">
-<h2 id="org4741f67"><span class="section-number-2">14</span> Who are the sponsors?</h2>
-<div class="outline-text-2" id="text-14">
+<div id="outline-container-org9f4676e" class="outline-2">
+<h2 id="org9f4676e"><span class="section-number-2">15</span> How do I communicate with you?</h2>
+<div class="outline-text-2" id="text-15">
+<p>
+We use a <a href="https://gitter.im/arvados/pubseq?utm_source=share-link&amp;utm_medium=link&amp;utm_campaign=share-link">gitter channel</a> you can join.
+</p>
+</div>
+</div>
+
+<div id="outline-container-org9bb4341" class="outline-2">
+<h2 id="org9bb4341"><span class="section-number-2">16</span> Who are the sponsors?</h2>
+<div class="outline-text-2" id="text-16">
<p>
The main sponsors are listed in the footer. In addition to the time
generously donated by many contributors we also acknowledge Amazon AWS
@@ -463,7 +500,7 @@ for donating COVID-19 related compute time.
</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 11:24</small>.
+<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-27 Wed 07:08</small>.
</div>
</body>
</html>
diff --git a/doc/web/about.org b/doc/web/about.org
index f343eb2..bb49c2a 100644
--- a/doc/web/about.org
+++ b/doc/web/about.org
@@ -14,7 +14,9 @@
- [[#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?]]
+ - [[#should-i-choose-cc-by-or-cc0][Should I choose CC-BY or CC0?]]
- [[#how-do-i-deal-with-private-data-and-privacy][How do I deal with private data and privacy?]]
+ - [[#how-do-i-communicate-with-you][How do I communicate with you?]]
- [[#who-are-the-sponsors][Who are the sponsors?]]
* What is the 'public sequence resource' about?
@@ -130,6 +132,16 @@ Go to our [[https://github.com/arvados/bh20-seq-resource][source code repositori
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.
+* Should I choose CC-BY or CC0?
+
+Restrictive data licenses are hampering data sharing and reproducible
+research. CC0 is the preferred license because it gives researchers
+the most freedom. Since we provide metadata there is no reason for
+others not to honour your work. We also provide CC-BY as an option
+because we know people like the attribution clause.
+
+In all honesty: we prefer both data and software to be free.
+
* How do I deal with private data and privacy?
A public sequence resource is about public data. Metadata can refer to
@@ -137,6 +149,10 @@ 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]]. See the relevant [[https://github.com/arvados/bh20-seq-resource/issues/21][tracker]] for more information and contributing.
+* How do I communicate with you?
+
+We use a [[https://gitter.im/arvados/pubseq?utm_source=share-link&utm_medium=link&utm_campaign=share-link][gitter channel]] you can join.
+
* Who are the sponsors?
The main sponsors are listed in the footer. In addition to the time
diff --git a/workflows/pangenome-generate/pangenome-generate.cwl b/workflows/pangenome-generate/pangenome-generate.cwl
index ad8b27f..9118cf8 100644
--- a/workflows/pangenome-generate/pangenome-generate.cwl
+++ b/workflows/pangenome-generate/pangenome-generate.cwl
@@ -9,6 +9,7 @@ inputs:
metadata: File[]
metadataSchema: File
subjects: string[]
+ exclude: File?
bin_widths:
type: int[]
default: [ 1, 4, 16, 64, 256, 1000, 4000, 16000]
@@ -47,6 +48,7 @@ steps:
in:
readsFA: inputReads
subjects: subjects
+ exclude: exclude
out: [relabeledSeqs, originalLabels]
run: relabel-seqs.cwl
dedup:
diff --git a/workflows/pangenome-generate/relabel-seqs.cwl b/workflows/pangenome-generate/relabel-seqs.cwl
index c1f17a4..367b9bf 100644
--- a/workflows/pangenome-generate/relabel-seqs.cwl
+++ b/workflows/pangenome-generate/relabel-seqs.cwl
@@ -3,10 +3,13 @@ class: CommandLineTool
inputs:
readsFA: File[]
subjects: string[]
+ exclude:
+ type: File?
+ inputBinding: {position: 2}
script:
type: File
default: {class: File, location: relabel-seqs.py}
- inputBinding: {}
+ inputBinding: {position: 1}
outputs:
relabeledSeqs:
type: File
diff --git a/workflows/pangenome-generate/relabel-seqs.py b/workflows/pangenome-generate/relabel-seqs.py
index 6b022a0..25b4a08 100644
--- a/workflows/pangenome-generate/relabel-seqs.py
+++ b/workflows/pangenome-generate/relabel-seqs.py
@@ -1,5 +1,6 @@
import os
import json
+import sys
def readitems(stem):
items = []
@@ -16,15 +17,26 @@ subjects = readitems("subs")
relabeled_fasta = open("relabeledSeqs.fasta", "wt")
original_labels = open("originalLabels.ttl", "wt")
+blacklist = set()
+if len(sys.argv) > 1:
+ with open(sys.argv[1]) as bl:
+ for l in bl:
+ blacklist.add(l.strip())
+
for i, r in enumerate(reads):
with open(r["path"], "rt") as fa:
- label = fa.readline()
- original_labels.write("<%s> <http://biohackathon.org/bh20-seq-schema/original_fasta_label> \"%s\" .\n" % (subjects[i], label[1:].strip().replace('"', '\\"')))
- relabeled_fasta.write(">"+subjects[i]+"\n")
+ label = fa.readline().strip()
+ original_labels.write("<%s> <http://biohackathon.org/bh20-seq-schema/original_fasta_label> \"%s\" .\n" % (subjects[i], label[1:].replace('"', '\\"')))
+ skip = (subjects[i] in blacklist or label[1:] in blacklist)
+ if skip:
+ original_labels.write("<%s> <http://biohackathon.org/bh20-seq-schema/excluded_from_graph> \"true\"^^<http://www.w3.org/2001/XMLSchema#boolean> .\n" % (subjects[i]))
+ if not skip:
+ relabeled_fasta.write(">"+subjects[i]+"\n")
data = fa.read(8096)
while data:
- relabeled_fasta.write(data)
+ if not skip:
+ relabeled_fasta.write(data)
endswithnewline = data.endswith("\n")
data = fa.read(8096)
- if not endswithnewline:
+ if not skip and not endswithnewline:
relabeled_fasta.write("\n")