annotate README.md @ 7:b40270c0495e draft default tip

planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 97793e41864a750b1c18c80b858c118e43ae8d97
author galaxy-australia
date Mon, 23 Jun 2025 03:11:18 +0000
parents d4ee992c85f0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
1
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
2 ## Tool versions
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
3
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
4 Dorado is distributed on
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
5 [DockerHub](https://hub.docker.com/r/nanoporetech/dorado/tags) by nanoporetech.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
6 The containers are identified by sha256 hash, but not tagged with a version.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
7
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
8 We can still use the containers and display the dorado version by hard-coding
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
9 both dorado version and container hash into the wrapper (see `macros.xml`).
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
10 Unfortunately you have to pull a >6 GB container and run `dorado --version` just
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
11 to check the tool version. This also prevents auto-updates of this wrapper.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
12
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
13 You can update the list of models at the same time (see
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
14 below). **You must do this when you update the wrapper**.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
15
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
16 ## Basecalling models
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
17
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
18 The models are bundled in the container at `/models` and made available by the
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
19 `dorado_models.loc` file.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
20
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
21 The columns are `value`, `container_hash`, `name` and `path`.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
22
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
23 To update the list, modify `tool-data/dorado_models.loc.sample`.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
24
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
25 Because models can be added and removed, models are listed **per container** in
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
26 the loc file.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
27
1
28928576e1ea planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit c42b6e3fd2cf6d26e231645a9e8a2986503279e2
galaxy-australia
parents: 0
diff changeset
28 Here's some code to update the loc file with models from the container with hash
28928576e1ea planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit c42b6e3fd2cf6d26e231645a9e8a2986503279e2
galaxy-australia
parents: 0
diff changeset
29 `1c65eb070a9fc1d88710c4dc09b06541f96fdd28`.
0
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
30
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
31 ```bash
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
32 export DORADO_HASH="1c65eb070a9fc1d88710c4dc09b06541f96fdd28"
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
33
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
34 apptainer exec "docker://nanoporetech/dorado:sha${DORADO_HASH}" \
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
35 ls /models | \
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
36 awk -v hash="${DORADO_HASH}" '{print hash "_" $0 "\t" hash "\t" $0 "\t/models/" $0}' \
1
28928576e1ea planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit c42b6e3fd2cf6d26e231645a9e8a2986503279e2
galaxy-australia
parents: 0
diff changeset
37 > tool-data/dorado_models.loc.sample
0
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
38 ```
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
39
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
40 The loc file doesn't have a header, so you can keep it sorted.
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
41
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
42 ```bash
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
43 cp tool-data/dorado_models.loc.sample \
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
44 tool-data/dorado_models.loc.sample.old &&
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
45 sort -t$'\t' -k1,1V tool-data/dorado_models.loc.sample.old \
2
7c47b3c9e493 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit b284c9f73661ddf8d4f77bbab4e9ac2db6963a62
galaxy-australia
parents: 1
diff changeset
46 > tool-data/dorado_models.loc.sample
0
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
47 ```
18a8d140ec6f planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
48
6
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
49 ## Kits and Barcodes
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
50
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
51 The list of acceptable kits and barcodes is not specified in the Dorado
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
52 documentation.
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
53
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
54 A list of all sequencing kits is in [`kits.cpp`](https://github.com/nanoporetech/dorado/blob/master/dorado/models/kits.cpp)
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
55
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
56 Parsed into XML with the following GNU Awk program:
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
57
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
58 ```bash
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
59 gawk '
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
60 /namespace kit/ { in_kit_namespace = 1 }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
61 in_kit_namespace && /codes_map/ { in_map = 1; print "Entering kit::codes_map" }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
62 in_map && /^\s*\{/ {
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
63 if (match($0, /\{\s*KC::[A-Z0-9_]+,\s*\{\s*"([^"]+)"/, m))
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
64 print " <option value=\"" m[1] "\">" m[1] "</option>";
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
65 }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
66 /^\s*};/ {
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
67 if (in_map) {
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
68 print "Exiting kit::codes_map";
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
69 exit
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
70 }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
71 }' kits.cpp
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
72 ```
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
73
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
74 I believe the allowed barcodes are in [`barcode_kits.cpp`](https://github.com/nanoporetech/dorado/blob/master/dorado/utils/barcode_kits.cpp).
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
75
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
76 Parsed into XML with the following GNU Awk program:
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
77
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
78 ```bash
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
79 gawk '
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
80 /kit_info_map/ { in_map = 1 }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
81 in_map && /^\s*\{/ {
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
82 if (match($0, /^\s*\{\s*"([^"]+)",/, m))
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
83 print " <option value=\"" m[1] "\">" m[1] "</option>";
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
84 }
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
85 /^\s*};/ { if (in_map) exit }' barcode_kits.cpp
d4ee992c85f0 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
86 ```