library(conflicted)
library(tidyverse)
library(downloadthis)
library(fs)
source("setup/conflicted.R")
source("setup/knit_engines_simple.R")
knitr::opts_chunk$set(message = FALSE,
warning = FALSE,
echo = TRUE,
include = TRUE,
eval = TRUE,
comment = "")
Background
Read more about this workflow here: PRONAME:
a user-friendly pipeline to process long-read nanopore metabarcoding
data by generating high-quality consensus sequences .
Integrating Dorado for trimming & demux
We can continue to use the Dorado basecalling → demux steps, then
hand off the demultiplexed FASTQ files to PRONAME Here’s how it
works:
Dorado does the heavy lifting
GPU-accelerated SUP base-calling
Barcode demultiplex (with your ONT 16S kit’s barcodes)
Outputs clean, per-sample FASTQs.
PRONAME’s 4-step Pipeline:
proname_import
We will skip the optional trimming, which we already let dorado
handle automatically.
We use the --duplex 'yes' argument to optimize for V14
kit chemistry.
PRONAME provides length-vs-quality scatterplots that we can use to
inform our QC parameters.
proname_filter
Set the optimal filtering thresholds based on results in the
previous step and visualize the filtering impact on results.
C. proname_refine
Now PRONAME polishes reads via medaka, performs read
clustering, removes chimeric sequences, and and generates
error-corrected consensus sequences.
Files may be exported directly to QIIME2 to adapt
standard Illumina-type workflows.
proname_taxonomy
The files generated while gathering the consensus sequences and the
standard reference databases are used to perform a taxnonomic
analysis.
This step produces a taxonomy file and a taxa barplot.
Post-PRONAME
After this, we can use standard QIIME2 pipelines that
easily integrate into R packages like phyloseq.
For example, we can use qiime phylogeny to produce a
phylogenetic diversity analysis (No more need to fetch refernces
directly from GenBank ourselves! ).
Setting up your Swan Workspace
Dorado Usage
You can skip these steps if you already have dorado up
and running on swan, including the most up-to-date sup basecalling
model.
SUP Model Download
You should have some basic understanding of which models Dorado
provides for basecalling ONT reads by looking over this page .
I use the config package or parameters in the yaml header to track and
source the models that I am using. You will need to report details like
this in the methods section of any paper produced by your results.
We will almost always choose the newest SUP model available
on the HCC with the 10.4.1. kit chemistry.
For some reason dorado’s automatic sourcing and use of models does
not seem to work from the GPU nodes on the HCC, so we will download a
stable version of our current model options. - This file needs to be
the path below within your working directory for it to automatically be
located by the code I have written in other scripts.
You should at least download the newest sup model
available, but you may also download the newest hac and
fast models if you would like. The code in other scripts
will search this directory for whichever of these three models you
specify at that time.
Run the chunk below after replacing with the model of choice (and
your directory paths) and then transfer the file
batch_scripts/dorado_models.sh to your repo mirror on Swan
work.
Download Script
# batch_scripts/dorado_setup.sh
#!/bin/bash
#SBATCH --job-name=dorado_model
#SBATCH --output=/work/richlab/aliciarich/read_processing/logs/dorado_model.%j.out
#SBATCH --error=/work/richlab/aliciarich/read_processing/logs/dorado_model.%j.err
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=8
#SBATCH --constraint='gpu_v100|gpu_t4'
#SBATCH --partition=gpu,guest_gpu
#SBATCH --gres=gpu:2
#SBATCH --mem=20GB
module load apptainer
cd /work/richlab/aliciarich/read_processing
apptainer exec docker://nanoporetech/dorado:latest dorado download --model dna_r10.4.1_e8.2_400bps_sup@v5.2.0 --directory dorado_models
Once you ensure this script has transferred to the
read_processing/batch_scripts path on your HCC directory,
run the code below to submit the job.
cd read_processing
sbatch batch_scripts/dorado_setup.sh
LS0tCnRpdGxlOiAiRmlyc3QtVXNlIFNldHVwOiBNaWNyb2Jpb21lIFJlYWQgUHJvY2Vzc2luZyB2aWEgUFJPTkFNRSIKYXV0aG9yOiAiQWxpY2lhIE0uIFJpY2gsIFBoLkQuIgpkYXRlOiAiYHIgU3lzLkRhdGUoKWAiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OgogICAgdGhlbWU6CiAgICAgIGJzbGliOiB0cnVlCiAgICB0b2M6IHRydWUKICAgIHRvY19kZXB0aDogMwogICAgdG9jX2Zsb2F0OiB0cnVlCiAgICBkZl9wcmludDogcGFnZWQKICAgIGNzczogam91cm5hbC5jc3MKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAKLS0tCgpgYGB7ciBzZXR1cCwgbWVzc2FnZT1GQUxTRSwgY29tbWVudD0iIn0KbGlicmFyeShjb25mbGljdGVkKQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShkb3dubG9hZHRoaXMpCmxpYnJhcnkoZnMpCgpzb3VyY2UoInNldHVwL2NvbmZsaWN0ZWQuUiIpCnNvdXJjZSgic2V0dXAva25pdF9lbmdpbmVzX3NpbXBsZS5SIikKCmtuaXRyOjpvcHRzX2NodW5rJHNldChtZXNzYWdlID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nID0gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICBlY2hvICAgID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGUgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgZXZhbCAgICA9IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gIiIpCgoKYGBgCgoKIyBCYWNrZ3JvdW5kCgpSZWFkIG1vcmUgYWJvdXQgdGhpcyB3b3JrZmxvdyBoZXJlOiBbKlBST05BTUU6IGEgdXNlci1mcmllbmRseSBwaXBlbGluZSB0byBwcm9jZXNzIGxvbmctcmVhZCBuYW5vcG9yZSBtZXRhYmFyY29kaW5nIGRhdGEgYnkgZ2VuZXJhdGluZyBoaWdoLXF1YWxpdHkgY29uc2Vuc3VzIHNlcXVlbmNlcypdKGh0dHBzOi8vd3d3LmZyb250aWVyc2luLm9yZy9qb3VybmFscy9iaW9pbmZvcm1hdGljcy9hcnRpY2xlcy8xMC4zMzg5L2ZiaW5mLjIwMjQuMTQ4MzI1NS9mdWxsKS4KCgojIyBJbnRlZ3JhdGluZyBEb3JhZG8gZm9yIHRyaW1taW5nICYgZGVtdXgKCldlIGNhbiBjb250aW51ZSB0byB1c2UgdGhlIERvcmFkbyBiYXNlY2FsbGluZyDihpIgZGVtdXggc3RlcHMsIHRoZW4gaGFuZCBvZmYgdGhlIGRlbXVsdGlwbGV4ZWQgRkFTVFEgZmlsZXMgdG8gUFJPTkFNRSBIZXJl4oCZcyBob3cgaXQgd29ya3M6CgoxLglEb3JhZG8gZG9lcyB0aGUgaGVhdnkgbGlmdGluZwoJLSBHUFUtYWNjZWxlcmF0ZWQgU1VQIGJhc2UtY2FsbGluZwoJLSBCYXJjb2RlIGRlbXVsdGlwbGV4ICh3aXRoIHlvdXIgT05UIDE2UyBraXTigJlzIGJhcmNvZGVzKQoJICAtIE91dHB1dHMgY2xlYW4sIHBlci1zYW1wbGUgRkFTVFFzLgoJICAKMi4JUFJPTkFNRSdzIDQtc3RlcCBQaXBlbGluZToKCkEuICBgcHJvbmFtZV9pbXBvcnRgCiAgCiAgLSBXZSB3aWxsIHNraXAgdGhlIG9wdGlvbmFsIHRyaW1taW5nLCB3aGljaCB3ZSBhbHJlYWR5IGxldCBkb3JhZG8gaGFuZGxlIGF1dG9tYXRpY2FsbHkuCiAgLSBXZSB1c2UgdGhlIGAtLWR1cGxleCAneWVzJ2AgYXJndW1lbnQgdG8gb3B0aW1pemUgZm9yIFYxNCBraXQgY2hlbWlzdHJ5LgogIC0gUFJPTkFNRSBwcm92aWRlcyBsZW5ndGgtdnMtcXVhbGl0eSBzY2F0dGVycGxvdHMgdGhhdCB3ZSBjYW4gdXNlIHRvIGluZm9ybSBvdXIgUUMgcGFyYW1ldGVycy4KICAKQi4gIGBwcm9uYW1lX2ZpbHRlcmAKICAKICAtIFNldCB0aGUgb3B0aW1hbCBmaWx0ZXJpbmcgdGhyZXNob2xkcyBiYXNlZCBvbiByZXN1bHRzIGluIHRoZSBwcmV2aW91cyBzdGVwIGFuZCB2aXN1YWxpemUgdGhlIGZpbHRlcmluZyBpbXBhY3Qgb24gcmVzdWx0cy4KICAgIApDLiBgcHJvbmFtZV9yZWZpbmVgCiAgCiAgLSBOb3cgUFJPTkFNRSBwb2xpc2hlcyByZWFkcyB2aWEgYG1lZGFrYWAsIHBlcmZvcm1zIHJlYWQgY2x1c3RlcmluZywgcmVtb3ZlcyBjaGltZXJpYyBzZXF1ZW5jZXMsIGFuZCBhbmQgZ2VuZXJhdGVzIGVycm9yLWNvcnJlY3RlZCBjb25zZW5zdXMgc2VxdWVuY2VzLgogIC0gRmlsZXMgbWF5IGJlIGV4cG9ydGVkIGRpcmVjdGx5IHRvIGBRSUlNRTJgIHRvIGFkYXB0IHN0YW5kYXJkIElsbHVtaW5hLXR5cGUgd29ya2Zsb3dzLgogIApELiAgYHByb25hbWVfdGF4b25vbXlgCiAgCiAgLSBUaGUgZmlsZXMgZ2VuZXJhdGVkIHdoaWxlIGdhdGhlcmluZyB0aGUgY29uc2Vuc3VzIHNlcXVlbmNlcyBhbmQgdGhlIHN0YW5kYXJkIHJlZmVyZW5jZSBkYXRhYmFzZXMgYXJlIHVzZWQgdG8gcGVyZm9ybSBhIHRheG5vbm9taWMgYW5hbHlzaXMuCiAgLSBUaGlzIHN0ZXAgcHJvZHVjZXMgYSB0YXhvbm9teSBmaWxlIGFuZCBhIHRheGEgYmFycGxvdC4KICAgIAozLiAgUG9zdC1QUk9OQU1FCgogIC0gQWZ0ZXIgdGhpcywgd2UgY2FuIHVzZSBzdGFuZGFyZCBgUUlJTUUyYCBwaXBlbGluZXMgdGhhdCBlYXNpbHkgaW50ZWdyYXRlIGludG8gUiBwYWNrYWdlcyBsaWtlIHBoeWxvc2VxLgogICAgLSBGb3IgZXhhbXBsZSwgd2UgY2FuIHVzZSBgcWlpbWUgcGh5bG9nZW55YCB0byBwcm9kdWNlIGEgcGh5bG9nZW5ldGljIGRpdmVyc2l0eSBhbmFseXNpcyAoKk5vIG1vcmUgbmVlZCB0byBmZXRjaCByZWZlcm5jZXMgZGlyZWN0bHkgZnJvbSBHZW5CYW5rIG91cnNlbHZlcyEqKS4KICAgIAoKIyBTZXR0aW5nIHVwIHlvdXIgU3dhbiBXb3Jrc3BhY2UKCiMjIERvcmFkbyBVc2FnZQoKWW91IGNhbiBza2lwIHRoZXNlIHN0ZXBzIGlmIHlvdSBhbHJlYWR5IGhhdmUgYGRvcmFkb2AgdXAgYW5kIHJ1bm5pbmcgb24gc3dhbiwgaW5jbHVkaW5nIHRoZSBtb3N0IHVwLXRvLWRhdGUgc3VwIGJhc2VjYWxsaW5nIG1vZGVsLgoKIyMjIFNVUCBNb2RlbCBEb3dubG9hZAoKWW91IHNob3VsZCBoYXZlIHNvbWUgYmFzaWMgdW5kZXJzdGFuZGluZyBvZiB3aGljaCBtb2RlbHMgRG9yYWRvIHByb3ZpZGVzIGZvciBiYXNlY2FsbGluZyBPTlQgcmVhZHMgYnkgbG9va2luZyBvdmVyIFt0aGlzIHBhZ2VdKGh0dHBzOi8vZ2l0aHViLmNvbS9uYW5vcG9yZXRlY2gvZG9yYWRvI2RuYS1tb2RlbHMpLiBJIHVzZSB0aGUgY29uZmlnIHBhY2thZ2Ugb3IgcGFyYW1ldGVycyBpbiB0aGUgeWFtbCBoZWFkZXIgdG8gdHJhY2sgYW5kIHNvdXJjZSB0aGUgbW9kZWxzIHRoYXQgSSBhbSB1c2luZy4gWW91IHdpbGwgbmVlZCB0byByZXBvcnQgZGV0YWlscyBsaWtlIHRoaXMgaW4gdGhlIG1ldGhvZHMgc2VjdGlvbiBvZiBhbnkgcGFwZXIgcHJvZHVjZWQgYnkgeW91ciByZXN1bHRzLiAgCiAgCj4qKldlIHdpbGwgYWxtb3N0IGFsd2F5cyBjaG9vc2UgdGhlIG5ld2VzdCBTVVAgbW9kZWwgYXZhaWxhYmxlIG9uIHRoZSBIQ0Mgd2l0aCB0aGUgMTAuNC4xLiBraXQgY2hlbWlzdHJ5LioqICAKICAKRm9yIHNvbWUgcmVhc29uIGRvcmFkbydzIGF1dG9tYXRpYyBzb3VyY2luZyBhbmQgdXNlIG9mIG1vZGVscyBkb2VzIG5vdCBzZWVtIHRvIHdvcmsgZnJvbSB0aGUgR1BVIG5vZGVzIG9uIHRoZSBIQ0MsIHNvIHdlIHdpbGwgZG93bmxvYWQgYSBzdGFibGUgdmVyc2lvbiBvZiBvdXIgY3VycmVudCBtb2RlbCBvcHRpb25zLiAtICpUaGlzIGZpbGUgbmVlZHMgdG8gYmUgdGhlIHBhdGggYmVsb3cgd2l0aGluIHlvdXIgd29ya2luZyBkaXJlY3RvcnkgZm9yIGl0IHRvIGF1dG9tYXRpY2FsbHkgYmUgbG9jYXRlZCBieSB0aGUgY29kZSBJIGhhdmUgd3JpdHRlbiBpbiBvdGhlciBzY3JpcHRzLiogIApZb3Ugc2hvdWxkIGF0IGxlYXN0IGRvd25sb2FkIHRoZSBuZXdlc3QgYHN1cGAgbW9kZWwgYXZhaWxhYmxlLCBidXQgeW91IG1heSBhbHNvIGRvd25sb2FkIHRoZSBuZXdlc3QgYGhhY2AgYW5kIGBmYXN0YCBtb2RlbHMgaWYgeW91IHdvdWxkIGxpa2UuIFRoZSBjb2RlIGluIG90aGVyIHNjcmlwdHMgd2lsbCBzZWFyY2ggdGhpcyBkaXJlY3RvcnkgZm9yIHdoaWNoZXZlciBvZiB0aGVzZSB0aHJlZSBtb2RlbHMgeW91IHNwZWNpZnkgYXQgdGhhdCB0aW1lLgoKUnVuIHRoZSBjaHVuayBiZWxvdyBhZnRlciByZXBsYWNpbmcgd2l0aCB0aGUgbW9kZWwgb2YgY2hvaWNlIChhbmQgeW91ciBkaXJlY3RvcnkgcGF0aHMpIGFuZCB0aGVuIHRyYW5zZmVyIHRoZSBmaWxlIGBiYXRjaF9zY3JpcHRzL2RvcmFkb19tb2RlbHMuc2hgIHRvIHlvdXIgcmVwbyBtaXJyb3Igb24gU3dhbiB3b3JrLgoKYGBge2NhdCwgZW5naW5lLm9wdHM9bGlzdChmaWxlPSdiYXRjaF9zY3JpcHRzL2RvcmFkb19zZXR1cC5zaCcpfQojIS9iaW4vYmFzaAojU0JBVENIIC0tam9iLW5hbWU9ZG9yYWRvX21vZGVsCiNTQkFUQ0ggLS1vdXRwdXQ9L3dvcmsvcmljaGxhYi9hbGljaWFyaWNoL3JlYWRfcHJvY2Vzc2luZy9sb2dzL2RvcmFkb19tb2RlbC4lai5vdXQKI1NCQVRDSCAtLWVycm9yPS93b3JrL3JpY2hsYWIvYWxpY2lhcmljaC9yZWFkX3Byb2Nlc3NpbmcvbG9ncy9kb3JhZG9fbW9kZWwuJWouZXJyCiNTQkFUQ0ggLS10aW1lPTAxOjAwOjAwCiNTQkFUQ0ggLS1ub2Rlcz0xCiNTQkFUQ0ggLS1udGFza3MtcGVyLW5vZGU9OAojU0JBVENIIC0tY29uc3RyYWludD0nZ3B1X3YxMDB8Z3B1X3Q0JwojU0JBVENIIC0tcGFydGl0aW9uPWdwdSxndWVzdF9ncHUKI1NCQVRDSCAtLWdyZXM9Z3B1OjIKI1NCQVRDSCAtLW1lbT0yMEdCCmBgYAoKCmBgYHtjYXQsIGVuZ2luZS5vcHRzPWxpc3QoZmlsZT0nYmF0Y2hfc2NyaXB0cy9kb3JhZG9fc2V0dXAuc2gnLCBhcHBlbmQ9VFJVRSl9Cm1vZHVsZSBsb2FkIGFwcHRhaW5lcgoKY2QgL3dvcmsvcmljaGxhYi9hbGljaWFyaWNoL3JlYWRfcHJvY2Vzc2luZwoKYXBwdGFpbmVyIGV4ZWMgZG9ja2VyOi8vbmFub3BvcmV0ZWNoL2RvcmFkbzpsYXRlc3QgZG9yYWRvIGRvd25sb2FkIC0tbW9kZWwgZG5hX3IxMC40LjFfZTguMl80MDBicHNfc3VwQHY1LjIuMCAtLWRpcmVjdG9yeSBkb3JhZG9fbW9kZWxzCgpgYGAKCmBgYHtyLCBlY2hvPUZBTFNFfQpkb3dubG9hZF9maWxlKAogIHBhdGggPSAiYmF0Y2hfc2NyaXB0cy9kb3JhZG9fc2V0dXAuc2giLAogIG91dHB1dF9uYW1lICAgID0gImRvcmFkb19zZXR1cCIsCiAgYnV0dG9uX2xhYmVsICAgPSAiRG93bmxvYWQgU2NyaXB0IiwKICBidXR0b25fdHlwZSAgICA9ICJkYW5nZXIiLAogIGhhc19pY29uICAgICAgID0gVFJVRSwKICBpY29uICAgICAgICAgICA9ICJmYSBmYS1zYXZlIiwKICBzZWxmX2NvbnRhaW5lZCA9IFRSVUUKICAKKQpjYXQoCiAgIiMgYmF0Y2hfc2NyaXB0cy9kb3JhZG9fc2V0dXAuc2hcbiIsCiAgcmVhZF9saW5lcygiYmF0Y2hfc2NyaXB0cy9kb3JhZG9fc2V0dXAuc2giKSwgc2VwID0gIlxuIikKYGBgCgoKT25jZSB5b3UgZW5zdXJlIHRoaXMgc2NyaXB0IGhhcyB0cmFuc2ZlcnJlZCB0byB0aGUgYHJlYWRfcHJvY2Vzc2luZy9iYXRjaF9zY3JpcHRzYCBwYXRoIG9uIHlvdXIgSENDIGRpcmVjdG9yeSwgcnVuIHRoZSBjb2RlIGJlbG93IHRvIHN1Ym1pdCB0aGUgam9iLgoKYGBge3Rlcm1pbmFsLCBlY2hvPUZBTFNFfQpjZCByZWFkX3Byb2Nlc3NpbmcKc2JhdGNoIGJhdGNoX3NjcmlwdHMvZG9yYWRvX3NldHVwLnNoCmBgYAoKIyBDb21wcmVzc2lvbiBUb29scwoKYGBge3Rlcm1pbmFsLCBlY2hvPUZBTFNFfQptb2R1bGUgbG9hZCBhbmFjb25kYQoKY29uZGEgY3JlYXRlIC1uIHBpZ3ppcCBwaWd6PTIuOApgYGAKCiMjIFBST05BTUUgVXNhZ2UKCiMjIyBMb2NhbCBEb2NrZXIgSW1hZ2UKCmBgYHtjYXQsIGVuZ2luZS5vcHRzPWxpc3QoZmlsZT0nYmF0Y2hfc2NyaXB0cy9wcm9uYW1lX3NldHVwLnNoJyl9CiMhL2Jpbi9iYXNoCiNTQkFUQ0ggLS1qb2ItbmFtZT1wcm9uYW1lX3NldHVwCiNTQkFUQ0ggLS1vdXRwdXQ9L3dvcmsvcmljaGxhYi9hbGljaWFyaWNoL3JlYWRfcHJvY2Vzc2luZy9sb2dzL3Byb25hbWVfc2V0dXAuJWoub3V0CiNTQkFUQ0ggLS1lcnJvcj0vd29yay9yaWNobGFiL2FsaWNpYXJpY2gvcmVhZF9wcm9jZXNzaW5nL2xvZ3MvcHJvbmFtZV9zZXR1cC4lai5lcnIKI1NCQVRDSCAtLXRpbWU9MDE6MDA6MDAKI1NCQVRDSCAtLW5vZGVzPTEKI1NCQVRDSCAtLW50YXNrcz0xCiNTQkFUQ0ggLS1jcHVzLXBlci10YXNrPTgKI1NCQVRDSCAtLXBhcnRpdGlvbj1ndWVzdAojU0JBVENIIC0tbWVtPTEwMEdCCgpjZCAvd29yay9yaWNobGFiL2FsaWNpYXJpY2gvcmVhZF9wcm9jZXNzaW5nCgpta2RpciAtcCBjb250YWluZXJzCmNkIGNvbnRhaW5lcnMKCm1vZHVsZSBsb2FkIGFwcHRhaW5lcgoKYXBwdGFpbmVyIHB1bGwgZG9ja2VyOi8vYmVubjg4OC9wcm9uYW1lOnYyLjAuMS1hbWQ2NAoKYXBwdGFpbmVyIGluc3BlY3QgcHJvbmFtZV92Mi4wLjEtYW1kNjQuc2lmCgpgYGAKYGBge3IsIGVjaG89RkFMU0V9CmRvd25sb2FkX2ZpbGUoCiAgcGF0aCA9ICJiYXRjaF9zY3JpcHRzL3Byb25hbWVfc2V0dXAuc2giLAogIG91dHB1dF9uYW1lICAgID0gInByb25hbWVfc2V0dXAiLAogIGJ1dHRvbl9sYWJlbCAgID0gIkRvd25sb2FkIFNjcmlwdCIsCiAgYnV0dG9uX3R5cGUgICAgPSAiZGFuZ2VyIiwKICBoYXNfaWNvbiAgICAgICA9IFRSVUUsCiAgaWNvbiAgICAgICAgICAgPSAiZmEgZmEtc2F2ZSIsCiAgc2VsZl9jb250YWluZWQgPSBUUlVFCiAgCikKY2F0KAogICIjIGJhdGNoX3NjcmlwdHMvcHJvbmFtZV9zZXR1cC5zaFxuIiwKICByZWFkX2xpbmVzKCJiYXRjaF9zY3JpcHRzL3Byb25hbWVfc2V0dXAuc2giKSwgc2VwID0gIlxuIikKYGBgCgoKCg==