annotate README.md @ 6:5e67ea368004 draft default tip

planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
author galaxy-australia
date Tue, 15 Apr 2025 07:04:29 +0000
parents 99c9427219d3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
1
63d8ecfcfab1 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
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
3
63d8ecfcfab1 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
63d8ecfcfab1 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.
63d8ecfcfab1 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.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
7
63d8ecfcfab1 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
63d8ecfcfab1 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`).
63d8ecfcfab1 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
63d8ecfcfab1 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.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
12
63d8ecfcfab1 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
63d8ecfcfab1 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**.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
15
63d8ecfcfab1 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
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
17
63d8ecfcfab1 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
63d8ecfcfab1 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.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
20
63d8ecfcfab1 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`.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
22
63d8ecfcfab1 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`.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
24
63d8ecfcfab1 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
63d8ecfcfab1 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.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
27
1
fc5b6491cf78 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
fc5b6491cf78 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
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
30
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
31 ```bash
63d8ecfcfab1 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"
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
33
63d8ecfcfab1 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}" \
63d8ecfcfab1 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 | \
63d8ecfcfab1 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
fc5b6491cf78 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
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
38 ```
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
39
63d8ecfcfab1 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.
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
41
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
42 ```bash
63d8ecfcfab1 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 \
63d8ecfcfab1 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 &&
63d8ecfcfab1 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
99c9427219d3 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
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
47 ```
63d8ecfcfab1 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/main/tools/dorado commit 0e768f088307f927787041b98504c594c6bcbe0f
galaxy-australia
parents:
diff changeset
48
6
5e67ea368004 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
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
50
5e67ea368004 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
5e67ea368004 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.
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
53
5e67ea368004 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)
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
55
5e67ea368004 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:
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
57
5e67ea368004 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
5e67ea368004 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 '
5e67ea368004 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 }
5e67ea368004 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" }
5e67ea368004 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*\{/ {
5e67ea368004 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))
5e67ea368004 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>";
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
65 }
5e67ea368004 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*};/ {
5e67ea368004 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) {
5e67ea368004 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";
5e67ea368004 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
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
70 }
5e67ea368004 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
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
72 ```
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
73
5e67ea368004 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).
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
75
5e67ea368004 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:
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
77
5e67ea368004 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
5e67ea368004 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 '
5e67ea368004 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 }
5e67ea368004 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*\{/ {
5e67ea368004 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))
5e67ea368004 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>";
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
84 }
5e67ea368004 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
5e67ea368004 planemo upload for repository https://github.com/usegalaxy-au/tools-au/tree/master/tools/dorado commit 4e9b34685eeea001562ec29e1f10f5ee2eeca19c
galaxy-australia
parents: 2
diff changeset
86 ```