From 11d2b5b6413182180708009a4b6eee7231f1d5f6 Mon Sep 17 00:00:00 2001 From: Jessica Gadling Date: Fri, 16 Aug 2024 17:55:58 -0400 Subject: [PATCH 1/5] Update to the latest version of nextclade. --- src/backend/Dockerfile.lineage_qc | 2 +- src/backend/aspen/workflows/nextclade/prep_samples.py | 8 ++++++++ src/backend/aspen/workflows/nextclade/run_nextclade.sh | 2 +- src/backend/aspen/workflows/nextclade/utils.py | 6 +++--- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/backend/Dockerfile.lineage_qc b/src/backend/Dockerfile.lineage_qc index b0bed2c335..f49576d83d 100644 --- a/src/backend/Dockerfile.lineage_qc +++ b/src/backend/Dockerfile.lineage_qc @@ -19,7 +19,7 @@ RUN update-ca-certificates # install nextclade, check it installed correctly RUN apt-get --yes install curl -RUN cd /usr/local/bin && curl -fsSL "https://github.com/nextstrain/nextclade/releases/download/2.14.0/nextclade-x86_64-unknown-linux-gnu" -o "nextclade" && chmod +x nextclade +RUN cd /usr/local/bin && curl -fsSL "https://github.com/nextstrain/nextclade/releases/download/3.8.2/nextclade-x86_64-unknown-linux-gnu" -o "nextclade" && chmod +x nextclade RUN nextclade --version # Poetry: install app diff --git a/src/backend/aspen/workflows/nextclade/prep_samples.py b/src/backend/aspen/workflows/nextclade/prep_samples.py index 35da6c40db..f6292e27f5 100644 --- a/src/backend/aspen/workflows/nextclade/prep_samples.py +++ b/src/backend/aspen/workflows/nextclade/prep_samples.py @@ -15,6 +15,7 @@ if you're tweaking it to support multiple tools. Especially look closely at the function `get_sample_ids_to_refresh` in here. """ + import io import json import subprocess @@ -127,6 +128,13 @@ def cli( # generalized case and we'll need to figure out how to handle that, # but right now the workflow is hardcoded to always expecting dataset. nextclade_dataset_name = target_pathogen.nextclade_dataset_name + # Nextclade 3.2.8 has new names for datasets vs the 2.1 names in the db. + new_nextclade_dataset_names = { + "SARS-CoV": "nextstrain/sars-cov-2/wuhan-hu-1/orfs", + "hMPXV": "nextstrain/mpox/all-clades", + } + if nextclade_dataset_name in new_nextclade_dataset_names: + nextclade_dataset_name = new_nextclade_dataset_names[nextclade_dataset_name] if not nextclade_dataset_name: print("No nextclade_dataset_name for this pathogen in the DB.") if run_type == RunType.REFRESH_STALE: diff --git a/src/backend/aspen/workflows/nextclade/run_nextclade.sh b/src/backend/aspen/workflows/nextclade/run_nextclade.sh index 26e8f98473..2b92881364 100755 --- a/src/backend/aspen/workflows/nextclade/run_nextclade.sh +++ b/src/backend/aspen/workflows/nextclade/run_nextclade.sh @@ -20,7 +20,7 @@ shopt -s inherit_errexit # no silent breaking # This is where we will store Nextclade's dataset for the target pathogen. NEXTCLADE_DATASET_DIR=nextclade_dataset_bundle # Inside the dataset, Nextclade uses this file to tag the dataset. -NEXTCLADE_TAG_FILENAME=tag.json +NEXTCLADE_TAG_FILENAME=pathogen.json # Certain bits of info need to be passed around during the workflow. # Using JSON file as an easy way to pass them around to various processes. diff --git a/src/backend/aspen/workflows/nextclade/utils.py b/src/backend/aspen/workflows/nextclade/utils.py index 21abe42ffb..47cb5e8d70 100644 --- a/src/backend/aspen/workflows/nextclade/utils.py +++ b/src/backend/aspen/workflows/nextclade/utils.py @@ -24,7 +24,7 @@ def extract_dataset_info(nextclade_tag_fh: IO[str]) -> Dict[str, str]: """ nextclade_tag = json.load(nextclade_tag_fh) return { - "name": nextclade_tag["name"], - "accession": nextclade_tag["reference"]["accession"], - "tag": nextclade_tag["tag"], + "name": nextclade_tag["attributes"]["name"], + "accession": nextclade_tag["attributes"]["reference accession"], + "tag": nextclade_tag["version"]["tag"], } From 224d3c0cb5bd3deaa9f88a98bf12858c7290375e Mon Sep 17 00:00:00 2001 From: Jessica Gadling Date: Fri, 16 Aug 2024 18:11:12 -0400 Subject: [PATCH 2/5] Fix tests --- .../nextclade/tests/data/pathogen.json | 6696 +++++++++++++++++ .../workflows/nextclade/tests/data/tag.json | 48 - .../nextclade/tests/test_nextclade_save.py | 14 +- 3 files changed, 6702 insertions(+), 56 deletions(-) create mode 100644 src/backend/aspen/workflows/nextclade/tests/data/pathogen.json delete mode 100644 src/backend/aspen/workflows/nextclade/tests/data/tag.json diff --git a/src/backend/aspen/workflows/nextclade/tests/data/pathogen.json b/src/backend/aspen/workflows/nextclade/tests/data/pathogen.json new file mode 100644 index 0000000000..99c86b68fe --- /dev/null +++ b/src/backend/aspen/workflows/nextclade/tests/data/pathogen.json @@ -0,0 +1,6696 @@ +{ + "alignmentParams": { + "excessBandwidth": 12, + "terminalBandwidth": 100, + "allowedMismatches": 4, + "gapAlignmentSide": "right", + "minSeedCover": 0.1 + }, + "compatibility": { + "cli": "3.0.0-alpha.0", + "web": "3.0.0-alpha.0" + }, + "defaultCds": "S", + "files": { + "changelog": "CHANGELOG.md", + "examples": "sequences.fasta", + "genomeAnnotation": "genome_annotation.gff3", + "pathogenJson": "pathogen.json", + "readme": "README.md", + "reference": "reference.fasta", + "treeJson": "tree.json" + }, + "cdsOrderPreference": [ + "S", + "N", + "M", + "E", + "ORF1a", + "ORF1b", + "nsp1", + "nsp2", + "nsp3", + "nsp4", + "nsp5", + "nsp6", + "nsp7", + "nsp8", + "nsp9", + "nsp10", + "nsp11", + "nsp12", + "nsp13", + "nsp14", + "nsp15", + "nsp16", + "ORF3a", + "ORF6", + "ORF7a", + "ORF7b", + "ORF8", + "ORF9b" + ], + "qc": { + "frameShifts": { + "enabled": true, + "ignoredFrameShifts": [ + { + "codonRange": { + "begin": 141, + "end": 143 + }, + "cdsName": "S" + }, + { + "codonRange": { + "begin": 210, + "end": 214 + }, + "cdsName": "S" + }, + { + "codonRange": { + "begin": 211, + "end": 214 + }, + "cdsName": "S" + }, + { + "codonRange": { + "begin": 212, + "end": 214 + }, + "cdsName": "S" + }, + { + "codonRange": { + "begin": 74, + "end": 76 + }, + "cdsName": "E" + }, + { + "codonRange": { + "begin": 1, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 15, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 27, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 28, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 28, + "end": 42 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 29, + "end": 43 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 47, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 56, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 65, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 94, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 103, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 104, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 135, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 146, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 147, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 148, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 256, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 249, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 257, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 258, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 259, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 260, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 263, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 264, + "end": 276 + }, + "cdsName": "ORF3a" + }, + { + "codonRange": { + "begin": 2, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 3, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 7, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 8, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 10, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 22, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 23, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 27, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 28, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 29, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 30, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 31, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 32, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 33, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 34, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 35, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 37, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 38, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 57, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 58, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 59, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 60, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 61, + "end": 62 + }, + "cdsName": "ORF6" + }, + { + "codonRange": { + "begin": 4, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 23, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 31, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 39, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 40, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 44, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 46, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 47, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 53, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 54, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 54, + "end": 65 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 55, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 59, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 60, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 61, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 61, + "end": 98 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 62, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 63, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 64, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 65, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 66, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 67, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 68, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 69, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 70, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 71, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 72, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 73, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 74, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 75, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 76, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 77, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 78, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 79, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 80, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 81, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 82, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 83, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 84, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 85, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 86, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 87, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 88, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 89, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 90, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 91, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 92, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 93, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 94, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 95, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 96, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 97, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 98, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 99, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 100, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 101, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 102, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 103, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 104, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 105, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 106, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 107, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 108, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 109, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 110, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 111, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 112, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 113, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 114, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 115, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 116, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 117, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 118, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 119, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 120, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 121, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 122, + "end": 122 + }, + "cdsName": "ORF7a" + }, + { + "codonRange": { + "begin": 3, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 6, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 10, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 11, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 12, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 13, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 14, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 16, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 17, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 18, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 22, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 32, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 39, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 41, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 42, + "end": 44 + }, + "cdsName": "ORF7b" + }, + { + "codonRange": { + "begin": 3, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 4, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 5, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 6, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 7, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 8, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 21, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 26, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 32, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 44, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 45, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 46, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 47, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 53, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 58, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 59, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 62, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 63, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 64, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 65, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 66, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 67, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 68, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 69, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 70, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 71, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 72, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 73, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 74, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 75, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 76, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 77, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 78, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 79, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 80, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 81, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 82, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 83, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 84, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 85, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 86, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 87, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 88, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 89, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 90, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 91, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 92, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 93, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 94, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 95, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 96, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 97, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 98, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 99, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 100, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 101, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 102, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 103, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 104, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 105, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 106, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 107, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 108, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 109, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 110, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 111, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 112, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 113, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 114, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 115, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 116, + "end": 120 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 118, + "end": 120 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 119, + "end": 120 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 116, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 117, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 118, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 119, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 120, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 121, + "end": 122 + }, + "cdsName": "ORF8" + }, + { + "codonRange": { + "begin": 2, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 3, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 4, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 5, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 6, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 7, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 8, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 9, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 10, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 11, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 12, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 13, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 14, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 15, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 16, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 17, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 18, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 19, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 20, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 21, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 22, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 23, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 24, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 25, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 26, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 27, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 28, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 29, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 29, + "end": 33 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 30, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 31, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 32, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 33, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 34, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 35, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 36, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 37, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 38, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 39, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 40, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 41, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 42, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 43, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 44, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 45, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 46, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 47, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 48, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 49, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 50, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 51, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 52, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 53, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 54, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 55, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 56, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 57, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 58, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 59, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 60, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 61, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 62, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 63, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 64, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 65, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 66, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 67, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 68, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 69, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 70, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 71, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 72, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 73, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 74, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 75, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 76, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 77, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 78, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 79, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 80, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 81, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 82, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 83, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 84, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 85, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 86, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 87, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 88, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 89, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 90, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 91, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 92, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 93, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 94, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 95, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 96, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 97, + "end": 98 + }, + "cdsName": "ORF9b" + }, + { + "codonRange": { + "begin": 98, + "end": 98 + }, + "cdsName": "ORF9b" + } + ] + }, + "missingData": { + "enabled": true, + "missingDataThreshold": 2700, + "scoreBias": 300 + }, + "mixedSites": { + "enabled": true, + "mixedSitesThreshold": 10 + }, + "privateMutations": { + "cutoff": 24, + "enabled": true, + "typical": 8, + "weightLabeledSubstitutions": 4, + "weightReversionSubstitutions": 6, + "weightUnlabeledSubstitutions": 1 + }, + "snpClusters": { + "clusterCutOff": 6, + "enabled": true, + "scoreWeight": 50, + "windowSize": 100 + }, + "stopCodons": { + "enabled": true, + "ignoredStopCodons": [ + { + "codon": 417, + "cdsName": "N" + }, + { + "codon": 238, + "cdsName": "ORF3a" + }, + { + "codon": 240, + "cdsName": "ORF3a" + }, + { + "codon": 241, + "cdsName": "ORF3a" + }, + { + "codon": 244, + "cdsName": "ORF3a" + }, + { + "codon": 251, + "cdsName": "ORF3a" + }, + { + "codon": 253, + "cdsName": "ORF3a" + }, + { + "codon": 260, + "cdsName": "ORF3a" + }, + { + "codon": 263, + "cdsName": "ORF3a" + }, + { + "codon": 265, + "cdsName": "ORF3a" + }, + { + "codon": 7, + "cdsName": "ORF6" + }, + { + "codon": 12, + "cdsName": "ORF6" + }, + { + "codon": 22, + "cdsName": "ORF6" + }, + { + "codon": 26, + "cdsName": "ORF6" + }, + { + "codon": 30, + "cdsName": "ORF6" + }, + { + "codon": 42, + "cdsName": "ORF6" + }, + { + "codon": 45, + "cdsName": "ORF6" + }, + { + "codon": 48, + "cdsName": "ORF6" + }, + { + "codon": 50, + "cdsName": "ORF6" + }, + { + "codon": 53, + "cdsName": "ORF6" + }, + { + "codon": 54, + "cdsName": "ORF6" + }, + { + "codon": 55, + "cdsName": "ORF6" + }, + { + "codon": 58, + "cdsName": "ORF6" + }, + { + "codon": 20, + "cdsName": "ORF7a" + }, + { + "codon": 34, + "cdsName": "ORF7a" + }, + { + "codon": 37, + "cdsName": "ORF7a" + }, + { + "codon": 39, + "cdsName": "ORF7a" + }, + { + "codon": 40, + "cdsName": "ORF7a" + }, + { + "codon": 43, + "cdsName": "ORF7a" + }, + { + "codon": 52, + "cdsName": "ORF7a" + }, + { + "codon": 61, + "cdsName": "ORF7a" + }, + { + "codon": 71, + "cdsName": "ORF7a" + }, + { + "codon": 74, + "cdsName": "ORF7a" + }, + { + "codon": 75, + "cdsName": "ORF7a" + }, + { + "codon": 76, + "cdsName": "ORF7a" + }, + { + "codon": 79, + "cdsName": "ORF7a" + }, + { + "codon": 80, + "cdsName": "ORF7a" + }, + { + "codon": 82, + "cdsName": "ORF7a" + }, + { + "codon": 84, + "cdsName": "ORF7a" + }, + { + "codon": 88, + "cdsName": "ORF7a" + }, + { + "codon": 89, + "cdsName": "ORF7a" + }, + { + "codon": 90, + "cdsName": "ORF7a" + }, + { + "codon": 91, + "cdsName": "ORF7a" + }, + { + "codon": 93, + "cdsName": "ORF7a" + }, + { + "codon": 94, + "cdsName": "ORF7a" + }, + { + "codon": 96, + "cdsName": "ORF7a" + }, + { + "codon": 112, + "cdsName": "ORF7a" + }, + { + "codon": 116, + "cdsName": "ORF7a" + }, + { + "codon": 117, + "cdsName": "ORF7a" + }, + { + "codon": 120, + "cdsName": "ORF7a" + }, + { + "codon": 2, + "cdsName": "ORF7b" + }, + { + "codon": 4, + "cdsName": "ORF7b" + }, + { + "codon": 9, + "cdsName": "ORF7b" + }, + { + "codon": 11, + "cdsName": "ORF7b" + }, + { + "codon": 13, + "cdsName": "ORF7b" + }, + { + "codon": 18, + "cdsName": "ORF7b" + }, + { + "codon": 28, + "cdsName": "ORF7b" + }, + { + "codon": 30, + "cdsName": "ORF7b" + }, + { + "codon": 32, + "cdsName": "ORF7b" + }, + { + "codon": 34, + "cdsName": "ORF7b" + }, + { + "codon": 38, + "cdsName": "ORF7b" + }, + { + "codon": 7, + "cdsName": "ORF8" + }, + { + "codon": 17, + "cdsName": "ORF8" + }, + { + "codon": 18, + "cdsName": "ORF8" + }, + { + "codon": 22, + "cdsName": "ORF8" + }, + { + "codon": 26, + "cdsName": "ORF8" + }, + { + "codon": 28, + "cdsName": "ORF8" + }, + { + "codon": 44, + "cdsName": "ORF8" + }, + { + "codon": 49, + "cdsName": "ORF8" + }, + { + "codon": 53, + "cdsName": "ORF8" + }, + { + "codon": 58, + "cdsName": "ORF8" + }, + { + "codon": 59, + "cdsName": "ORF8" + }, + { + "codon": 63, + "cdsName": "ORF8" + }, + { + "codon": 67, + "cdsName": "ORF8" + }, + { + "codon": 71, + "cdsName": "ORF8" + }, + { + "codon": 89, + "cdsName": "ORF8" + }, + { + "codon": 90, + "cdsName": "ORF8" + }, + { + "codon": 91, + "cdsName": "ORF8" + }, + { + "codon": 94, + "cdsName": "ORF8" + }, + { + "codon": 102, + "cdsName": "ORF8" + }, + { + "codon": 104, + "cdsName": "ORF8" + }, + { + "codon": 105, + "cdsName": "ORF8" + }, + { + "codon": 109, + "cdsName": "ORF8" + }, + { + "codon": 6, + "cdsName": "ORF9b" + }, + { + "codon": 19, + "cdsName": "ORF9b" + }, + { + "codon": 33, + "cdsName": "ORF9b" + }, + { + "codon": 64, + "cdsName": "ORF9b" + }, + { + "codon": 76, + "cdsName": "ORF9b" + }, + { + "codon": 85, + "cdsName": "ORF9b" + } + ] + } + }, + "schemaVersion": "3.0.0", + "version": { + "updatedAt": "2024-07-17T12:57:03Z", + "tag": "2024-07-17--12-57-03Z", + "compatibility": { + "cli": "3.0.0-alpha.0", + "web": "3.0.0-alpha.0" + } + }, + "maintenance": { + "website": [ + "https://nextstrain.org", + "https://clades.nextstrain.org" + ], + "documentation": [ + "https://github.com/nextstrain/nextclade_data", + "https://docs.nextstrain.org/projects/nextclade" + ], + "source code": [ + "https://github.com/nextstrain/nextclade_data", + "https://github.com/neherlab/nextclade_data_workflows" + ], + "issues": [ + "https://github.com/nextstrain/nextclade_data", + "https://github.com/nextstrain/nextclade_data/issues" + ], + "organizations": [ + "Nextstrain" + ], + "authors": [ + "Nextstrain team " + ] + }, + "mutLabels": { + "nucMutLabelMap": { + "174T": [ + "20H" + ], + "193T": [ + "23C" + ], + "204T": [ + "20E" + ], + "210T": [ + "21J", + "21I", + "21A", + "21B" + ], + "222T": [ + "20E" + ], + "241T": [ + "21J", + "21K", + "21L", + "22B", + "20I", + "22E", + "20A", + "23A", + "21I", + "20B", + "22C", + "24A", + "20E", + "22A", + "23F", + "20G", + "20C", + "23D", + "20J", + "21A", + "23B", + "22D", + "22F", + "21C", + "rec", + "23C", + "23E", + "21F", + "20H", + "23H", + "23I", + "21H", + "23G", + "20D", + "20F", + "21G", + "24B", + "21D", + "21B", + "21M", + "21E" + ], + "275T": [ + "19B" + ], + "313T": [ + "20B" + ], + "405G": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "445C": [ + "20E" + ], + "526T": [ + "21J" + ], + "569A": [ + "20D" + ], + "593T": [ + "22D" + ], + "625T": [ + "rec" + ], + "670G": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "733C": [ + "20J" + ], + "774T": [ + "24A" + ], + "897A": [ + "24A", + "23I", + "24B" + ], + "913T": [ + "20I" + ], + "1048T": [ + "21J" + ], + "1059T": [ + "20G", + "20C", + "21C", + "21F", + "20H" + ], + "1163T": [ + "20F" + ], + "1180G": [ + "20C" + ], + "1191T": [ + "21A" + ], + "1267T": [ + "21A" + ], + "1498T": [ + "21D" + ], + "1545T": [ + "23C" + ], + "1567T": [ + "19B" + ], + "1627T": [ + "22B", + "rec" + ], + "1684T": [ + "21I" + ], + "1729A": [ + "21I" + ], + "1752G": [ + "21E" + ], + "1807G": [ + "21D" + ], + "1820A": [ + "21J" + ], + "1927C": [ + "20G" + ], + "1931A": [ + "22E" + ], + "1973T": [ + "23G" + ], + "2061T": [ + "21E" + ], + "2110T": [ + "20I" + ], + "2127G": [ + "23I" + ], + "2334T": [ + "23F", + "23H" + ], + "2395T": [ + "21C" + ], + "2453T": [ + "20I" + ], + "2470T": [ + "21K" + ], + "2480G": [ + "19A" + ], + "2518T": [ + "21J" + ], + "2536T": [ + "21D" + ], + "2558T": [ + "19A" + ], + "2597C": [ + "21C" + ], + "2659A": [ + "21D" + ], + "2692T": [ + "20H" + ], + "2749T": [ + "20J" + ], + "2790T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "2824C": [ + "23G" + ], + "2832G": [ + "21K" + ], + "2841T": [ + "20D" + ], + "2911G": [ + "21I" + ], + "2954C": [ + "22E" + ], + "3037T": [ + "21J", + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "20A", + "21I", + "22C", + "20B", + "24A", + "22A", + "20E", + "23F", + "20G", + "23D", + "20C", + "20J", + "23B", + "22D", + "21A", + "22F", + "21C", + "rec", + "23C", + "23E", + "21F", + "20H", + "23H", + "23I", + "21H", + "23G", + "20D", + "20F", + "24B", + "21G", + "21D", + "21B", + "21M", + "21E" + ], + "3241T": [ + "21K" + ], + "3267T": [ + "20I" + ], + "3339C": [ + "rec" + ], + "3428G": [ + "21H" + ], + "3431T": [ + "24A", + "23I", + "24B" + ], + "3457T": [ + "21B" + ], + "3565C": [ + "24A", + "24B" + ], + "3796T": [ + "22D", + "23C" + ], + "3817T": [ + "21C" + ], + "3828T": [ + "20J" + ], + "3857A": [ + "23C" + ], + "3859G": [ + "22B" + ], + "3927T": [ + "22D", + "23C" + ], + "3948G": [ + "21J" + ], + "4002T": [ + "20D", + "21G" + ], + "4181T": [ + "21J" + ], + "4184A": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "4234T": [ + "23E" + ], + "4237C": [ + "21J" + ], + "4321T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "4402A": [ + "23C" + ], + "4516C": [ + "21E" + ], + "4543T": [ + "20A", + "19B" + ], + "4586T": [ + "22D", + "23C" + ], + "4878T": [ + "21H" + ], + "4926G": [ + "21E" + ], + "4965T": [ + "21B" + ], + "5100T": [ + "20H" + ], + "5164T": [ + "21I" + ], + "5180A": [ + "20D" + ], + "5183T": [ + "22D", + "23C" + ], + "5184T": [ + "21I", + "21A" + ], + "5192T": [ + "21H" + ], + "5230T": [ + "20H" + ], + "5234G": [ + "19B" + ], + "5239T": [ + "21J" + ], + "5284T": [ + "22B" + ], + "5365T": [ + "21J" + ], + "5386G": [ + "21K" + ], + "5388A": [ + "20I" + ], + "5488G": [ + "19B" + ], + "5514C": [ + "21J" + ], + "5515T": [ + "21K" + ], + "5584G": [ + "21I" + ], + "5629T": [ + "20A" + ], + "5648C": [ + "20J" + ], + "5720A": [ + "23F", + "23D", + "23H" + ], + "5730T": [ + "21K" + ], + "5835T": [ + "23F" + ], + "5869T": [ + "21D" + ], + "5924A": [ + "21K" + ], + "5944T": [ + "20I" + ], + "5986T": [ + "20I" + ], + "6037T": [ + "21H" + ], + "6040T": [ + "21J" + ], + "6070T": [ + "rec" + ], + "6101A": [ + "21F" + ], + "6183G": [ + "24A", + "23I", + "24B" + ], + "6285T": [ + "21D" + ], + "6286T": [ + "20E" + ], + "6312A": [ + "19A" + ], + "6319G": [ + "20J" + ], + "6402T": [ + "21J" + ], + "6536A": [ + "23E" + ], + "6541T": [ + "23F", + "23H" + ], + "6613G": [ + "20J" + ], + "6638T": [ + "21J" + ], + "6704G": [ + "21H" + ], + "6730T": [ + "20C" + ], + "6740T": [ + "23E" + ], + "6851C": [ + "20C" + ], + "6936T": [ + "20C" + ], + "6954C": [ + "20I" + ], + "6979G": [ + "22B" + ], + "7042T": [ + "20I" + ], + "7113T": [ + "24B" + ], + "7124T": [ + "21J", + "21G" + ], + "7165T": [ + "21B" + ], + "7201G": [ + "21F" + ], + "7424G": [ + "21G" + ], + "7528T": [ + "22B" + ], + "7540C": [ + "20F" + ], + "7564A": [ + "21E" + ], + "7564T": [ + "23G" + ], + "7842G": [ + "24A", + "23I", + "24B" + ], + "7851T": [ + "21J" + ], + "7926T": [ + "21J", + "21K" + ], + "8031G": [ + "21D" + ], + "8052G": [ + "20H" + ], + "8083A": [ + "20G" + ], + "8139T": [ + "21E" + ], + "8140T": [ + "22A" + ], + "8293T": [ + "24A", + "23I", + "24B" + ], + "8393A": [ + "21K", + "24A", + "23I", + "24B" + ], + "8593C": [ + "21D" + ], + "8692T": [ + "rec" + ], + "8737C": [ + "23G" + ], + "8782T": [ + "19B" + ], + "8809T": [ + "21F" + ], + "8829T": [ + "21J" + ], + "8835C": [ + "21J" + ], + "8882G": [ + "22B" + ], + "8947T": [ + "21C" + ], + "8986T": [ + "21J" + ], + "8991T": [ + "21L" + ], + "9053T": [ + "21J" + ], + "9105A": [ + "20J" + ], + "9120T": [ + "21H" + ], + "9203A": [ + "21E" + ], + "9344T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "9424G": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "9477A": [ + "19B" + ], + "9526T": [ + "20A" + ], + "9534T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "9559T": [ + "21J" + ], + "9565T": [ + "21D" + ], + "9693T": [ + "23F", + "23H" + ], + "9738C": [ + "21C" + ], + "9749G": [ + "20C" + ], + "9857T": [ + "21G" + ], + "9866T": [ + "21L", + "23A", + "22C", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "23H", + "rec", + "23G" + ], + "9867C": [ + "21F", + "21G", + "21E" + ], + "9891T": [ + "21I" + ], + "9929A": [ + "20D" + ], + "9967T": [ + "22B" + ], + "10029T": [ + "21J", + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "21H", + "23G", + "24B", + "21G", + "21M" + ], + "10097A": [ + "20D", + "21G" + ], + "10135C": [ + "21K" + ], + "10198T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "10204C": [ + "23A" + ], + "10319T": [ + "20G" + ], + "10323G": [ + "20H" + ], + "10396T": [ + "20H" + ], + "10447A": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "10449A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "10560G": [ + "21K" + ], + "10977T": [ + "21J" + ], + "11005A": [ + "19B" + ], + "11042T": [ + "24A", + "23I", + "24B" + ], + "11083T": [ + "19A" + ], + "11146T": [ + "22D" + ], + "11201G": [ + "21J", + "21B" + ], + "11230T": [ + "19B" + ], + "11308A": [ + "21E" + ], + "11325T": [ + "20D" + ], + "11332G": [ + "21J" + ], + "11337C": [ + "20D" + ], + "11418C": [ + "21I" + ], + "11451G": [ + "21H" + ], + "11456G": [ + "21J" + ], + "11497T": [ + "20A" + ], + "11514T": [ + "21I" + ], + "11515C": [ + "22D" + ], + "11537G": [ + "21K" + ], + "11562T": [ + "21J" + ], + "11674T": [ + "22C" + ], + "11727A": [ + "24A", + "24B" + ], + "11750T": [ + "22E", + "23B" + ], + "11804A": [ + "20C" + ], + "11956T": [ + "23B", + "23D" + ], + "12049T": [ + "21E" + ], + "12053T": [ + "21E" + ], + "12100T": [ + "21C" + ], + "12160A": [ + "22B", + "22E", + "22A" + ], + "12162G": [ + "20I" + ], + "12310A": [ + "22B" + ], + "12444G": [ + "22D", + "23C", + "rec" + ], + "12467T": [ + "23G" + ], + "12534T": [ + "20D" + ], + "12730A": [ + "23B" + ], + "12778T": [ + "20J" + ], + "12789T": [ + "24A", + "23F", + "23D", + "23H", + "23I", + "24B" + ], + "12801A": [ + "21J" + ], + "12815T": [ + "24A", + "23I", + "24B" + ], + "12878G": [ + "21C" + ], + "12880T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "12946C": [ + "21A" + ], + "13019T": [ + "21I" + ], + "13057T": [ + "21H" + ], + "13195C": [ + "21K" + ], + "13339C": [ + "24A", + "23I", + "24B" + ], + "13536T": [ + "20D", + "21G" + ], + "13627A": [ + "23F", + "23H" + ], + "13713A": [ + "21C" + ], + "13730T": [ + "19A" + ], + "13860T": [ + "20J" + ], + "13993T": [ + "20A" + ], + "14014G": [ + "21J" + ], + "14030A": [ + "21I" + ], + "14120T": [ + "20I" + ], + "14257C": [ + "22E" + ], + "14407T": [ + "21D" + ], + "14408T": [ + "21J", + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "20A", + "21I", + "22C", + "20B", + "24A", + "22A", + "20E", + "23F", + "20G", + "23D", + "20C", + "20J", + "23B", + "22D", + "21A", + "22F", + "21C", + "rec", + "23C", + "23E", + "21F", + "20H", + "23H", + "23I", + "21H", + "23G", + "20D", + "20F", + "24B", + "21G", + "21D", + "21B", + "21M", + "21E" + ], + "14599T": [ + "22A" + ], + "14676T": [ + "20I" + ], + "14805T": [ + "20G" + ], + "14856G": [ + "23B" + ], + "15002G": [ + "21H" + ], + "15009C": [ + "22C" + ], + "15096C": [ + "20I" + ], + "15240T": [ + "21K" + ], + "15279T": [ + "20I" + ], + "15451A": [ + "21J", + "23A", + "21I", + "23F", + "23D", + "23B", + "22D", + "21A", + "22F", + "23C", + "23E", + "23H", + "rec", + "23G" + ], + "15521A": [ + "21J" + ], + "15714T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "15738T": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "15756A": [ + "24A", + "23I", + "24B" + ], + "15766T": [ + "20A" + ], + "15939C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "15952A": [ + "21J" + ], + "16064G": [ + "21K" + ], + "16176C": [ + "20I" + ], + "16342C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23H", + "23G" + ], + "16375T": [ + "20C" + ], + "16394T": [ + "21C" + ], + "16466T": [ + "21J", + "21I", + "21A" + ], + "16500C": [ + "21F" + ], + "16549T": [ + "20D" + ], + "16616A": [ + "22B" + ], + "16647T": [ + "20F" + ], + "16726T": [ + "21J" + ], + "16852T": [ + "21B" + ], + "16857C": [ + "19B" + ], + "16878T": [ + "23F", + "23D", + "23H" + ], + "16889G": [ + "20A" + ], + "16935A": [ + "22E" + ], + "17014T": [ + "21C" + ], + "17019T": [ + "20A", + "21H" + ], + "17039G": [ + "22E" + ], + "17040C": [ + "21J" + ], + "17074T": [ + "21E" + ], + "17104T": [ + "20A" + ], + "17122T": [ + "21J" + ], + "17124C": [ + "23A", + "23G" + ], + "17236G": [ + "21J" + ], + "17247C": [ + "19A" + ], + "17259T": [ + "20J" + ], + "17334T": [ + "24B" + ], + "17339T": [ + "21E" + ], + "17410T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "17491T": [ + "21H" + ], + "17523T": [ + "21B" + ], + "17615G": [ + "20I" + ], + "17707T": [ + "21H" + ], + "17747T": [ + "19B" + ], + "17766T": [ + "20D" + ], + "17858G": [ + "19B" + ], + "17859C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "17999T": [ + "20H" + ], + "18060T": [ + "19B" + ], + "18086T": [ + "21I" + ], + "18163G": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "18171T": [ + "21D" + ], + "18176T": [ + "21A" + ], + "18417C": [ + "19B" + ], + "18424G": [ + "20G" + ], + "18492G": [ + "24A", + "23F", + "23H", + "23I", + "24B" + ], + "18503G": [ + "21E" + ], + "18555T": [ + "20F" + ], + "18583A": [ + "23C", + "rec" + ], + "18703T": [ + "23B" + ], + "18744T": [ + "21J" + ], + "18877T": [ + "20A", + "21H" + ], + "18894T": [ + "24A", + "24B" + ], + "19006T": [ + "21J" + ], + "19035C": [ + "21H" + ], + "19220T": [ + "21J" + ], + "19326G": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "19524T": [ + "22B", + "21J" + ], + "19813T": [ + "21B" + ], + "19839C": [ + "20B" + ], + "19884T": [ + "23E" + ], + "19886G": [ + "23C" + ], + "19955T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "20055G": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "20148T": [ + "21H" + ], + "20235T": [ + "22D" + ], + "20244G": [ + "21E" + ], + "20262G": [ + "21F" + ], + "20268G": [ + "20A" + ], + "20396G": [ + "21B" + ], + "20401G": [ + "21B" + ], + "20402T": [ + "21H" + ], + "20724G": [ + "21D" + ], + "20741G": [ + "23C" + ], + "20748C": [ + "20C" + ], + "20937T": [ + "21J" + ], + "21137G": [ + "21J", + "21D" + ], + "21255C": [ + "20E" + ], + "21304T": [ + "20G" + ], + "21372T": [ + "21J" + ], + "21570G": [ + "22A" + ], + "21575T": [ + "21F" + ], + "21588T": [ + "21E" + ], + "21595T": [ + "21K" + ], + "21597T": [ + "20D" + ], + "21600T": [ + "21C" + ], + "21614T": [ + "20J", + "20E" + ], + "21618G": [ + "21J", + "21I", + "21A" + ], + "21618T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "22A", + "24A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "21621A": [ + "20J" + ], + "21622T": [ + "24A", + "23I", + "24B" + ], + "21624C": [ + "24A", + "23I", + "24B" + ], + "21638T": [ + "20J" + ], + "21711T": [ + "24A", + "23I", + "24B" + ], + "21717G": [ + "21D" + ], + "21718T": [ + "23F", + "23H" + ], + "21721T": [ + "22C" + ], + "21762T": [ + "21K", + "21D" + ], + "21786T": [ + "21G" + ], + "21789T": [ + "21G" + ], + "21801C": [ + "20H" + ], + "21810C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "21811T": [ + "23C" + ], + "21846T": [ + "21K", + "21J", + "21F", + "21H" + ], + "21895C": [ + "21B" + ], + "21897T": [ + "21J" + ], + "21941T": [ + "24A", + "23I", + "24B" + ], + "21974T": [ + "20J" + ], + "21987A": [ + "21J", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "21I", + "23F", + "23D", + "23B", + "22D", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "21993C": [ + "21H" + ], + "21995A": [ + "21H" + ], + "21995C": [ + "21J" + ], + "22000A": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "22001G": [ + "22D", + "23C", + "rec" + ], + "22016C": [ + "22D", + "23C", + "rec" + ], + "22016A": [ + "20D" + ], + "22018T": [ + "21C" + ], + "22022A": [ + "21B" + ], + "22032C": [ + "24A", + "23I", + "24B" + ], + "22033A": [ + "24A", + "22D", + "23C", + "23F", + "rec", + "23I", + "24B" + ], + "22034G": [ + "24A", + "23I", + "24B" + ], + "22101T": [ + "23B" + ], + "22108T": [ + "23E" + ], + "22109G": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "22113T": [ + "23E" + ], + "22115G": [ + "23C" + ], + "22132T": [ + "20J" + ], + "22190G": [ + "22D", + "23C", + "rec" + ], + "22194G": [ + "21K" + ], + "22200A": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "22200G": [ + "21L", + "22B", + "22E", + "22C", + "24A", + "22A", + "22D", + "23C", + "rec", + "23I", + "24B" + ], + "22206G": [ + "20H" + ], + "22208T": [ + "24A", + "23I", + "24B" + ], + "22227T": [ + "21I", + "20E" + ], + "22255T": [ + "20G" + ], + "22295A": [ + "24A", + "23I", + "24B" + ], + "22317T": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23H", + "23G" + ], + "22320G": [ + "23E", + "21F" + ], + "22331A": [ + "22D", + "23C", + "rec" + ], + "22353A": [ + "24A", + "23I", + "24B" + ], + "22356G": [ + "21E" + ], + "22384A": [ + "21H" + ], + "22427A": [ + "21I" + ], + "22480T": [ + "23F", + "23H" + ], + "22525G": [ + "19B" + ], + "22556G": [ + "24A", + "23I", + "24B" + ], + "22577C": [ + "23A", + "24A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "23H", + "rec", + "23I", + "23G", + "24B" + ], + "22578A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "22597T": [ + "21C" + ], + "22599A": [ + "21K", + "21H" + ], + "22599C": [ + "23A", + "22E", + "23F", + "23D", + "23B", + "22D", + "22F", + "22A", + "23C", + "23E", + "23H", + "rec", + "23G", + "24B" + ], + "22600C": [ + "20D" + ], + "22624T": [ + "23G" + ], + "22629C": [ + "24A", + "22D", + "23I", + "24B" + ], + "22664A": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "22673C": [ + "21K" + ], + "22674T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22679C": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22686T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22688G": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22770A": [ + "24A", + "23I", + "24B" + ], + "22775A": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22786C": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22792T": [ + "21L", + "21I" + ], + "22801T": [ + "21J" + ], + "22812C": [ + "20J" + ], + "22813T": [ + "21L", + "22B", + "21K", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "rec", + "23C", + "23E", + "20H", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "22879A": [ + "20A" + ], + "22882G": [ + "21K", + "22B", + "21L", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "22893C": [ + "22E", + "23C" + ], + "22895C": [ + "23A", + "24A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23I", + "rec", + "23G", + "24B" + ], + "22896C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23E", + "23H", + "23G" + ], + "22896A": [ + "24A", + "23I", + "24B" + ], + "22898A": [ + "21K", + "23A", + "24A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "22910G": [ + "24A", + "23I", + "24B" + ], + "22916T": [ + "24A", + "23I", + "24B" + ], + "22917A": [ + "22C", + "21G" + ], + "22917G": [ + "21J", + "22B", + "22E", + "21I", + "24A", + "22A", + "21A", + "21C", + "23C", + "23F", + "23I", + "rec", + "24B", + "21B" + ], + "22926C": [ + "24A", + "24B" + ], + "22927T": [ + "23H", + "23G" + ], + "22928C": [ + "23D", + "23G", + "24B" + ], + "22930A": [ + "23F", + "23H" + ], + "22942A": [ + "22E", + "24A", + "23I", + "24B" + ], + "22942G": [ + "23A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "23H", + "rec", + "23G" + ], + "22992A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "20F", + "24B" + ], + "22995A": [ + "21J", + "21K", + "21L", + "22B", + "22E", + "23A", + "21I", + "22C", + "24A", + "22A", + "23F", + "22D", + "21A", + "23D", + "22F", + "23C", + "rec", + "23H", + "23E", + "23I", + "23G", + "24B" + ], + "22995G": [ + "23B", + "23E" + ], + "23005A": [ + "24A", + "23I", + "24B" + ], + "23012A": [ + "24A", + "20J", + "20H", + "23I", + "21H", + "24B", + "21D", + "21E" + ], + "23012C": [ + "21B" + ], + "23013C": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "22A", + "23F", + "23D", + "22D", + "23B", + "22F", + "23C", + "rec", + "23E", + "23H", + "23G" + ], + "23018C": [ + "23A", + "24A", + "23F", + "23D", + "23B", + "23E", + "rec", + "22F", + "23H", + "23I", + "23G", + "24B" + ], + "23018G": [ + "22B", + "22E", + "22A" + ], + "23019C": [ + "23A", + "24A", + "23F", + "23D", + "23B", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "23031C": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "22D", + "23E", + "23H", + "rec", + "23G", + "21G" + ], + "23039G": [ + "24B" + ], + "23040G": [ + "21K", + "21L", + "22C" + ], + "23042C": [ + "20C" + ], + "23048A": [ + "21K" + ], + "23055G": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "23063T": [ + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "20J", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "20H", + "23H", + "23I", + "21H", + "23G", + "24B", + "21E" + ], + "23075C": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "23093A": [ + "23G" + ], + "23123T": [ + "23E" + ], + "23155C": [ + "21C" + ], + "23202A": [ + "21K" + ], + "23202T": [ + "23B" + ], + "23222A": [ + "24A", + "23I", + "24B" + ], + "23271A": [ + "20I" + ], + "23271T": [ + "24A", + "23I", + "24B" + ], + "23280T": [ + "23G" + ], + "23284C": [ + "21J" + ], + "23341C": [ + "21E" + ], + "23380T": [ + "20J" + ], + "23401A": [ + "20F" + ], + "23403G": [ + "21J", + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "20A", + "21I", + "22C", + "20B", + "24A", + "22A", + "20E", + "23F", + "20G", + "23D", + "20C", + "20J", + "23B", + "22D", + "21A", + "22F", + "21C", + "rec", + "23C", + "23E", + "21F", + "20H", + "23H", + "23I", + "21H", + "23G", + "20D", + "20F", + "24B", + "21G", + "21D", + "21B", + "21M", + "21E" + ], + "23423T": [ + "24A", + "23I", + "24B" + ], + "23525T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "20J", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "23535G": [ + "22A" + ], + "23593C": [ + "21D" + ], + "23593T": [ + "20D" + ], + "23599G": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "23604A": [ + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "22C", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "21H", + "23G", + "21M", + "21E" + ], + "23604G": [ + "21J", + "21I", + "24A", + "21A", + "23I", + "24B", + "21B" + ], + "23664T": [ + "20H" + ], + "23673T": [ + "22C", + "23G" + ], + "23709T": [ + "20I" + ], + "23731T": [ + "20D", + "21G" + ], + "23741T": [ + "23G" + ], + "23756G": [ + "20B" + ], + "23854A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "23929T": [ + "19A" + ], + "23948T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "24130A": [ + "21K" + ], + "24130T": [ + "21J" + ], + "24138A": [ + "21G" + ], + "24187A": [ + "21E" + ], + "24208T": [ + "21J" + ], + "24224C": [ + "21D" + ], + "24257T": [ + "20D" + ], + "24334T": [ + "20E" + ], + "24349C": [ + "21C" + ], + "24378T": [ + "24A", + "23I", + "24B" + ], + "24410A": [ + "21J", + "21I", + "21A", + "21H" + ], + "24424T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "24432G": [ + "21F" + ], + "24469A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "rec", + "23C", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "24503T": [ + "21K" + ], + "24506G": [ + "20I" + ], + "24620T": [ + "22B" + ], + "24642T": [ + "20J" + ], + "24697A": [ + "19B" + ], + "24748T": [ + "21D" + ], + "24775T": [ + "21B" + ], + "24836A": [ + "21E" + ], + "24863G": [ + "21B" + ], + "24863T": [ + "21E" + ], + "24872T": [ + "24B" + ], + "24914C": [ + "20I" + ], + "24928T": [ + "21J" + ], + "24990T": [ + "24A", + "23I", + "24B" + ], + "24991A": [ + "23C" + ], + "25000T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "25045G": [ + "23G" + ], + "25088T": [ + "20J", + "21E" + ], + "25207T": [ + "24A", + "23I", + "24B" + ], + "25339T": [ + "21J" + ], + "25352T": [ + "21I" + ], + "25416T": [ + "23A", + "22C", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "23H", + "rec", + "23G" + ], + "25452G": [ + "21H" + ], + "25469T": [ + "21J", + "21I", + "21A", + "21B" + ], + "25517T": [ + "21F" + ], + "25563T": [ + "20G", + "20C", + "20A", + "21C", + "21F", + "20H", + "21H" + ], + "25572T": [ + "23F", + "23H" + ], + "25584T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "25613T": [ + "19B" + ], + "25614T": [ + "21J" + ], + "25624T": [ + "21L" + ], + "25658T": [ + "23G" + ], + "25708T": [ + "21K", + "21H" + ], + "25710T": [ + "20A" + ], + "25720T": [ + "21G" + ], + "25721T": [ + "23C" + ], + "25785T": [ + "20I" + ], + "25810T": [ + "21L" + ], + "25904T": [ + "20H" + ], + "25907T": [ + "20G" + ], + "25968G": [ + "21F" + ], + "25979T": [ + "19B" + ], + "26060T": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "26078T": [ + "22D" + ], + "26107C": [ + "21J" + ], + "26144T": [ + "19A" + ], + "26149C": [ + "20J" + ], + "26167T": [ + "21H" + ], + "26270T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "26275G": [ + "23A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "23H", + "rec", + "23G" + ], + "26305T": [ + "21D" + ], + "26456T": [ + "20H" + ], + "26459G": [ + "22D" + ], + "26492T": [ + "21H" + ], + "26529A": [ + "22B", + "22E" + ], + "26529C": [ + "24A", + "23I", + "24B" + ], + "26530G": [ + "21K" + ], + "26577G": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "26610G": [ + "24A", + "23I", + "24B" + ], + "26645T": [ + "20H" + ], + "26681T": [ + "24A", + "21C", + "23I", + "24B" + ], + "26709A": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "26735T": [ + "20A", + "23G" + ], + "26767C": [ + "21J", + "21I", + "21A", + "21D" + ], + "26767G": [ + "21B" + ], + "26801G": [ + "20E" + ], + "26833T": [ + "24A", + "23I", + "24B" + ], + "26858T": [ + "21L", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "26876C": [ + "20A" + ], + "26894T": [ + "21G" + ], + "27012T": [ + "22B" + ], + "27038G": [ + "22B" + ], + "27059T": [ + "23G" + ], + "27259C": [ + "21K", + "21L", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "27291C": [ + "21J" + ], + "27299C": [ + "21B" + ], + "27345T": [ + "21I" + ], + "27382C": [ + "21L", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "27383T": [ + "21L", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "27384C": [ + "21L", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "23E", + "rec", + "23H", + "23I", + "23G", + "24B" + ], + "27431T": [ + "23E" + ], + "27438C": [ + "22B" + ], + "27507C": [ + "23F", + "23D", + "23H" + ], + "27513T": [ + "22B" + ], + "27527T": [ + "21J" + ], + "27532T": [ + "22B" + ], + "27576C": [ + "23C" + ], + "27604A": [ + "21J" + ], + "27638C": [ + "21J", + "21I", + "21A", + "21B" + ], + "27739T": [ + "21F" + ], + "27752T": [ + "21J", + "21I", + "21A" + ], + "27788T": [ + "22A" + ], + "27807T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21M" + ], + "27810C": [ + "24A", + "24B" + ], + "27874T": [ + "21J" + ], + "27882T": [ + "20D" + ], + "27889T": [ + "22B", + "22E" + ], + "27890T": [ + "21C" + ], + "27897C": [ + "21E" + ], + "27915T": [ + "23A", + "23F", + "23D", + "23B", + "22F", + "23H", + "23G", + "rec" + ], + "27925A": [ + "21H" + ], + "27925T": [ + "21F" + ], + "27944T": [ + "20E" + ], + "27964T": [ + "20G" + ], + "27972T": [ + "20I" + ], + "28005T": [ + "21H", + "23G" + ], + "28007C": [ + "21J" + ], + "28044T": [ + "20C" + ], + "28048T": [ + "20I" + ], + "28073T": [ + "21J" + ], + "28087T": [ + "21C" + ], + "28093T": [ + "21H" + ], + "28095T": [ + "20I" + ], + "28099T": [ + "21B" + ], + "28111G": [ + "20I" + ], + "28144C": [ + "19B" + ], + "28167A": [ + "20J" + ], + "28170T": [ + "21J" + ], + "28191T": [ + "21C" + ], + "28253T": [ + "20H", + "21G" + ], + "28254C": [ + "20H" + ], + "28271T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21G", + "21M" + ], + "28272T": [ + "21C", + "21H" + ], + "28280C": [ + "20I" + ], + "28280T": [ + "21B" + ], + "28281T": [ + "20I" + ], + "28282A": [ + "20I" + ], + "28297C": [ + "23F", + "23D", + "23B", + "23H", + "22F" + ], + "28299T": [ + "21J" + ], + "28308G": [ + "21D" + ], + "28311T": [ + "21K", + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B", + "21G", + "21M" + ], + "28312T": [ + "22E" + ], + "28326T": [ + "21I" + ], + "28330G": [ + "22B" + ], + "28361T": [ + "22B" + ], + "28371T": [ + "22B" + ], + "28402G": [ + "22B" + ], + "28432T": [ + "21J" + ], + "28447G": [ + "23B" + ], + "28461G": [ + "21J", + "21I", + "21A" + ], + "28472T": [ + "20G" + ], + "28512G": [ + "20J" + ], + "28618A": [ + "21H" + ], + "28628C": [ + "21G" + ], + "28657T": [ + "23G" + ], + "28681T": [ + "22E" + ], + "28699G": [ + "21D" + ], + "28724T": [ + "22A" + ], + "28849T": [ + "21G" + ], + "28854T": [ + "20A" + ], + "28863T": [ + "19B" + ], + "28869T": [ + "20G" + ], + "28877T": [ + "20J" + ], + "28878C": [ + "20J" + ], + "28878A": [ + "19B" + ], + "28879G": [ + "21F" + ], + "28881A": [ + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "22C", + "20B", + "24A", + "22A", + "23F", + "23D", + "20J", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "20D", + "20F", + "24B", + "21G", + "21M", + "21E" + ], + "28881T": [ + "21J", + "21I", + "21A", + "21B" + ], + "28882A": [ + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "22C", + "20B", + "24A", + "22A", + "23F", + "23D", + "20J", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "20D", + "20F", + "24B", + "21G", + "21M", + "21E" + ], + "28883C": [ + "21K", + "21L", + "22B", + "20I", + "22E", + "23A", + "22C", + "20B", + "24A", + "22A", + "23F", + "23D", + "20J", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "20D", + "20F", + "24B", + "21G", + "21M", + "21E" + ], + "28884C": [ + "20I" + ], + "28887T": [ + "21C", + "20H", + "21H", + "21D" + ], + "28908T": [ + "20D" + ], + "28913T": [ + "21G" + ], + "28916T": [ + "21J" + ], + "28932T": [ + "20E" + ], + "28958A": [ + "24A", + "23I", + "24B" + ], + "28975A": [ + "21F" + ], + "28975C": [ + "20A" + ], + "28975T": [ + "21C" + ], + "28977T": [ + "20I" + ], + "29050A": [ + "21J" + ], + "29253T": [ + "21J" + ], + "29301G": [ + "21K" + ], + "29311T": [ + "21G" + ], + "29362T": [ + "21C" + ], + "29366T": [ + "19B" + ], + "29370T": [ + "21G" + ], + "29386T": [ + "23B" + ], + "29399A": [ + "20A" + ], + "29402T": [ + "21J", + "21I", + "21A", + "21B" + ], + "29421T": [ + "19B" + ], + "29445T": [ + "21E" + ], + "29509T": [ + "21J" + ], + "29510C": [ + "21L", + "22B", + "22E", + "23A", + "22C", + "24A", + "22A", + "23F", + "23D", + "23B", + "22D", + "22F", + "23C", + "rec", + "23E", + "23H", + "23I", + "23G", + "24B" + ], + "29543T": [ + "21D" + ], + "29614T": [ + "22B" + ], + "29625T": [ + "23F", + "23H" + ], + "29632T": [ + "21K", + "20D" + ], + "29645T": [ + "20E" + ], + "29666T": [ + "22B" + ], + "29700G": [ + "21J" + ], + "29706T": [ + "23E" + ], + "29719T": [ + "20C" + ], + "29724T": [ + "21E" + ], + "29742T": [ + "21J", + "21I", + "21A", + "21B" + ], + "29742A": [ + "19B" + ], + "29748C": [ + "21H" + ], + "29779T": [ + "21H" + ], + "29834A": [ + "20J" + ], + "29870A": [ + "21C" + ] + } + }, + "attributes": { + "name": "SARS-CoV-2", + "reference name": "Wuhan-Hu-1/2019", + "reference accession": "MN908947" + }, + "shortcuts": [ + "sars-cov-2", + "nextstrain/sars-cov-2", + "nextstrain/sars-cov-2/wuhan-hu-1" + ] +} diff --git a/src/backend/aspen/workflows/nextclade/tests/data/tag.json b/src/backend/aspen/workflows/nextclade/tests/data/tag.json deleted file mode 100644 index 1f4e046dd5..0000000000 --- a/src/backend/aspen/workflows/nextclade/tests/data/tag.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "comment": "", - "compatibility": { - "nextcladeCli": { - "max": null, - "min": "1.10.0" - }, - "nextcladeWeb": { - "max": null, - "min": "1.13.0" - } - }, - "defaultGene": "S", - "defaultRef": "MN908947", - "enabled": true, - "files": { - "geneMap": "genemap.gff", - "primers": "primers.csv", - "qc": "qc.json", - "reference": "reference.fasta", - "sequences": "sequences.fasta", - "tree": "tree.json", - "virusPropertiesJson": "virus_properties.json" - }, - "geneOrderPreference": [ - "S", - "ORF1a", - "ORF1b", - "ORF3a", - "ORF6", - "ORF7a", - "ORF7b", - "ORF8", - "ORF9b", - "E", - "M", - "N" - ], - "metadata": {}, - "name": "sars-cov-2", - "nameFriendly": "SARS-CoV-2", - "reference": { - "accession": "MN908947", - "source": "genbank", - "strainName": "Wuhan-Hu-1/2019" - }, - "tag": "2022-11-15T12:00:00Z" -} diff --git a/src/backend/aspen/workflows/nextclade/tests/test_nextclade_save.py b/src/backend/aspen/workflows/nextclade/tests/test_nextclade_save.py index 29caa199fb..39e1a10a82 100644 --- a/src/backend/aspen/workflows/nextclade/tests/test_nextclade_save.py +++ b/src/backend/aspen/workflows/nextclade/tests/test_nextclade_save.py @@ -63,7 +63,6 @@ def mock_remote_db_uri(mocker, test_postgres_db_uri): def test_nextclade_save_new_entries(mocker, session, postgres_database): - group, samples, pathogen_genomes = create_test_data(session) mock_remote_db_uri(mocker, postgres_database.as_uri()) @@ -71,7 +70,7 @@ def test_nextclade_save_new_entries(mocker, session, postgres_database): nextclade_fasta: PosixPath = Path( Path(__file__).parent, "data", "nextclade.aligned.fasta" ) - tag_json: PosixPath = Path(Path(__file__).parent, "data", "tag.json") + tag_json: PosixPath = Path(Path(__file__).parent, "data", "pathogen.json") runner: CliRunner = CliRunner() result: Result = runner.invoke( @@ -121,16 +120,15 @@ def test_nextclade_save_new_entries(mocker, session, postgres_database): assert qc_metrics.qc_software_version == "v1.1" assert lineage.lineage == "21J (Delta)" # matched against value from test tag.json in test data directory - assert qc_metrics.reference_dataset_name == "sars-cov-2" + assert qc_metrics.reference_dataset_name == "SARS-CoV-2" assert qc_metrics.reference_sequence_accession == "MN908947" - assert qc_metrics.reference_dataset_tag == "2022-11-15T12:00:00Z" + assert qc_metrics.reference_dataset_tag == "2024-07-17--12-57-03Z" # matched against tag.json and nextclade.aligned.fasta in test data dir assert aligned_pathogen_genome.reference_name == "MN908947" assert aligned_pathogen_genome.sequence == "A" * 1001 def test_nextclade_save_overwrite(mocker, session, postgres_database): - group, samples, pathogen_genomes = create_test_data(session) mock_remote_db_uri(mocker, postgres_database.as_uri()) @@ -176,7 +174,7 @@ def test_nextclade_save_overwrite(mocker, session, postgres_database): nextclade_fasta: PosixPath = Path( Path(__file__).parent, "data", "nextclade.aligned.fasta" ) - tag_json: PosixPath = Path(Path(__file__).parent, "data", "tag.json") + tag_json: PosixPath = Path(Path(__file__).parent, "data", "pathogen.json") runner: CliRunner = CliRunner() result: Result = runner.invoke( @@ -222,9 +220,9 @@ def test_nextclade_save_overwrite(mocker, session, postgres_database): assert qc_metrics.qc_software_version == "v1.1" assert lineage.lineage == "21J (Delta)" # matched against value from test tag.json in test data directory - assert qc_metrics.reference_dataset_name == "sars-cov-2" + assert qc_metrics.reference_dataset_name == "SARS-CoV-2" assert qc_metrics.reference_sequence_accession == "MN908947" - assert qc_metrics.reference_dataset_tag == "2022-11-15T12:00:00Z" + assert qc_metrics.reference_dataset_tag == "2024-07-17--12-57-03Z" # matched against tag.json and nextclade.aligned.fasta in test data dir assert aligned_pathogen_genome.reference_name == "MN908947" assert aligned_pathogen_genome.sequence == "A" * 1001 From d6912a5fb0a68a76e9111044666972bf2b9a4afd Mon Sep 17 00:00:00 2001 From: Jessica Gadling Date: Fri, 16 Aug 2024 18:28:15 -0400 Subject: [PATCH 3/5] Fix git error. --- .../aspen/workflows/nextstrain_run/run_nextstrain_mpx.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/aspen/workflows/nextstrain_run/run_nextstrain_mpx.sh b/src/backend/aspen/workflows/nextstrain_run/run_nextstrain_mpx.sh index 155da06e2c..073228f266 100755 --- a/src/backend/aspen/workflows/nextstrain_run/run_nextstrain_mpx.sh +++ b/src/backend/aspen/workflows/nextstrain_run/run_nextstrain_mpx.sh @@ -42,6 +42,8 @@ s3_prefix="s3://${aspen_s3_db_bucket}/${key_prefix}" # We use a file to pass from `export.py` to `save.py` before writing them to DB RESOLVED_TEMPLATE_ARGS_SAVEFILE=/tmp/resolved_template_args.json +# We have mixed ownership of this checkout on purpose +git config --global --ad safe.directory /mpox mpox_git_rev=$(cd /mpox && git rev-parse HEAD) # dump the sequences, metadata, and builds.yaml for a run out to disk. From 66a354cb819179004a0903b5ea09f1c22b9a735e Mon Sep 17 00:00:00 2001 From: Jessica Gadling Date: Fri, 16 Aug 2024 18:47:07 -0400 Subject: [PATCH 4/5] update the db instead of the code. --- .../aspen/workflows/nextclade/prep_samples.py | 7 ---- ...6_223757_update_nextclade_dataset_names.py | 33 +++++++++++++++++++ 2 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py diff --git a/src/backend/aspen/workflows/nextclade/prep_samples.py b/src/backend/aspen/workflows/nextclade/prep_samples.py index f6292e27f5..14d4565ca9 100644 --- a/src/backend/aspen/workflows/nextclade/prep_samples.py +++ b/src/backend/aspen/workflows/nextclade/prep_samples.py @@ -128,13 +128,6 @@ def cli( # generalized case and we'll need to figure out how to handle that, # but right now the workflow is hardcoded to always expecting dataset. nextclade_dataset_name = target_pathogen.nextclade_dataset_name - # Nextclade 3.2.8 has new names for datasets vs the 2.1 names in the db. - new_nextclade_dataset_names = { - "SARS-CoV": "nextstrain/sars-cov-2/wuhan-hu-1/orfs", - "hMPXV": "nextstrain/mpox/all-clades", - } - if nextclade_dataset_name in new_nextclade_dataset_names: - nextclade_dataset_name = new_nextclade_dataset_names[nextclade_dataset_name] if not nextclade_dataset_name: print("No nextclade_dataset_name for this pathogen in the DB.") if run_type == RunType.REFRESH_STALE: diff --git a/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py b/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py new file mode 100644 index 0000000000..67fc23383d --- /dev/null +++ b/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py @@ -0,0 +1,33 @@ +"""Update nextclade dataset names + +Create Date: 2024-08-16 22:38:01.098160 + +""" +import enumtables # noqa: F401 +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision = "20240816_223757" +down_revision = "20230321_232555" +branch_labels = None +depends_on = None + + +def upgrade(): + op.execute( + """UPDATE aspen.pathogens + SET nextclade_dataset_name = 'nextstrain/sars-cov-2/wuhan-hu-1/orfs' + WHERE slug = 'SC2' + """ + ) + op.execute( + """UPDATE aspen.pathogens + SET nextclade_dataset_name = 'nextstrain/mpox/all-clades' + WHERE slug = 'MPX' + """ + ) + + +def downgrade(): + raise NotImplementedError("Downgrading the DB is not allowed") From db1a67ca3cac4100e51c617a14a77b991381143f Mon Sep 17 00:00:00 2001 From: Jessica Gadling Date: Fri, 16 Aug 2024 18:57:30 -0400 Subject: [PATCH 5/5] Fix lint. --- .../versions/20240816_223757_update_nextclade_dataset_names.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py b/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py index 67fc23383d..8f0ec3c3d2 100644 --- a/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py +++ b/src/backend/database_migrations/versions/20240816_223757_update_nextclade_dataset_names.py @@ -3,8 +3,7 @@ Create Date: 2024-08-16 22:38:01.098160 """ -import enumtables # noqa: F401 -import sqlalchemy as sa + from alembic import op # revision identifiers, used by Alembic.