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