From b556525b0f82464d5fcbd8516754764b8fbcb4b8 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 4 May 2023 15:39:49 +0200 Subject: [PATCH 01/18] Make the import from DL snippet more flexible Adds the possibility to handle collection building as part of the import and to provide specific instructions about which history to import the data to. --- .../datasets_import_from_data_library.md | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/faqs/galaxy/datasets_import_from_data_library.md b/faqs/galaxy/datasets_import_from_data_library.md index 16652c5f289b6..5371af18c5263 100644 --- a/faqs/galaxy/datasets_import_from_data_library.md +++ b/faqs/galaxy/datasets_import_from_data_library.md @@ -9,11 +9,17 @@ contributors: [bebatut,shiltemann,nsoranzo,hexylena,wm75] As an alternative to uploading the data from a URL or your computer, the files may also have been made available from a *shared data library*: -* Go into **Shared data** (top panel) then **Data libraries** -* Navigate to -{% if include.path %} - *{{ include.path }}* or {% endif %} the correct folder as indicated by your instructor -* Select the desired files -* Click on the **To History** button near the top and select **{{ include.astype | default: "as Datasets" }}** from the dropdown menu -* In the pop-up window, select the history you want to import the files to (or create a new one) -* Click on **Import** +1. Go into **Shared data** (top panel) then **Data libraries** +2. Navigate to{% if include.path %}: *{{ include.path }}* or {% endif %} the correct folder as indicated by your instructor +3. Select the desired files +4. Click on **Add to History** {% icon galaxy-dropdown %} near the top and select **{{ include.astype | default: "as Datasets" }}** from the dropdown menu +5. In the pop-up window, choose + {% if include.collection_type %} + * *"Collection type"*: **{{ include.collection_type }}** + {% endif %} + * *"Select history"*: {% if include.tohistory %}{{ include.tohistory }}{% else %}the history you want to import the data to (or create a new one){% endif %} +6. Click on {% if include.collection_type %}**Continue**{% else %}**Import**{% endif %} +{% if include.collection_type %} +7. In the next dialog, give a suitable **Name**{% if include.collection_name %}, like `{{ include.collection_name }}`,{% endif %} to the new collection +8. Click on **Create collection** +{% endif %} From 5a0f32548dae815013406cf60675621c8ababf97 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 4 May 2023 15:46:10 +0200 Subject: [PATCH 02/18] Update nextstrain clades image --- .../ncov_clades.png | Bin 44880 -> 0 bytes .../ncov_clades.svg | 97 ++++++++++++++++++ 2 files changed, 97 insertions(+) delete mode 100644 topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.png create mode 100644 topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.svg diff --git a/topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.png b/topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.png deleted file mode 100644 index 35e702c2d09be44be36c722de61378b97a5ce23f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44880 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%0Do&j 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 diff --git a/topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.svg b/topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.svg new file mode 100644 index 0000000000000..323d31cdd55ec --- /dev/null +++ b/topics/variant-analysis/images/sars-cov-2-variant-discovery/ncov_clades.svg @@ -0,0 +1,97 @@ +19A (B)20A (B.1)19B (A)20B (B.1.1)21A (Delta, B.1.617.2)20C21H (Mu, B.1.621)21D (Eta, B.1.525)21B (Kappa, B.1.617.1)20E (EU1, B.1.177)21M (Omicron, B.1.1.529)21E (Theta, P.3)20J (Gamma, P.1)20I (Alpha, B.1.1.7)20F (D.2)20D (B.1.1.1)21I (Delta)21J (Delta)21F (Iota, B.1.526)21C (Epsilon, B.1.427/429)20H (Beta, B.1.351)20G (B.1.2)21K (Omicron, BA.1)21L (Omicron, ~BA.2)21G (Lambda, C.37)22F (Omicron, XBB)22D (Omicron, BA.2.75)22C (Omicron, BA.2.12.1)22B (Omicron, BA.5)22A (Omicron, BA.4)23A (Omicron, XBB.1.5)23B (Omicron, XBB.1.16)22E (Omicron, BQ.1) \ No newline at end of file From 78f5183c4042fe7242d9d04e20edd313003dfeb7 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 4 May 2023 16:15:55 +0200 Subject: [PATCH 03/18] Update data-library --- .../data-library.yaml | 169 ++++++++---------- 1 file changed, 78 insertions(+), 91 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/data-library.yaml b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/data-library.yaml index 1c86dbed577eb..d56ce12113ff7 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/data-library.yaml +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/data-library.yaml @@ -10,166 +10,153 @@ items: items: - name: Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data items: - - name: 'DOI: 10.5281/zenodo.5036687' + - name: 'DOI: 10.5281/zenodo.4555734' description: latest items: - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ARTIC_amplicon_info_v3.tabular + - url: https://zenodo.org/api/files/ce9faef4-1387-4bea-ac9f-67558c85e9e1/NC_045512.2_reference.fasta + src: url + ext: fasta + info: https://zenodo.org/record/5888324 + - url: https://zenodo.org/api/files/ce9faef4-1387-4bea-ac9f-67558c85e9e1/NC_045512.2_feature_mapping.tsv src: url ext: tabular info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ARTIC_nCoV-2019_v3.bed6 + - url: https://zenodo.org/api/files/ce9faef4-1387-4bea-ac9f-67558c85e9e1/ARTIC_nCoV-2019_v4.bed src: url ext: bed6 - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931005_1.fastqsanger.gz + info: https://zenodo.org/record/5888324 + - url: https://zenodo.org/api/files/ce9faef4-1387-4bea-ac9f-67558c85e9e1/ARTIC_amplicon_info_v4.tsv src: url - ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931005_2.fastqsanger.gz + ext: tabular + info: https://zenodo.org/record/5888324 + - name: 'Bioproject: PRJNA784038 - SARS-CoV-2 Omicron Sequencing in South Africa' + description: latest + items: + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931006_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931006_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/003/SRR17054503/SRR17054503_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931007_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/003/SRR17054503/SRR17054503_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931007_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/004/SRR17054504/SRR17054504_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931008_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/004/SRR17054504/SRR17054504_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5931008_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/005/SRR17054505/SRR17054505_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949456_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/005/SRR17054505/SRR17054505_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949456_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/006/SRR17054506/SRR17054506_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949457_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/006/SRR17054506/SRR17054506_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949457_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/007/SRR17054507/SRR17054507_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949458_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/007/SRR17054507/SRR17054507_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949458_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/008/SRR17054508/SRR17054508_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949459_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/008/SRR17054508/SRR17054508_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949459_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/009/SRR17054509/SRR17054509_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949460_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/009/SRR17054509/SRR17054509_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949460_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/010/SRR17054510/SRR17054510_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949461_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/010/SRR17054510/SRR17054510_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949461_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/033/SRR17051933/SRR17051933_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949462_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/033/SRR17051933/SRR17051933_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949462_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/034/SRR17051934/SRR17051934_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949463_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/034/SRR17051934/SRR17051934_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949463_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/035/SRR17051935/SRR17051935_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949464_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/035/SRR17051935/SRR17051935_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949464_2.fastqsanger.gz - src: url - ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949465_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/036/SRR17051936/SRR17051936_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949465_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/036/SRR17051936/SRR17051936_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949466_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/037/SRR17051937/SRR17051937_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949466_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/037/SRR17051937/SRR17051937_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949467_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/038/SRR17051938/SRR17051938_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949467_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/038/SRR17051938/SRR17051938_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949468_1.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/039/SRR17051939/SRR17051939_1.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949468_2.fastqsanger.gz + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 + - url: ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/039/SRR17051939/SRR17051939_2.fastq.gz src: url ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949469_1.fastqsanger.gz - src: url - ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/ERR5949469_2.fastqsanger.gz - src: url - ext: fastqsanger.gz - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/NC_045512.2_feature_mapping.tabular - src: url - ext: tabular - info: https://zenodo.org/record/5036687 - - url: https://zenodo.org/api/files/e3380e5c-6916-4490-b9df-59b88a2223c9/NC_045512.2_reference_sequence.fasta - src: url - ext: fasta - info: https://zenodo.org/record/5036687 + info: https://www.ebi.ac.uk/ena/browser/view/PRJNA784038 From becfe6bd11660f8be9bb11a58f8011e0fbf8f137 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 4 May 2023 18:20:34 +0200 Subject: [PATCH 04/18] Update workflow TRS search snippet to reflect latest interface --- faqs/galaxy/workflows_import_search.md | 32 +++++++++----------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/faqs/galaxy/workflows_import_search.md b/faqs/galaxy/workflows_import_search.md index 10e737e1dcab0..d1db6af174665 100644 --- a/faqs/galaxy/workflows_import_search.md +++ b/faqs/galaxy/workflows_import_search.md @@ -3,27 +3,17 @@ title: Importing a workflow using the search area: workflows box_type: tip layout: faq -contributors: [bebatut] +contributors: [bebatut,wm75] --- -- Click on *Workflow* on the top menu bar of Galaxy. You will see a list of all your workflows. -- Click on the {% icon galaxy-upload %} **Import** icon at the top-right of the screen -- Click on **search form** in **Import a Workflow from Configured GA4GH Tool Registry Servers (e.g. Dockstore)** -{% if include.trs_server %} -- Select *"TRS Server"*: `{{ include.trs_server }}` -{% else %} -- Select the relevant TRS Server -{% endif %} -{% if include.search_query %} -- Type `{{ include.search_query }}` in the search query -{% else %} -- Type the query -{% endif %} -{% if include.workflow_name %} -- Expand the workflow named `{{ include.workflow_name }}` -{% else %} -- Expand the correct workflow -{% endif %} -- Click on the wanted version +1. Click on *Workflow* in the top menu bar of Galaxy. You will see a list of all your workflows. +2. Click on the {% icon galaxy-upload %} **Import** icon at the top-right of the screen +3. On the new page, select the **GA4GH servers** tab, and configure the **GA4GH Tool Registry Server (TRS) Workflow Search** interface as follows: + 1. *"TRS Server"*: {% if include.trs_server %}**{{ include.trs_server }}**{% else %}the TRS Server you want to search on (Dockstore or Workflowhub){% endif %} + 2. {% if include.search_query %}*"search query"*: `{{ include.search_query }}` + {% else %}Type in the *search query*{% endif %} + 3. {% if include.workflow_name %}Expand the workflow named `{{ include.workflow_name }}` + {% else %}Expand the correct workflow{% endif %} by clicking on it + 4. Select the version you would like to {% icon galaxy-upload %} import - The workflow will be imported in your workflows +The workflow will be imported to your list of workflows. Note that it will also carry a little green check mark next to its name, which indicates that this is an original workflow version imported from a TRS server. If you ever modify the workflow with Galaxy's workflow editor, it will lose this indicator. From 432ac3f3b09471922b63a990de8319bcf4303c8d Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 4 May 2023 18:23:48 +0200 Subject: [PATCH 05/18] Add first batch of updates to SARS-CoV-2 variant discovery tutorial - Uses a more recent and interesting batch of example data - Retrieves sequence data directly from the ENA instead of from a redundant Zenodo record - Simplifies the Get data section and the workflow import description - Updates the nextclade lineage designations figure Additional commits will have to adjust, among other things, the questions asked at different steps to reflect the results obtained with the new inputs. --- .../sars-cov-2-variant-discovery/tutorial.md | 437 +++++++++--------- 1 file changed, 213 insertions(+), 224 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 03ab768f158e7..2cbaf5cdf0d0b 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -64,6 +64,21 @@ This tutorial will teach you how to obtain, run and combine these workflows appr # Prepare Galaxy and data +The suggested input for this tutorial is a special batch of data that is of particular interest as it represents a turning point in the COVID-19 pandemic. +It is a subset (16 samples) of the first sequencing data reported from South Africa at the end of November 2021 for the then novel, fast-spreading SARS-CoV-2 variant that would later be named Omicron. +This data has been Illumina paired-end sequenced after amplification with the ARTIC v4 set of tiled-amplicon primers. + +Alternatively, you can also follow this tutorial using your own SARS-CoV-2 sequencing data (you need at least two samples) as long as it is of one of the following types: + +- Single-end data derived from Illumina-based whole-genome RNAseq experiments +- Paired-end data derived from Illumina-based whole-genome RNAseq experiments +- Paired-end data generated with Illumina-based tiled-amplicon (e.g. ARTIC) protocols +- ONT FASTQ files generated with Oxford nanopore (ONT)-based tiled-amplicon (e.g. ARTIC) protocols + +If you are using your own *tiled-amplicon* data, you are also expected to know the primer scheme used at the amplification step. + +## Prepare a new Galaxy history + Any analysis should get its own Galaxy history. So let's start by creating a new one: > Prepare the Galaxy history @@ -80,137 +95,84 @@ Any analysis should get its own Galaxy history. So let's start by creating a new ## Get sequencing data -Before we can begin any Galaxy analysis, we need to upload the input data: FASTQ files with the sequenced viral RNA from different patients infected with SARS-CoV-2. Several types of data are possible: - -- Single-end data derived from Illumina-based RNAseq experiments -- Paired-end data derived from Illumina-based RNAseq experiments -- Paired-end data generated with Illumina-based Ampliconic (ARTIC) protocols -- ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconic (ARTIC) protocols - -We encourage you to use your own data here (with at least 2 samples). If you do not have any datasets available, we provide some example datasets (paired-end data generated with Illumina-based Ampliconic (ARTIC) protocols) from [COG-UK](https://www.cogconsortium.uk/), the COVID-19 Genomics UK Consortium. - -There are several possibilities to upload the data depending on how many datasets you have and what their origin is: +If you are going to use your own sequencing data, there are several possibilities to upload the data depending on how many datasets you have and what their origin is: -- Import datasets +- You can import data - from your local file system, - from a given URL or - from a shared data library on the Galaxy server you are working on - and organize the imported data as a dataset collection. + In all of these cases you will also have to organize the imported data into a dataset collection. - > Collections +- Alternatively, if your data is available from the [NCBI's Sequence Read Archive (SRA)](https://www.ncbi.nlm.nih.gov/sra), you can import it with the help of a dedicated tool, which will organize the data into collections for you. + + > Getting data from SRA > - > A dataset collection is a way to represent an arbitrarily large collection of samples as a singular entity within a user's workspace. For an in-depth introduction to the concept you can follow this [dedicated tutorial]({% link topics/galaxy-interface/tutorials/collections/tutorial.md %}). + > The simpler [SARS-CoV-2 sequencing data analysis tutorial]({% link topics/variant-analysis/tutorials/sars-cov-2/tutorial.md %}) uses and explains this alternative way of importing. > {: .comment} -- Import from [NCBI's Sequence Read Archive (SRA) at NCBI](https://www.ncbi.nlm.nih.gov/sra) with the help of a dedicated tool, which will organize the data into collections for you. - - > Getting data from SRA - > - > [A dedicated tutorial is available to explain how to find and import SARS-CoV-2 data from SRA]({% link topics/variant-analysis/tutorials/sars-cov-2/tutorial.md %}). - > - {: .comment} - -> Import datasets -> -> 1. Import the datasets -> -> - Option 1 [{% icon video %}](https://youtu.be/FFCDx1rMGAQ): Your own local data using **Upload Data** (recommended for 1-10 datasets). -> -> {% snippet faqs/galaxy/datasets_upload.md %} -> -> - Option 2 [{% icon video %}](https://youtu.be/hC8KSuT_OP8): Your own local data using **FTP** (recommended for >10 datasets) -> -> {% snippet faqs/galaxy/datasets_upload_ftp.md %} -> -> - Option 3: From the shared data library -> -> {% snippet faqs/galaxy/datasets_import_from_data_library.md path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" %} -> -> - Option 4: From an external server via URL -> -> {% snippet faqs/galaxy/datasets_import_via_link.md %} -> -> For our example datasets, the datasets are stored on [Zenodo]({{ page.zenodo_link }}) and can be retrieved using the following URLs: -> -> ``` -> {{ page.zenodo_link }}/files/ERR5931005_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931005_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931006_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931006_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931007_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931007_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931008_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5931008_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949456_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949456_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949457_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949457_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949458_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949458_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949459_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949459_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949460_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949460_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949461_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949461_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949462_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949462_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949463_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949463_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949464_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949464_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949465_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949465_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949466_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949466_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949467_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949467_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949468_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949468_2.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949469_1.fastqsanger.gz -> {{ page.zenodo_link }}/files/ERR5949469_2.fastqsanger.gz -> ``` -> -> 2. Create a collection to organize the data -> -> - Option 1 [{% icon video %}](https://youtu.be/6ZU9hFjnRDo): Single-end data (Illumina or ONT data) -> -> {% snippet faqs/galaxy/collections_build_list.md %} -> -> - Option 2 [{% icon video %}](https://youtu.be/6toVj35q1r0): Paired-end data (Illumina data) -> -> {% snippet faqs/galaxy/collections_build_list_paired.md %} -> -> For the example datasets: -> - Since the datasets carry `_1` and `_2` in their names, Galaxy may already have detected a possible pairing scheme for the data, in which case the datasets will appear in green in the lower half (the paired section) of the dialog. -> -> You could accept this default pairing, but as shown in the middle column of the paired section, this would include the `.fastqsanger` suffix in the pair names (even with `Remove file extensions?` checked Galaxy would only remove the last suffix, `.gz`, from the dataset names. -> -> It is better to undo the default pairing and specify exactly what we want: -> - at the top of the *paired section*: click `Unpair all` -> -> This will move all input datasets into the *unpaired section* in the upper half of the dialog. -> - set the text of *unpaired forward* to: `_1.fastqsanger.gz` -> - set the text of *unpaired reverse* to: `_2.fastqsanger.gz` -> - click: `Auto-pair` -> -> All datasets should be moved to the *paired section* again, but the middle column should now show that only the sample accession numbers will be used as the pair names. -> -> - Make sure *Hide original elements* is checked to obtain a cleaned-up history after building the collection. -> - Click *Create Collection* +For the suggested batch of early Omicron data we suggest downloading it via URLs from the +[European Nucleotide Archive (ENA)](https://www.ebi.ac.uk/ena/browser/home). In case your Galaxy server offers that same data through a shared data library, this represents a faster (data is already on the server) alternative, so you'll find instructions for this scenario as well below. + +> Import the sequencing data +> +> - Option 1: Import from the ENA +> +> ``` +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/003/SRR17054503/SRR17054503_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/003/SRR17054503/SRR17054503_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/004/SRR17054504/SRR17054504_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/004/SRR17054504/SRR17054504_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/005/SRR17054505/SRR17054505_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/005/SRR17054505/SRR17054505_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/006/SRR17054506/SRR17054506_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/006/SRR17054506/SRR17054506_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/007/SRR17054507/SRR17054507_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/007/SRR17054507/SRR17054507_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/008/SRR17054508/SRR17054508_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/008/SRR17054508/SRR17054508_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/009/SRR17054509/SRR17054509_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/009/SRR17054509/SRR17054509_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/010/SRR17054510/SRR17054510_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/010/SRR17054510/SRR17054510_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/033/SRR17051933/SRR17051933_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/033/SRR17051933/SRR17051933_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/034/SRR17051934/SRR17051934_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/034/SRR17051934/SRR17051934_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/035/SRR17051935/SRR17051935_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/035/SRR17051935/SRR17051935_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/036/SRR17051936/SRR17051936_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/036/SRR17051936/SRR17051936_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/037/SRR17051937/SRR17051937_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/037/SRR17051937/SRR17051937_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/038/SRR17051938/SRR17051938_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/038/SRR17051938/SRR17051938_2.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/039/SRR17051939/SRR17051939_1.fastq.gz +> ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/039/SRR17051939/SRR17051939_2.fastq.gz +> ``` +> +> 1. Copy the links above +> 2. Open the {% tool [Upload](upload1) %} Manager +> 3. In the top row of tabs select **Collection** +> 4. Configure the drop-down select boxes on that tab like this: +> - *"Collection Type"*: `Pair` +> - *"File Type"*: `fastqsanger.gz` +> 5. Click on **Paste/Fetch data** and paste the links you copied into the empty text box +> 6. Press **Start** +> 7. Wait for the **Build** button to become enabled, click it, and, in the next dialogue, give a suitable **Name**, like `Sequencing data`, to the new collection. +> 8. Click on **Create collection** +> +> - Option 2: Import from a shared data library +> +> {% snippet faqs/galaxy/datasets_import_from_data_library.md astype="as a Collection" collection_type="List of Pairs" collection_name="Sequencing data" tohistory="the history you created for this tutorial" path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" %} > {: .hands_on} -> Learning to build collections automatically -> -> It is possible to build collections from tabular data containing URLs, sample sheets, list of accessions or identifiers, etc., directly during upload of the data. [A dedicated tutorial is available to explain the different possibilities]({% link topics/galaxy-interface/tutorials/upload-rules/tutorial.md %}). -> -{: .comment} - -## Import auxiliary datasets +## Import reference sequence and auxiliary datasets Besides the sequenced reads data, we need at least two additional datasets for calling variants and annotating them: @@ -218,92 +180,133 @@ Besides the sequenced reads data, we need at least two additional datasets for c - a tabular dataset defining aliases for viral gene product names, which will let us translate NCBI RefSeq Protein identifiers (used by the SnpEff annotation tool) to the commonly used names of coronavirus proteins and cleavage products. +> Get reference sequence and feature mappings +> +> 1. Get the SARS-CoV-2 reference sequence +> +> A convenient public download link for this sequence is best obtained from the ENA again, where the sequence is known under its [INSDC](https://www.insdc.org/) alias [MN908947.3](https://www.ebi.ac.uk/ena/browser/view/MN908947.3): +> ``` +> https://www.ebi.ac.uk/ena/browser/api/fasta/MN908947.3?download=true +> ``` +> +> 1. {% tool [Upload](upload1) %} the reference to your history via the link above and make sure the dataset format is set to `fasta`. +> +> {% snippet faqs/galaxy/datasets_import_via_link.md format="fasta" %} +> 2. {% tool [Replace Text in entire line](toolshed.g2.bx.psu.edu/repos/bgruening/text_processing/tp_replace_in_line/1.1.2) in entire line %} to simplify the reference sequence name +> - {% icon param-file %} *"File to process"*: the uploaded reference sequence from the ENA +> - In {% icon param-repeat %} *"1. Replacement"*: +> - *"Find pattern"*: `^>.+` +> - *"Replace with"*: `>NC_045512.2` +> +> While the identifiers `MN908947.3` and `NC_045512.2` really refer to the same sequence, one of the tools we are going to use during the analysis (SnpEff) requires the NCBI RefSeq identifier. +> 3. When the Replace Text tool run is finished, **rename** the output dataset to make it clear that this is the SARS-CoV-2 reference dataset to use in the analysis. +> +> {% snippet faqs/galaxy/datasets_rename.md name="SARS-CoV-2 reference" format="fasta" %} +> 2. {% tool [Upload](upload1) %} the mapping for translation product identifiers in tabular format +> +> This mapping really consists of just a few lines of text. Each line lists the NCBI Protein Refseq identifier of a SARS-CoV-2 translation product (which the tool SnpEff knows about and will use for annotating mutation effects), followed by a more commonly used name for that product (which we would like to see in final mutation reports). The last line specifies a "mapping" for the **.** annotation, which SnpEff uses for mutations that do not affect any viral open-reading frame. We do not have a better name for it so we specify that we want to retain this annotation unaltered in reports. +> +> ``` +> YP_009725297.1 leader +> YP_009725298.1 nsp2 +> YP_009725299.1 nsp3 +> YP_009725300.1 nsp4 +> YP_009725301.1 3Cpro +> YP_009725302.1 nsp6 +> YP_009725303.1 nsp7 +> YP_009725304.1 nsp8 +> YP_009725305.1 nsp9 +> YP_009725306.1 nsp10 +> YP_009725307.1 RdRp +> YP_009725308.1 helicase +> YP_009725309.1 ExoN +> YP_009725310.1 endoR +> YP_009725311.1 MethTr +> YP_009725312.1 nsp11 +> GU280_gp02 S +> GU280_gp03 orf3a +> GU280_gp04 E +> GU280_gp05 M +> GU280_gp06 orf6 +> GU280_gp07 orf7a +> GU280_gp08 orf7b +> GU280_gp09 orf8 +> GU280_gp10 N +> GU280_gp11 orf10 +> . . +> ``` +> +> Two remarks on this content: +> - Since the feature mapping dataset is expected to be in tabular format, but the above display uses spaces to separate columns, please make sure, you have **Convert spaces to tabs** checked when creating the dataset from the copied content! +> - If you prefer other names for certain translation products than the ones defined above (*e.g.* you might be used to call the first peptide *nsp1* instead of *leader*), you are, of course, free to change those names in the pasted content before uploading it to Galaxy. What needs to be kept is only the Refseq identifiers in the first column as these are fixed by the SnpEff tool. +> +> {% snippet faqs/galaxy/datasets_create_new_file.md name="SARS-CoV-2 feature mapping" format="tabular" convertspaces="true" %} +> +{: .hands_on} + Another two datasets are needed only for the analysis of ampliconic, e.g. ARTIC-amplified, input data: - a BED file specifying the primers used during amplification and their binding sites on the viral genome - a custom tabular file describing the amplicon grouping of the primers - -> Import auxiliary datasets -> -> 1. Import the auxiliary datasets: -> - the SARS-CoV-2 reference (`NC_045512.2_reference.fasta`) -> - gene product name aliases (`NC_045512.2_feature_mapping.tsv`) -> - ARTIC v3 primer scheme (`ARTIC_nCoV-2019_v3.bed`) -> - ARTIC v3 primer amplicon grouping info (`ARTIC_amplicon_info_v3.tsv`) -> -> > Not using ARTIC v3 amplified sequencing data? -> > -> > The instructions here assume you will be analyzing the example samples -> > suggested above, which have been amplified using version 3 of the ARTIC -> > network's SARS-CoV-2 primer set. If you have decided to work through -> > this tutorial using your own samples of interest, and if those samples -> > have been amplified with a different primer set, you will have to upload -> > your own datasets with primer and amplicon information at this point. -> > If the primer set is from the ARTIC network, just not version 3, you -> > should be able to obtain the primer BED file from -> > [their SARS-CoV-2 github repo](https://github.com/artic-network/artic-ncov2019/tree/master/primer_schemes/nCoV-2019). -> > Look for a 6-column BED file structured like the version 3 one we suggest below. -> > For the tabular amplicon info file, you only need to combine all primer names from -> > the BED file that contribute to the same amplicon on a single tab-separated line. -> > The result should look similar to the ARTIC v3 amplicon grouping info file we -> >suggest to upload. -> {: .details} -> -> Several options exist to import these datasets: -> -> - Option 1: From the shared data library -> -> {% snippet faqs/galaxy/datasets_import_from_data_library.md path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" %} -> -> - Option 2: From [Zenodo](https://zenodo.org/record/4555735) +> Using your own tiled-amplicon data? Provide the correct primer scheme and amplicon info. > -> ``` -> https://zenodo.org/record/4555735/files/NC_045512.2_reference.fasta -> https://zenodo.org/record/4555735/files/NC_045512.2_feature_mapping.tsv -> https://zenodo.org/record/4555735/files/ARTIC_nCoV-2019_v3.bed -> https://zenodo.org/record/4555735/files/ARTIC_amplicon_info_v3.tsv -> ``` +> The instructions below assume that you are going to analyze viral samples amplified using **version 4 of the ARTIC network's SARS-CoV-2 set of primers**, which is the case for the suggested Omicron batch of data. > -> {% snippet faqs/galaxy/datasets_import_via_link.md %} +> If you have decided to analyze your own tiled-amplicon sequencing data in this tutorial, and if your samples have been amplified with a **different** set of primers, you are supposed, at the following step, to upload a primer scheme file and corresponding amplicon information that describes this set of primers. > -> - Option 3: From a shared history: -> - On [usegalaxy.org](https://usegalaxy.org/u/aun1/h/artic-v3) -> - On [usegalaxy.eu](https://usegalaxy.eu/u/nekrut/h/artic-v3) -> - On [usegalaxy.org.au](https://usegalaxy.org.au/u/nekrut/h/artic-v3) +> The Galaxy Project maintains a collection of such files for some commonly used sets of primers at [Zenodo](https://doi.org/10.5281/zenodo.4555734). +> If the files describing your set of primers are part of this collection, you can simply upload them using their Zenodo download URLs (analogous to what is shown for the ARTIC v4 primers below). > -> {% snippet faqs/galaxy/histories_import.md %} +> For sets of primers *not* included in the collection, you will have to create those files yourself (or obtain them from other sources). +> The expected format for the primer scheme file is 6-column BED format, while the amplicon info file is a simple tabular format that lists all primer names (which must be identical to the ones used in the primer scheme file) that contribute to formation of the same amplicon on a single tab-separated line. +> If in doubt, download the ARTIC v4 files through the URLs provided below, and use them as a template for your own custom files. > -> For the example datasets, you will need to import all 4 auxiliary datasets. -> -> 2. Check and manually correct assigned datatypes -> -> If you have imported the auxiliary datasets via their Zenodo links, Galaxy -> will have tried to autodetect the format of each imported dataset, but -> will not always be right with its guess. It's your task now to check and -> possibly correct the format assignments for each of the datasets! -> -> - Expand the view of each of the uploaded auxiliary datasets and see if -> Galaxy shows the following `format` values: -> - for `NC_045512.2_reference.fasta`: `fasta` -> - for `NC_045512.2_feature_mapping.tabular`: `tabular` -> - for `ARTIC_nCoV-2019_v3.bed6`: `bed6` or `bed` -> - for `ARTIC_amplicon_info_v3.tabular`: `tabular` +{: .details} + +> Get primer scheme and amplicon info > -> - If any of the above assignments are not what they should be, then change -> the datatype of the corresponding dataset now to the intended format. +> 2. Get ARTIC v4 primer files > -> {% snippet faqs/galaxy/datasets_change_datatype.md %} +> ``` +> https://zenodo.org/record/5888324/files/ARTIC_nCoV-2019_v4.bed +> https://zenodo.org/record/5888324/files/ARTIC_amplicon_info_v4.tsv +> ``` > -> If you have imported the auxiliary datasets into your history from a -> shared data library or history, then the above steps are not necessary -> (though checking the datatypes of imported data is good practice in -> general) because the shared datasets have their format configured -> correctly already. +> {% snippet faqs/galaxy/datasets_import_via_link.md %} > {: .hands_on} -# From FASTQ to annotated allelic variants +At this point you should have the following items in your history: + +1. A collection of sequenced reads for all samples to be analyzed + - This collection should be organized as a list with one element per sample that you are planning to analyze. + + If you are going to analyze the suggested batch of Omicron data, the list should have 16 elements. + + - Each of the list elements should itself be a paired collection of a *forward* and a *reverse* reads dataset, each in *fastqsanger.gz* format. + +2. The SARS-CoV-2 reference as a single *fasta* dataset +3. The SARS-CoV-2 feature mappings as a single *tabular* dataset +4. Only required if you are analyzing *tiled-amplicon* data (which is the case for the suggested batch): + - a primer scheme as a single *bed* or *bed6* dataset + - amplicon information as a single *tabular* dataset + +If any of these items are still missing, head back to the corresponding section(s) and upload them now. + +If any of these items have not been assigned the correct format (expand the view of each dataset to reveal the format Galaxy has recorded for it), please fix them now. + +{% snippet faqs/galaxy/datasets_change_datatype.md %} + +If everything looks fine, you are ready to start the actual data analysis. + +# Analysis + +> The workflows default to requiring an AF ≥ 0.05 and AV-supporting reads of ≥ 10 (these and all other parameters can be easily changed by the user). For an AV to be listed in the reports, it must surpass these thresholds in at least one sample of the respective dataset. We estimate that for AV calls with an AF ≥ 0.05, our analyses have a false-positive rate of < 15% for both Illumina RNAseq and Illumina ARTIC data, while the true-positive rate of calling such low-frequency AVs is ~80% and approaches 100% for AVs with an AF ≥ 0.15. This estimate is based on an initial application of the Illumina RNAseq and Illumina ARTIC workflows to two samples for which data of both types had been obtained at the virology department of the University of Freiburg and the assumption that AVs supported by both sets of sequencing data are true AVs. The second threshold of 10 AV-supporting reads is applied to ensure that calculated AFs are sufficiently precise for all AVs. +> +> More details about the workflows can be found on the [Covid-19 project pages](https://galaxyproject.org/projects/covid19/workflows/) of the [Galaxy Community Hub](https://galaxyproject.org/) + +## From FASTQ to annotated allelic variants To identify the SARS-CoV-2 allelic variants (AVs), a first workflow converts the FASTQ files to annotated AVs through a series of steps that include quality control, trimming, mapping, deduplication, AV calling, and filtering. @@ -324,54 +327,40 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > > All four workflows use **SnpEff**, specifically its 4.5covid19 version, for AV annotation. > -> Workflows default to requiring an AF ≥ 0.05 and AV-supporting reads of ≥ 10 (these and all other parameters can be easily changed by the user). For an AV to be listed in the reports, it must surpass these thresholds in at least one sample of the respective dataset. We estimate that for AV calls with an AF ≥ 0.05, our analyses have a false-positive rate of < 15% for both Illumina RNAseq and Illumina ARTIC data, while the true-positive rate of calling such low-frequency AVs is ~80% and approaches 100% for AVs with an AF ≥ 0.15. This estimate is based on an initial application of the Illumina RNAseq and Illumina ARTIC workflows to two samples for which data of both types had been obtained at the virology department of the University of Freiburg and the assumption that AVs supported by both sets of sequencing data are true AVs. The second threshold of 10 AV-supporting reads is applied to ensure that calculated AFs are sufficiently precise for all AVs. -> -> More details about the workflows, including benchmarking of the tools, can be found on [covid19.galaxyproject.org](https://covid19.galaxyproject.org/genomics/global_platform/#methods) {: .details} > From FASTQ to annotated AVs > > 1. **Get the workflow** for your data into Galaxy > -> - Option 1: Find workflows on the [WorkflowHub](https://workflowhub.eu) and run them directly on [usegalaxy.eu](https://usegalaxy.eu/) -> -> Please note that this option currently works *only* with usegalaxy.eu! +> All workflows developed as part of the Galaxy Covid-19 project can be retrieved via the two popular workflow registries [Dockstore](https://dockstore.org/) and [WorkflowHub](https://workflowhub.eu/), and Galaxy makes this process really easy for you. > -> - Open the workflow page on the WorkflowHub -> - [Illumina ARTIC PE](https://workflowhub.eu/workflows/110) - The one to use for example datasets -> - [Illumina RNAseq SE](https://workflowhub.eu/workflows/112) -> - [Illumina RNAseq PE](https://workflowhub.eu/workflows/113) -> - [ONT ARTIC](https://workflowhub.eu/workflows/111) +> {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' box_type="none" %} > -> - Click on `Run on usegalaxy.eu` at the top right of the page -> -> The browser will open a new tab with Galaxy's workflow invocation interface. -> -> - Option 2: Import the workflow from [Dockstore](https://dockstore.org/) using Galaxy's workflow search +> *IWC* (the intergalactic workflow commission) is the organization that the Galaxy Covid-19 project uses to publish its workflows, and the name restriction makes sure we are only getting workflows from that organization that deal with SARS-CoV-2 data analysis. > -> {% snippet faqs/galaxy/workflows_import_search.md trs_server="Dockstore" search_query='organization:"iwc-workflows"' %} +> Depending on your input data you will need to select the appropriate workflow from the list of hits returned by the workflow registry server. +> This would be: +> - **sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA** > -> For the example dataset: `sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA` +> if you are working with the suggested batch of samples for this tutorial, or if your own data is tiled-amplicon data sequenced on the Illumina platform in paired-end mode +> - **sars-cov-2-ont-artic-variant-calling/COVID-19-ARTIC-ONT** > -> - Option 3: Import the workflow via its github link +> if you are working with tiled-amplicon data sequenced on the ONT platform +> - **sars-cov-2-pe-illumina-wgs-variant-calling/COVID-19-PE-WGS-ILLUMINA** > -> - Open the GitHub repository of your workflow -> - [Illumina ARTIC PE](https://github.com/iwc-workflows/sars-cov-2-pe-illumina-artic-variant-calling) - The one to use for example datasets -> - [Illumina RNAseq SE](https://github.com/iwc-workflows/sars-cov-2-se-illumina-wgs-variant-calling) -> - [Illumina RNAseq PE](https://github.com/iwc-workflows/sars-cov-2-pe-illumina-wgs-variant-calling) -> - [ONT ARTIC](https://github.com/iwc-workflows/sars-cov-2-ont-artic-variant-calling) -> - Open the `.ga` file -> - Click on `Raw` at the top right of the file view -> - Save the file or Copy the URL of the file -> - Import the workflow to Galaxy +> if you are working with WGS data obtained on the Illumina platform in paired-end mode +> - **sars-cov-2-se-illumina-wgs-variant-calling/COVID-19-SE-WGS-ILLUMINA** > -> {% snippet faqs/galaxy/workflows_import.md %} +> if you are working with WGS data obtained on the Illumina platform in single-end mode > > 2. Run **COVID-19: variation analysis on ...** {% icon workflow %} using the following parameters: > > {% snippet faqs/galaxy/workflows_run.md %} > -> - *"Send results to a new history"*: `No` +> Note: the {% icon galaxy-gear %} icon next to **Run Workflow** offers the option to *Send results to a new history*. +> This is very useful if you are planning to analyze the data in your current history in multiple different ways, and you would like to have each analysis end up in its own dedicated history. +> Here, however, we only want to do one analysis of our batch of data so we are fine with results of the workflow run getting added to the current history. > > - For **Illumina ARTIC PE** workflow (named **COVID-19: variation analysis on ARTIC PE data**), *to use for example datasets* > - {% icon param-file %} *"1: ARTIC primers to amplicon assignments"*: `ARTIC_amplicon_info_v3.tsv` or `ARTIC amplicon info v3` @@ -395,7 +384,7 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi The execution of the workflow takes some time. It is possible to launch the next step even if it is not done, as long as all steps are successfully scheduled. -# From annotated AVs per sample to AV summary +## From annotated AVs per sample to AV summary Once the jobs of previous workflows are done, we identified AVs for each sample. We can run a "Reporting workflow" on them to generate a final AV summary. @@ -601,7 +590,7 @@ The three key results datasets produced by the Reporting workflow are: In the example datasets, the samples are clustered in 3 clusters (as we defined when running the workflow), that may represent different SARS-CoV-2 lineages as the AVs profiles are different. -# From AVs to consensus sequences +## From AVs to consensus sequences For the variant calls, we can now run a workflow which generates reliable consensus sequences according to transparent criteria that capture at least some of the complexity of variant calling: @@ -690,11 +679,11 @@ The main outputs of the workflow are: The last one can be used as input for tools like **Pangolin** or **Nextclade**. -# From consensus sequences to clade/lineage assignments +## From consensus sequences to clade/lineage assignments To assign lineages to the different samples from their consensus sequences, two tools are available: **Pangolin** and **Nextclade**. -## With Pangolin +### With Pangolin Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence the most likely lineage based on the PANGO nomenclature system. @@ -747,7 +736,7 @@ Column | Field | Meaning > {: .solution} {: .question} -## With Nextclade +### With Nextclade Nextclade assigns clades, calls mutations and performs sequence quality checks on SARS-CoV-2 genomes. @@ -808,7 +797,7 @@ Column | Field | Meaning > > How many different lineages have been found? How many samples for each lineage? > -> ![Illustration of phylogenetic relationship of clades, as used in Nextclade](../../images/sars-cov-2-variant-discovery/ncov_clades.png "Illustration of phylogenetic relationship of clades, as used in Nextclade (Source: Nextclade)") +> ![Illustration of phylogenetic relationship of clades, as used in Nextclade](../../images/sars-cov-2-variant-discovery/clades.svg "Illustration of phylogenetic relationship of clades, as used in Nextclade (Source: Nextstrain)") > > > > > @@ -829,7 +818,7 @@ Column | Field | Meaning > {: .solution} {: .question} -## Comparison between Pangolin and Nextclade clade assignments +### Comparison between Pangolin and Nextclade clade assignments We can compare **Pangolin** and **Nextclade** clade assignments by extracting interesting columns and joining them into a single dataset using sample ids. From 2fbf6efbf3845a43013fcb96b23cc1503059caf2 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Mon, 8 May 2023 18:14:28 +0200 Subject: [PATCH 06/18] Continue the tutorial update - Simplified flow with Choose your own tutorial elements - Updated tool versions --- .../sars-cov-2-variant-discovery/tutorial.md | 305 ++++++++++-------- 1 file changed, 166 insertions(+), 139 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 2cbaf5cdf0d0b..e3e50f518873a 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -319,6 +319,41 @@ Illumina RNAseq PE | Paired-end data derived from RNAseq experiments | **bwa-mem Illumina ARTIC | Paired-end data generated with Illumina-based Ampliconic (ARTIC) protocols | **bwa-mem** {% cite li_2010 %} | **lofreq** {% cite wilm_2012 %} ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconic (ARTIC) protocols | **minimap2** {% cite li_2018 %} | **medaka** +> Import the workflow for your data into Galaxy +> +> All workflows developed as part of the Galaxy Covid-19 project can be retrieved via either of the two popular workflow registries [Dockstore](https://dockstore.org/) and [WorkflowHub](https://workflowhub.eu/), the choice is up to you, and Galaxy makes this process really easy for you. +> +> {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' box_type="none" %} +> +> *IWC* (the intergalactic workflow commission) is the organization that the Galaxy Covid-19 project uses to publish its workflows, and the name restriction makes sure we are only getting workflows from that organization that deal with SARS-CoV-2 data analysis. +> +> Depending on your input data you will need to select the appropriate workflow from the list of hits returned by the workflow registry server. +> This would be: +> - **sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA** +> +> if you are working with the suggested batch of samples for this tutorial, or if your own data is tiled-amplicon data sequenced on the Illumina platform in paired-end mode +> +> Once imported into Galaxy, this workflow appear under the name: **COVID-19: variation analysis on ARTIC PE data**. +> - **sars-cov-2-ont-artic-variant-calling/COVID-19-ARTIC-ONT** +> +> if you are working with tiled-amplicon data sequenced on the ONT platform +> +> Once imported into Galaxy, this workflow appear under the name: **COVID-19: variation analysis of ARTIC ONT data**. +> - **sars-cov-2-pe-illumina-wgs-variant-calling/COVID-19-PE-WGS-ILLUMINA** +> +> if you are working with WGS (i.e. non-ampliconic) data obtained on the Illumina platform in paired-end mode +> +> Once imported into Galaxy, this workflow appear under the name: **COVID-19: variation analysis on WGS PE data**. +> - **sars-cov-2-se-illumina-wgs-variant-calling/COVID-19-SE-WGS-ILLUMINA** +> +> if you are working with WGS data obtained on the Illumina platform in single-end mode +> +> Once imported into Galaxy, this workflow appear under the name: **COVID-19: variation analysis on WGS SE data**. +> +> In all cases, the latest version of the workflow should be fine to use in this tutorial. +> +{: .hands-on} + > About the workflows > > - The two Illumina RNASeq workflows (Illumina RNAseq SE and Illumina RNAseq PE) perform read mapping with **bwa-mem** and **bowtie2**, respectively, followed by sensitive allelic-variant (AV) calling across a wide range of AFs with **lofreq**. @@ -329,60 +364,65 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > {: .details} +{% include _includes/cyoa-choices.html option1="tiled-amplicon Illumina paired-end" option2="tiled-amplicon ONT" option3="WGS Illumina paired-end" option4="WGS Illumina single-end" default="tiledamplicon-Illumina-pairedend" text="Now that you have imported the data and the corresponding workflow of your choice, please select the type of your input data so that we can adjust a few parts of this tutorial that are dependent on the nature of your data:" %} + > From FASTQ to annotated AVs > -> 1. **Get the workflow** for your data into Galaxy +>
> -> All workflows developed as part of the Galaxy Covid-19 project can be retrieved via the two popular workflow registries [Dockstore](https://dockstore.org/) and [WorkflowHub](https://workflowhub.eu/), and Galaxy makes this process really easy for you. +> 1. Run the **COVID-19: variation analysis on ARTIC PE data** {% icon workflow %} workflow using the following parameters: > -> {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' box_type="none" %} +> - {% icon param-collection %} *"Paired Collection"*: your paired collection of input sequencing data +> - {% icon param-file %} *"NC_045512.2 FASTA sequence of SARS-CoV-2"*: the `SARS-CoV-2 reference` sequence +> - {% icon param-file %} *"ARTIC primer BED"*: the uploaded primer scheme in **bed** format +> - {% icon param-file %} *"ARTIC primers to amplicon assignments"*: the uploaded amplicon info in **tabular** format > -> *IWC* (the intergalactic workflow commission) is the organization that the Galaxy Covid-19 project uses to publish its workflows, and the name restriction makes sure we are only getting workflows from that organization that deal with SARS-CoV-2 data analysis. +> A common mistake here is to mix up the previous two datasets: the *primer BED* dataset is the one with the positions of the primer binding sites listed in it. The *amplicon assignments* dataset contains only (grouped) names of primers. > -> Depending on your input data you will need to select the appropriate workflow from the list of hits returned by the workflow registry server. -> This would be: -> - **sars-cov-2-pe-illumina-artic-variant-calling/COVID-19-PE-ARTIC-ILLUMINA** +> The additional workflow parameters *"Read removal minimum AF"*, *"Read removal maximum AF"*, *"Minimum DP required after amplicon bias correction"* and *"Minimum DP_ALT required after amplicon bias correction"* can all be left at their default values. +>
+>
> -> if you are working with the suggested batch of samples for this tutorial, or if your own data is tiled-amplicon data sequenced on the Illumina platform in paired-end mode -> - **sars-cov-2-ont-artic-variant-calling/COVID-19-ARTIC-ONT** +> 1. Run the **COVID-19: variation analysis of ARTIC ONT data** {% icon workflow %} workflow using the following parameters: > -> if you are working with tiled-amplicon data sequenced on the ONT platform -> - **sars-cov-2-pe-illumina-wgs-variant-calling/COVID-19-PE-WGS-ILLUMINA** +> - {% icon param-collection %} *"ONT-sequenced reads"*: your collection of input sequencing data +> - {% icon param-file %} *"NC_045512.2 FASTA sequence of SARS-CoV-2"*: the `SARS-CoV-2 reference` sequence +> - {% icon param-file %} *"Primer binding sites info in BED format"*: the uploaded primer scheme in **bed** format > -> if you are working with WGS data obtained on the Illumina platform in paired-end mode -> - **sars-cov-2-se-illumina-wgs-variant-calling/COVID-19-SE-WGS-ILLUMINA** +> The optional workflow parameters *"Minimum read length"* and *"Maximum read length"* should be chosen according to the tiled-amplicon primer scheme's amplicon sizes. +> The [ARTIC network's recommendations for excluding obviously chimeric reads](https://artic.network/ncov-2019/ncov2019-bioinformatics-sop.html) (see the section "Read filtering" on that page) are a good starting point. > -> if you are working with WGS data obtained on the Illumina platform in single-end mode +> The workflow defaults are appropriate for ARTIC network primers, but you may have to modify them if your sample material has been amplified with another primer scheme. As suggested on the above page: try to set *"Minimum read length"* to the size of the smallest amplicon in your primer scheme, and *"Maximum read length"* to the size of the largest amplicon plus 200 nts. > -> 2. Run **COVID-19: variation analysis on ...** {% icon workflow %} using the following parameters: +>
+>
> -> {% snippet faqs/galaxy/workflows_run.md %} +> 1. Run the **COVID-19: variation analysis on WGS PE data** {% icon workflow %} workflow using the following parameters: > -> Note: the {% icon galaxy-gear %} icon next to **Run Workflow** offers the option to *Send results to a new history*. -> This is very useful if you are planning to analyze the data in your current history in multiple different ways, and you would like to have each analysis end up in its own dedicated history. -> Here, however, we only want to do one analysis of our batch of data so we are fine with results of the workflow run getting added to the current history. +> - {% icon param-collection %} *"Paired Collection"*: your paired collection of input sequencing data +> - {% icon param-file %} *"NC_045512.2 FASTA sequence of SARS-CoV-2"*: the `SARS-CoV-2 reference` sequence > -> - For **Illumina ARTIC PE** workflow (named **COVID-19: variation analysis on ARTIC PE data**), *to use for example datasets* -> - {% icon param-file %} *"1: ARTIC primers to amplicon assignments"*: `ARTIC_amplicon_info_v3.tsv` or `ARTIC amplicon info v3` -> - {% icon param-file %} *"2: ARTIC primer BED"*: `ARTIC_nCoV-2019_v3.bed` or `ARTIC nCoV-2019 v3` -> - {% icon param-file %} *"3: FASTA sequence of SARS-CoV-2"*: `NC_045512.2_reference.fasta` or `NC_045512.2 reference sequence` -> - {% icon param-collection %} *"4: Paired Collection (fastqsanger) - A paired collection of fastq datasets to call variant from"*: paired collection created for the input datasets +>
+>
> -> - For **Illumina RNAseq PE** workflow (named **COVID-19: variation analysis on WGS PE data**) -> - {% icon param-collection %} *"1: Paired Collection (fastqsanger)"*: paired collection created for the input datasets -> - {% icon param-file %} *"2: NC_045512.2 FASTA sequence of SARS-CoV-2"*: `NC_045512.2_reference.fasta` or `NC_045512.2 reference sequence` +> 1. Run the **COVID-19: variation analysis on WGS SE data** {% icon workflow %} workflow using the following parameters: > -> - For **Illumina RNAseq SE** workflow (named **COVID-19: variation analysis on WGS SE data**) -> - {% icon param-collection %} *"1: Input dataset collection"*: dataset collection created for the input datasets -> - {% icon param-file %} *"2: NC_045512.2 FASTA sequence of SARS-CoV-2"*: `NC_045512.2_reference.fasta` or `NC_045512.2 reference sequence` +> - {% icon param-collection %} *"Single End Collection"*: your collection of input sequencing data +> - {% icon param-file %} *"NC_045512.2 FASTA sequence of SARS-CoV-2"*: the `SARS-CoV-2 reference` sequence +> +>
+> +> > Running a workflow +> > +> > {% snippet faqs/galaxy/workflows_run.md box_type="none" %} +> > +> > Note: the {% icon galaxy-gear %} icon next to **Run Workflow** offers the option to *Send results to a new history*. +> > This is very useful if you are planning to analyze the data in your current history in multiple different ways, and you would like to have each analysis end up in its own dedicated history. +> > Here, however, we only want to do one analysis of our batch of data so we are fine with results of the workflow run getting added to the current history. +> {: .tip} > -> - For **ONT ARTIC** workflow (named **COVID-19: variation analysis of ARTIC ONT data**) -> - {% icon param-file %} *"1: ARTIC primer BED"*: `ARTIC_nCoV-2019_v3.bed` or `ARTIC nCoV-2019 v3` -> - {% icon param-file %} *"2: FASTA sequence of SARS-CoV-2"*: `NC_045512.2_reference.fasta` or `NC_045512.2 reference sequence` -> - {% icon param-collection %} *"3: Collection of ONT-sequenced reads"*: dataset collection created for the input datasets {: .hands_on} -The execution of the workflow takes some time. It is possible to launch the next step even if it is not done, as long as all steps are successfully scheduled. ## From annotated AVs per sample to AV summary @@ -390,73 +430,66 @@ Once the jobs of previous workflows are done, we identified AVs for each sample. This workflow takes the collection of called (with lofreq) and annotated (with SnpEff) variants (one VCF dataset per input sample) that got generated as one of the outputs of any of the four variation analysis workflows above, and generates two tabular reports and an overview plot summarizing all the variant information for your batch of samples. -> Use the right collection of annotated variants! -> The variation analysis workflow should have generated *two* collections of annotated variants - one called `Final (SnpEff-) annotated variants`, the other one called `Final (SnpEff-) annotated variants with strand-bias soft filter applied`. -> -> If you have analyzed ampliconic data with any of the **variation analysis of ARTIC** data workflows, then please consider the strand-bias soft-filtered collection experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input to the next workflow. -> -> If you are working with WGS data using either the **variation analysis on WGS PE data** or the **variation analysis on WGS SE data** workflow, then (and only then) you should continue with the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection to eliminate some likely false-postive variant calls. -> -{: .warning} - -> From annotated AVs per sample to AV summary -> -> 1. **Get the workflow** into Galaxy -> -> - Option 1: Find workflows on the [WorkflowHub](https://workflowhub.eu) and run them directly on [usegalaxy.eu](https://usegalaxy.eu/) -> -> Please note that this option currently works *only* with usegalaxy.eu! +> Import the variant analysis reporting workflow into Galaxy > -> - Open the [workflow page on WokflowHub](https://workflowhub.eu/workflows/109) -> - Click on `Run on usegalaxy.eu` on the top right of the page -> -> The browser will open a new tab with Galaxy's workflow invocation interface. +> Just like the variation analysis workflows before, also the *reporting workflow* developed by the Galaxy Covid-19 project can be retrieved from *Dockstore* or *WorkflowHub*: > -> - Option 2: Import the workflow from [Dockstore](https://dockstore.org/) using Galaxy's workflow search +> {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' workflow_name="sars-cov-2-variation-reporting/COVID-19-VARIATION-REPORTING" box_type="none" %} > -> {% snippet faqs/galaxy/workflows_import_search.md trs_server="Dockstore" search_query='organization:"iwc-workflows"' workflow_name="sars-cov-2-variation-reporting/COVID-19-VARIATION-REPORTING" %} +> Again, you can just select the latest version of the workflow, and, once imported, it should appear in your list of workflows under the name: **COVID-19: variation analysis reporting**. > -> - Option 3: Import the workflow via its github repo link -> -> - Open the [workflow GitHub repository](https://github.com/iwc-workflows/sars-cov-2-variation-reporting) -> - Open the `.ga` file -> - Click on `Raw` on the top right of the file -> - Save the file or Copy the URL of the file -> - Import the workflow to Galaxy -> -> {% snippet faqs/galaxy/workflows_import.md %} -> -> 2. Run **COVID-19: variation analysis reporting** {% icon workflow %} using the following parameters: -> -> {% snippet faqs/galaxy/workflows_run.md %} -> -> - *"Send results to a new history"*: `No` -> - *"1: AF Filter - Allele Frequency Filter"*: `0.05` -> -> This number is the minimum allele frequency required for variants to be included in the report. +{: .hands-on} + +> From annotated AVs per sample to AV summary > -> - *"2: DP Filer"*: `1` +> 1. Run the **COVID-19: variation analysis reporting** {% icon workflow %} workflow with the following parameters: > -> The minimum depth of all alignments required at a variant site; -> the suggested value will, effectively, deactivate filtering on overall DP and will result in the DP_ALT Filter to be used as the only coverage-based filter. +>
> -> - *"3: DP_ALT Filter"*: `10` +> - *"Variation data to report"*: `Final (SnpEff-) annotated variants` +>
+>
> -> The minimum depth of alignments at a site that need to support the respective variant allele +> - *"Variation data to report"*: `Final (SnpEff-) annotated variants` +>
+>
> -> - *"4: Variation data to report"*: `Final (SnpEff-) annotated variants` +> - *"Variation data to report"*: `Final (SnpEff-) annotated variants with strand-bias soft filter applied` +>
+>
> -> The collection with variation data in VCF format: the output of the previous workflow +> - *"Variation data to report"*: `Final (SnpEff-) annotated variants with strand-bias soft filter applied` +>
> +> The collection with variation data in VCF format; output of the previous workflow > -> - *"4: gene products translations"*: `NC_045512.2_feature_mapping.tsv` or `NC_045512.2 feature mapping` +> > Use the right collection of annotated variants! +> > The variation analysis workflow should have generated *two* collections of annotated variants - one called `Final (SnpEff-) annotated variants`, the other one called `Final (SnpEff-) annotated variants with strand-bias soft filter applied`. +> > +> >
+> > For tiled-amplicon data, please consider the strand-bias filter experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input here. +> >
+> >
+> > For tiled-amplicon data, please consider the strand-bias filter experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input here. +> >
+> >
+> > For WGS (i.e. non-ampliconic) data, use the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection as input here to eliminate some likely false-positive variant calls. +> >
+> >
+> > For WGS (i.e. non-ampliconic) data, use the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection as input here to eliminate some likely false-positive variant calls. +> >
+> > +> {: .comment} > -> The custom tabular file mapping NCBI RefSeq Protein identifiers (as used by snpEff version 4.5covid19) to their commonly used names, part of the auxillary data; the names in the second column of this dataset are the ones that will appear in the reports generated by this workflow. +> - *"gene products translations"*: the uploaded `SARS-CoV-2 feature mapping` dataset > -> - *"5: Number of Clusters"*: `3` +> Remember, this mapping defines the gene names that will appear as affected by given mutations in the reports. +> - *"Number of Clusters"*: `3` > > The variant frequency plot generated by the workflow will separate the samples into this number of clusters. > +> The remaining workflow parameters: *"AF Filter"*, *"DP Filter"*, and *"DP_ALT_FILTER"* can all be left at their default values. +> {: .hands_on} The three key results datasets produced by the Reporting workflow are: @@ -601,75 +634,66 @@ For the variant calls, we can now run a workflow which generates reliable consen The workflow takes a collection of VCFs and a collection of the corresponding aligned reads (for the purpose of calculating genome-wide coverage) such as produced by the first workflow we ran. -> Use the right collections as input! -> The variation analysis workflow should have generated *two* collections of annotated variants - one called `Final (SnpEff-) annotated variants`, the other one called `Final (SnpEff-) annotated variants with strand-bias soft filter applied`. -> -> If you have analyzed ampliconic data with any of the **variation analysis of ARTIC** data workflows, then please consider the strand-bias soft-filtered collection experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input to the next workflow. +> Import the consensus construction workflow into Galaxy > -> If you are working with WGS data using either the **variation analysis on WGS PE data** or the **variation analysis on WGS SE data** workflow, then (and only then) you should continue with the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection to eliminate some likely false-postive variant calls. -> -> As for the collection of aligned reads, you should choose the collection of BAM datasets that was used for variant calling (specifically for the first round of variant calling in the case of Illumina ampliconic data). This collection should be called `Fully processed reads for variant calling (primer-trimmed, realigned reads with added indelquals)`, if it was generated by any of the Illumina variation analysis workflows, or `BamLeftAlign on collection ...`, if it was produced by the ONT variation analysis workflow. -> -{: .warning} - - -> From AVs to consensus sequences -> -> 1. **Get the workflow** into Galaxy -> -> - Option 1: Find workflows on the [WorkflowHub](https://workflowhub.eu) and run them directly on [usegalaxy.eu](https://usegalaxy.eu/) -> -> Please note that this option currently works *only* with usegalaxy.eu! -> -> - Open the [workflow page on WokflowHub](https://workflowhub.eu/workflows/138) -> - Click on `Run on usegalaxy.eu` on the top right of the page -> -> The browser will open a new tab with Galaxy's workflow invocation interface. +> Just like workflows before, also the *consensus construction workflow* developed by the Galaxy Covid-19 project can be retrieved from *Dockstore* or *WorkflowHub*: > -> - Option 2: Import the workflow from [Dockstore](https://dockstore.org/) using Galaxy's workflow search +> {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' workflow_name="sars-cov-2-consensus-from-variation/COVID-19-CONSENSUS-CONSTRUCTION" box_type="none" %} > -> {% snippet faqs/galaxy/workflows_import_search.md trs_server="Dockstore" search_query='organization:"iwc-workflows"' workflow_name="sars-cov-2-consensus-from-variation/COVID-19-CONSENSUS-CONSTRUCTION" %} +> Again, you can just select the latest version of the workflow, and, once imported, it should appear in your list of workflows under the name: **COVID-19: consensus construction**. > -> - Option 2: Import the workflow via its github repo link -> -> - Open the [workflow GitHub repository](https://github.com/iwc-workflows/sars-cov-2-consensus-from-variation) -> - Open the `.ga` file -> - Click on `Raw` on the top right of the file -> - Save the file or Copy the URL of the file -> - Import the workflow to Galaxy -> -> {% snippet faqs/galaxy/workflows_import.md %} +{: .hands-on} + +> From AVs to consensus sequences > -> 2. Run **COVID-19: consensus construction** {% icon workflow %} using the following parameters: +> 1. Run the **COVID-19: consensus construction** {% icon workflow %} workflow with these parameters: > -> {% snippet faqs/galaxy/workflows_run.md %} +>
> -> - *"Send results to a new history"*: `No` -> - *"1: Variant calls"*: `Final (SnpEff-) annotated variants` +> - *"Variant calls"*: `Final (SnpEff-) annotated variants` +>
+>
> -> The collection with variation data in VCF format: the output of the first workflow +> - *"Variant calls"*: `Final (SnpEff-) annotated variants` +>
+>
> -> - *"2: min-AF for consensus variants*: `0.7` +> - *"Variant calls"*: `Final (SnpEff-) annotated variants with strand-bias soft filter applied` +>
+>
> -> Only variant calls with an AF greater than this value will be considered consensus variants. +> - *"Variant calls"*: `Final (SnpEff-) annotated variants with strand-bias soft filter applied` +>
> -> - *"3: min-AF for failed variants"*: `0.25` +> The collection with variation data in VCF format; output of the first workflow > -> Variant calls with an AF higher than this value, but lower than the AF threshold for consensus variants will be considered questionable and the respective sites be masked (with Ns) in the consensus sequence. Variants with an AF below this threshold will be ignored. +> > Use the right collection of annotated variants! +> > The variation analysis workflow should have generated *two* collections of annotated variants - one called `Final (SnpEff-) annotated variants`, the other one called `Final (SnpEff-) annotated variants with strand-bias soft filter applied`. +> > +> >
+> > For tiled-amplicon data, please consider the strand-bias filter experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input here. +> >
+> >
+> > For tiled-amplicon data, please consider the strand-bias filter experimental and proceed with the `Final (SnpEff-) annotated variants` collection as input here. +> >
+> >
+> > For WGS (i.e. non-ampliconic) data, use the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection as input here to eliminate some likely false-positive variant calls. +> >
+> >
+> > For WGS (i.e. non-ampliconic) data, use the `Final (SnpEff-) annotated variants with strand-bias soft filter applied` collection as input here to eliminate some likely false-positive variant calls. +> >
+> > +> {: .comment} > -> - *"4: aligned reads data for depth calculation"*: `Fully processed reads for variant calling` +> - *"aligned reads data for depth calculation"*: `Fully processed reads for variant calling` > > Collection with fully processed BAMs generated by the first workflow. > -> For ARTIC data, the BAMs should NOT have undergone processing with **ivar removereads** -> -> - *"5: Depth-threshold for masking"*: `5` -> -> Sites in the viral genome covered by less than this number of reads detection of variants is considered to become unreliable. Such sites will be masked (with Ns) in the consensus sequence unless there is a consensus variant call at the site. +> For tiled-amplicon data, the BAMs should NOT have undergone processing with **ivar removereads**, so please take care to select the right collection! > -> - *"6: Reference genome*": `NC_045512.2_reference.fasta` or `NC_045512.2 reference sequence` +> - *"Reference genome*": the `SARS-CoV-2 reference` sequence > -> SARS-CoV-2 reference genome, part of the auxillary data. +> The remaining workflow parameters: *"min-AF for consensus variant"*, *"min-AF for failed variants"*, and *"Depth-threshold for masking"* can all be left at their default values. > {: .hands_on} @@ -689,8 +713,9 @@ Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used > From consensus sequences to clade assignations using Pangolin > -> 1. {% tool [Pangolin](toolshed.g2.bx.psu.edu/repos/iuc/pangolin/pangolin/3.1.4+galaxy0) %} with the following parameters: +> 1. {% tool [Pangolin](toolshed.g2.bx.psu.edu/repos/iuc/pangolin/pangolin/4.2+galaxy0) %} with the following parameters: > - {% icon param-file %} *"Input FASTA File(s)"*: `Multisample consensus FASTA` +> - *"Include header line in output file"*: `Yes` > > 2. Inspect the generated output {: .hands_on} @@ -742,9 +767,11 @@ Nextclade assigns clades, calls mutations and performs sequence quality checks o > From consensus sequences to clade assignations using Nextclade > -> 1. {% tool [Nextclade](toolshed.g2.bx.psu.edu/repos/iuc/nextclade/nextclade/0.14.4+galaxy0) %} with the following parameters: -> - {% icon param-file %} *"SARS-CoV-2 consensus sequences (FASTA)"*: `Multisample consensus FASTA` +> 1. {% tool [Nextclade](toolshed.g2.bx.psu.edu/repos/iuc/nextclade/nextclade/2.7.0+galaxy0) %} with the following parameters: +> - {% icon param-file %} *"FASTA file with input sequences"*: `Multisample consensus FASTA` +> - *"Version of database to use"*: `Download latest available database version from web` > - {% icon param-check %} *"Output options"*: `Tabular format report` +> - *"Include header line in output file"*: `Yes` > > 2. Inspect the generated output {: .hands_on} From 0765b832e0b2a12db47278ef3ad2d5c1ffef5054 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Tue, 9 May 2023 11:37:11 +0200 Subject: [PATCH 07/18] Fix and simplify upload instructions --- .../sars-cov-2-variant-discovery/tutorial.md | 48 ++++++++++++++----- 1 file changed, 36 insertions(+), 12 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index e3e50f518873a..123dd81f4b4af 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -113,12 +113,14 @@ If you are going to use your own sequencing data, there are several possibilitie > {: .comment} -For the suggested batch of early Omicron data we suggest downloading it via URLs from the -[European Nucleotide Archive (ENA)](https://www.ebi.ac.uk/ena/browser/home). In case your Galaxy server offers that same data through a shared data library, this represents a faster (data is already on the server) alternative, so you'll find instructions for this scenario as well below. +For the suggested batch of early Omicron data we suggest downloading it via URLs from the [European Nucleotide Archive (ENA)](https://www.ebi.ac.uk/ena/browser/home). In case your Galaxy server offers that same data through a shared data library, this represents a faster (data is already on the server) alternative, so we offer instructions for this scenario as well. + +{% include _includes/cyoa-choices.html option1="Import from ENA" option2="Import from Data Library" default="Import-from-ENA" %} > Import the sequencing data > -> - Option 1: Import from the ENA +>
+> - Import from the ENA > > ``` > ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_1.fastq.gz @@ -159,16 +161,27 @@ For the suggested batch of early Omicron data we suggest downloading it via URLs > 2. Open the {% tool [Upload](upload1) %} Manager > 3. In the top row of tabs select **Collection** > 4. Configure the drop-down select boxes on that tab like this: -> - *"Collection Type"*: `Pair` +> - *"Collection Type"*: `List of Pairs` > - *"File Type"*: `fastqsanger.gz` > 5. Click on **Paste/Fetch data** and paste the links you copied into the empty text box > 6. Press **Start** -> 7. Wait for the **Build** button to become enabled, click it, and, in the next dialogue, give a suitable **Name**, like `Sequencing data`, to the new collection. -> 8. Click on **Create collection** -> -> - Option 2: Import from a shared data library +> 7. Wait for the **Build** button to become enabled, then click it +> 8. In the lower half of the next dialogue, Galaxy already suggests a mostly reasonable pairing of the inputs. +> +> As you can see, however, this auto-pairing would retain a *.fastq* suffix attached to each pair of forward and reverse reads. To correct this +> 1. Click **Unpair all** above the suggested pairings to undo all of them. +> 2. Change the following default values in the upper half of the window: +> - *"unpaired forward"*: `_1.fastq.gz` (instead of *_1*) +> - *"unpaired reverse"*: `_2.fastq.gz` (instead of *_2*) +> 3. Click **Auto-pair** +> 9. At, the bottom of the window, enter a suitable **Name**, like `Sequencing data`, for the new collection +> 10. Click on **Create collection** +>
+>
+> - Import from a shared data library > -> {% snippet faqs/galaxy/datasets_import_from_data_library.md astype="as a Collection" collection_type="List of Pairs" collection_name="Sequencing data" tohistory="the history you created for this tutorial" path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" %} +> {% snippet faqs/galaxy/datasets_import_from_data_library.md astype="as a Collection" collection_type="List of Pairs" collection_name="Sequencing data" tohistory="the history you created for this tutorial" path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" box_type="none" %} +>
> {: .hands_on} @@ -247,7 +260,7 @@ Besides the sequenced reads data, we need at least two additional datasets for c Another two datasets are needed only for the analysis of ampliconic, e.g. ARTIC-amplified, input data: - a BED file specifying the primers used during amplification and their binding sites on the viral genome -- a custom tabular file describing the amplicon grouping of the primers +- a custom tabular file describing the amplicon grouping of the primers (currently NOT used for tiled-amplicon ONT data) > Using your own tiled-amplicon data? Provide the correct primer scheme and amplicon info. > @@ -266,14 +279,25 @@ Another two datasets are needed only for the analysis of ampliconic, e.g. ARTIC- > Get primer scheme and amplicon info > -> 2. Get ARTIC v4 primer files +> 1. Get the ARTIC v4 primer scheme file from > > ``` > https://zenodo.org/record/5888324/files/ARTIC_nCoV-2019_v4.bed +> ``` +> +> and upload it to Galaxy as a dataset of type `bed`. +> +> {% snippet faqs/galaxy/datasets_import_via_link.md format="bed" %} +> +> 2. Get the ARTIC v4 amplicon info file from +> +> ``` > https://zenodo.org/record/5888324/files/ARTIC_amplicon_info_v4.tsv > ``` > -> {% snippet faqs/galaxy/datasets_import_via_link.md %} +> and upload it to Galaxy as a dataset of type `tabular`. +> +> {% snippet faqs/galaxy/datasets_import_via_link.md format="tabular" %} > {: .hands_on} From 5ae9c9aa66dfbe7e18c23d07173124ee5759c7e7 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Tue, 9 May 2023 12:19:22 +0200 Subject: [PATCH 08/18] Update variant frequency plot to match new input data --- .../variant-frequency.svg | 10898 +++++++--------- 1 file changed, 4427 insertions(+), 6471 deletions(-) diff --git a/topics/variant-analysis/images/sars-cov-2-variant-discovery/variant-frequency.svg b/topics/variant-analysis/images/sars-cov-2-variant-discovery/variant-frequency.svg index 6a1617d4a5bc6..759ee9c7ac4f8 100644 --- a/topics/variant-analysis/images/sars-cov-2-variant-discovery/variant-frequency.svg +++ b/topics/variant-analysis/images/sars-cov-2-variant-discovery/variant-frequency.svg @@ -1,102 +1,102 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -153,6547 +153,4503 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - - - - + - + - + - + - + - + - + - + - - + - + - + + - + - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b57d642e4403d4faa60adf864b42792455da6a69 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Tue, 9 May 2023 18:29:42 +0200 Subject: [PATCH 09/18] Rewrite introduction --- .../sars-cov-2-variant-discovery/schema.png | Bin 124535 -> 182042 bytes .../sars-cov-2-variant-discovery/tutorial.md | 63 +++++++++++++----- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/topics/variant-analysis/images/sars-cov-2-variant-discovery/schema.png b/topics/variant-analysis/images/sars-cov-2-variant-discovery/schema.png index 38a455dd3577d1f6c055666dc7da4ac391554bce..eb7a3607715a832efbf911698b3549e3d71ea456 100644 GIT binary patch literal 182042 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 literal 124535 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

l1nK+{t8 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%0AO2Ct8?#e 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 diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 123dd81f4b4af..a0c95ffd39ea3 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -20,6 +20,17 @@ key_points: - 4 specialized, best-practice variant calling workflows are available for the identification of annotated allelic variants from raw sequencing data depending on the exact type of input - Data from batches of samples can be processed in parallel using collections - Annotated allelic variants can be used to build consensus sequences for and assign each sample to known viral clades/lineages +requirements: + - + type: "internal" + topic_name: galaxy-interface + tutorials: + - collections + - + type: "internal" + topic_name: variant-analysis + tutorials: + - sars-cov-2 contributors: - wm75 - bebatut @@ -31,27 +42,44 @@ tags: # Introduction +Sequence-based monitoring of global infectious disease crises, such as the COVID-19 pandemic, requires capacity to generate and analyze large volumes of sequencing data in near real time. These data have proven essential for surveilling the emergence and spread of new viral variants, and for understanding the evolutionary dynamics of the virus. -Effectively monitoring global infectious disease crises, such as the COVID-19 pandemic, requires capacity to generate and analyze large volumes of sequencing data in near real time. These data have proven essential for monitoring the emergence and spread of new variants, and for understanding the evolutionary dynamics of the virus. +The tutorial [SARS-CoV-2 sequencing data analysis]({% link topics/variant-analysis/tutorials/sars-cov-2/tutorial.md %}) shows in detail how you can identify mutations in SARS-CoV-2 samples from paired-end whole-genome sequencing data generated on the Illumina platform. -Two sequencing platforms (Illumina and Oxford Nanopore) in combination with several established library preparation (Ampliconic and metatranscriptomic) strategies are predominantly used to generate SARS-CoV-2 sequence data. However, data alone do not equal knowledge: they need to be analyzed. The Galaxy community has developed high-quality analysis workflows to support +For versatile and efficient genome surveillance, however, you would want to: +- be able to analyze data of different origin -- sensitive identification of SARS-CoV-2 allelic variants (AVs) starting with allele frequencies as low as 5% from deep sequencing reads -- generation of user-friendly reports for batches of results -- reliable and configurable consensus genome generation from called variants + Besides WGS paired-end Illumina data, different labs are generating also single-end Illumina and ONT data, and are combining these platforms with various tiled-amplicon approaches upstream of sequencing. -> Further reading -> More information about the workflows, including benchmarking, can be found -> - on the Galaxy Covid-19 effort website: [covid19.galaxyproject.org](https://covid19.galaxyproject.org/) -> - as a BioRxiv preprint: [Global platform for SARS-CoV-2 analysis](https://www.biorxiv.org/content/10.1101/2021.03.25.437046v1) -{: .details} +- go beyond per-sample mutation calls in variant call format (VCF) + + To keep track of large numbers of samples sequenced in batches (as, nowadays, produced routinely by SARS-CoV-2 genome surveillance initiatives across the globe), you need concise reports and visualizations of results at the sample and batch level. + +- use sample mutation patterns to construct sanple consensus genomes + +- use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems (Nextstrain and pango) + +- decrease hands-on time and data manipulation errors by combining analysis steps into workflows for automated execution + +The purpose of this tutorial is to demonstrate how a set of workflows developed by the [Galaxy Covid-19 project](https://galaxyproject.org/projects/covid19/) can be combined and used together with a handful of additional tools to achieve all of the above. Specifically, we will cover the analysis flow presented in figure 1. -This tutorial will teach you how to obtain, run and combine these workflows appropriately for different types of input data, be it: +![Analysis flow in the tutorial](../../images/sars-cov-2-variant-discovery/schema.png "Analysis flow in the tutorial") + +Depending on the type of sequencing data **one of four variation analysis workflows** can be run to discover mutations in a batch of input samples. Outputs of any of these workflows can then be processed further with two additional workflows: the **variation reporting workflow** generates a per-sample report of mutations, but also batch-level reports and visualizations, while the **consensus construction workflow** reconstructs the full viral genomes of all samples in the batch by modifying the SARS-CoV-2 reference genome with each sample's set of mutations. + +A few highlights of these workflows are: + +- All the variation analysis workflows are more sensitive than they need to be for consensus sequence generation, i.e. they can not only be used to capture fixed or majority alleles, but can also be used on their own to address less routine questions such as co-infections with two viral lineages or shifting intrahost allele-frequencies in, for example, immunocompromised, longterm-infected patients. +- The reporting workflow produces a batch-level overview plot of mutations and their observed allele-frequencies that enables spotting of batch-effects like sample cross-contamination and outlier samples that are different from the rest of the batch. +- The consensus workflow can express uncertainty about any base position in the generated consensus sequence by N-masking the position according to user-defined thresholds. +- All of the workflows are openly developed and available in the form of defined releases through major public workflow registries. + +In this tutorial you will learn to +- obtain releases of the workflows from public registries +- set up input data for different types of sequencing protocols +- run and combine the workflows +- understand the various outputs produced by the workflows and to extract insight about viral samples from them -- Single-end data derived from Illumina-based RNAseq experiments -- Paired-end data derived from Illumina-based RNAseq experiments -- Paired-end data generated with Illumina-based Ampliconic (ARTIC) protocols, or -- ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconic (ARTIC) protocols > > @@ -70,8 +98,8 @@ This data has been Illumina paired-end sequenced after amplification with the AR Alternatively, you can also follow this tutorial using your own SARS-CoV-2 sequencing data (you need at least two samples) as long as it is of one of the following types: -- Single-end data derived from Illumina-based whole-genome RNAseq experiments -- Paired-end data derived from Illumina-based whole-genome RNAseq experiments +- Single-end data derived from Illumina-based whole-genome sequencing experiments +- Paired-end data derived from Illumina-based whole-genome sequencing experiments - Paired-end data generated with Illumina-based tiled-amplicon (e.g. ARTIC) protocols - ONT FASTQ files generated with Oxford nanopore (ONT)-based tiled-amplicon (e.g. ARTIC) protocols @@ -901,7 +929,6 @@ We can see that **Pangolin** and **Nextclade** are globally coherent despite dif In this tutorial, we used a collection of Galaxy workflows for the detection and interpretation of sequence variants in SARS-CoV-2: -![Analysis flow in the tutorial](../../images/sars-cov-2-variant-discovery/schema.png "Analysis flow in the tutorial") The workflows can be freely used and immediately accessed from the three global Galaxy instances. Each is capable of supporting thousands of users running hundreds of thousands of analyses per month. From c92bcb1a984e08a1d4477d6263626a75d8f92eee Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Tue, 9 May 2023 19:12:16 +0200 Subject: [PATCH 10/18] Improve headings, remove extra cyoa Multiple cyoas per tutorial don't work. --- .../sars-cov-2-variant-discovery/tutorial.md | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index a0c95ffd39ea3..2c6bfe4f4c1d6 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -143,12 +143,9 @@ If you are going to use your own sequencing data, there are several possibilitie For the suggested batch of early Omicron data we suggest downloading it via URLs from the [European Nucleotide Archive (ENA)](https://www.ebi.ac.uk/ena/browser/home). In case your Galaxy server offers that same data through a shared data library, this represents a faster (data is already on the server) alternative, so we offer instructions for this scenario as well. -{% include _includes/cyoa-choices.html option1="Import from ENA" option2="Import from Data Library" default="Import-from-ENA" %} - > Import the sequencing data > ->

-> - Import from the ENA +> - Option 1: Import from the ENA > > ``` > ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR170/002/SRR17054502/SRR17054502_1.fastq.gz @@ -204,12 +201,10 @@ For the suggested batch of early Omicron data we suggest downloading it via URLs > 3. Click **Auto-pair** > 9. At, the bottom of the window, enter a suitable **Name**, like `Sequencing data`, for the new collection > 10. Click on **Create collection** ->
->
-> - Import from a shared data library +> +> - Option 2: Import from a shared data library > > {% snippet faqs/galaxy/datasets_import_from_data_library.md astype="as a Collection" collection_type="List of Pairs" collection_name="Sequencing data" tohistory="the history you created for this tutorial" path="GTN - Material / Variant analysis / Mutation calling, viral genome reconstruction and lineage/clade assignment from SARS-CoV-2 sequencing data / DOI: 10.5281/zenodo.5036686" box_type="none" %} ->
> {: .hands_on} @@ -358,7 +353,7 @@ If everything looks fine, you are ready to start the actual data analysis. > > More details about the workflows can be found on the [Covid-19 project pages](https://galaxyproject.org/projects/covid19/workflows/) of the [Galaxy Community Hub](https://galaxyproject.org/) -## From FASTQ to annotated allelic variants +## From sequencing data to annotated mutations per sample To identify the SARS-CoV-2 allelic variants (AVs), a first workflow converts the FASTQ files to annotated AVs through a series of steps that include quality control, trimming, mapping, deduplication, AV calling, and filtering. @@ -418,7 +413,7 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi {% include _includes/cyoa-choices.html option1="tiled-amplicon Illumina paired-end" option2="tiled-amplicon ONT" option3="WGS Illumina paired-end" option4="WGS Illumina single-end" default="tiledamplicon-Illumina-pairedend" text="Now that you have imported the data and the corresponding workflow of your choice, please select the type of your input data so that we can adjust a few parts of this tutorial that are dependent on the nature of your data:" %} -> From FASTQ to annotated AVs +> From sequencing data to annotated mutations > >
> @@ -476,7 +471,7 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi {: .hands_on} -## From annotated AVs per sample to AV summary +## From mutations per sample to reports and visualizations Once the jobs of previous workflows are done, we identified AVs for each sample. We can run a "Reporting workflow" on them to generate a final AV summary. @@ -492,7 +487,7 @@ This workflow takes the collection of called (with lofreq) and annotated (with S > {: .hands-on} -> From annotated AVs per sample to AV summary +> From mutations per sample to reports and visualizations > > 1. Run the **COVID-19: variation analysis reporting** {% icon workflow %} workflow with the following parameters: > @@ -675,7 +670,7 @@ The three key results datasets produced by the Reporting workflow are: In the example datasets, the samples are clustered in 3 clusters (as we defined when running the workflow), that may represent different SARS-CoV-2 lineages as the AVs profiles are different. -## From AVs to consensus sequences +## From mutations per sample to consensus sequences For the variant calls, we can now run a workflow which generates reliable consensus sequences according to transparent criteria that capture at least some of the complexity of variant calling: @@ -696,7 +691,7 @@ The workflow takes a collection of VCFs and a collection of the corresponding al > {: .hands-on} -> From AVs to consensus sequences +> From mutations per sample to consensus sequences > > 1. Run the **COVID-19: consensus construction** {% icon workflow %} workflow with these parameters: > @@ -755,11 +750,11 @@ The main outputs of the workflow are: The last one can be used as input for tools like **Pangolin** or **Nextclade**. -## From consensus sequences to clade/lineage assignments +## From consensus sequences to lineage assignments To assign lineages to the different samples from their consensus sequences, two tools are available: **Pangolin** and **Nextclade**. -### With Pangolin +### Lineage assignment with Pangolin Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence the most likely lineage based on the PANGO nomenclature system. @@ -813,7 +808,7 @@ Column | Field | Meaning > {: .solution} {: .question} -### With Nextclade +### Lineage assignment with Nextclade Nextclade assigns clades, calls mutations and performs sequence quality checks on SARS-CoV-2 genomes. @@ -897,7 +892,7 @@ Column | Field | Meaning > {: .solution} {: .question} -### Comparison between Pangolin and Nextclade clade assignments +### Comparison between Pangolin and Nextclade assignments We can compare **Pangolin** and **Nextclade** clade assignments by extracting interesting columns and joining them into a single dataset using sample ids. @@ -924,11 +919,10 @@ We can compare **Pangolin** and **Nextclade** clade assignments by extracting in We can see that **Pangolin** and **Nextclade** are globally coherent despite differences in lineage nomenclature. -# Conclusion - -In this tutorial, we used a collection of Galaxy workflows for the detection and interpretation of sequence variants in SARS-CoV-2: +# Conclusion +In this tutorial, we used a collection of Galaxy workflows for the detection and interpretation of sequence variants in SARS-CoV-2. The workflows can be freely used and immediately accessed from the three global Galaxy instances. Each is capable of supporting thousands of users running hundreds of thousands of analyses per month. From c47af4507c422145da896f318c5a7253f2b3c786 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Thu, 11 May 2023 17:36:49 +0200 Subject: [PATCH 11/18] Rewrite lineage assignment section and most questions. --- .../sars-cov-2-variant-discovery/tutorial.md | 514 +++++++++--------- 1 file changed, 264 insertions(+), 250 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 2c6bfe4f4c1d6..728c416115e84 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -467,13 +467,35 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > > This is very useful if you are planning to analyze the data in your current history in multiple different ways, and you would like to have each analysis end up in its own dedicated history. > > Here, however, we only want to do one analysis of our batch of data so we are fine with results of the workflow run getting added to the current history. > {: .tip} -> +> {: .hands_on} +Scheduling of the workflow will take a while. One of the last datasets that will be added to your history will be called **Preprocessing and mapping reports**. It is the first overview report that you will obtain in this tutorial, and the only one produced by the variation analysis workflow. + +Once this dataset is ready take a moment to explore its content. It contains potentially valuable information about coverage of reads mapped to the reference genome and quality statistics for these reads. Technical issues with any samples in a batch are typically visible in this report already and spotting them early can often prevent overinterpretation of later reports. + +If you are following along with the suggested batch of samples, we also have prepared a simple question for you. + +> +> +> 1. There are at least three problematic samples in the batch. What are their identifiers and what is the issue with them? +> +> > +> > +> > 1. The three samples are **SRR17054505**, **SRR17054506** and **SRR17054508**. +> > +> > The problem with all three is poor coverage as can be seen from the "General Statistics" section. +> > When you inspect the "Cumulative genome coverage" plot, you can see that a fourth sample, **SRR17054502**, is not that much better than two of these three. +> > +> > Coverage of the worst sample, **SRR17054505**, is critically low and we cannot expect very usable mutation calls from it. +> > For the other three we may hope for some results, but we should not expect those to be perfect. +> > +> {: .solution} +{: .question} ## From mutations per sample to reports and visualizations -Once the jobs of previous workflows are done, we identified AVs for each sample. We can run a "Reporting workflow" on them to generate a final AV summary. +The main output of the first workflow, of course, is the collection with mutation calls per sample. This collection will serve as input to the "Reporting workflow". This workflow takes the collection of called (with lofreq) and annotated (with SnpEff) variants (one VCF dataset per input sample) that got generated as one of the outputs of any of the four variation analysis workflows above, and generates two tabular reports and an overview plot summarizing all the variant information for your batch of samples. @@ -541,149 +563,88 @@ This workflow takes the collection of called (with lofreq) and annotated (with S The three key results datasets produced by the Reporting workflow are: -1. **Combined Variant Report by Sample**: This table combines the key statistics for each AV call in each sample. Each line in the dataset represents one AV detected in one specific sample - - Column | Field | Meaning - --- | --- | --- - 1 | `Sample` | SRA run ID - 2 | `POS` | Position in [NC_045512.2](https://www.ncbi.nlm.nih.gov/nuccore/1798174254) - 3 | `FILTER` | `Filter` field from VCF - 4 | `REF` | Reference base - 5 | `ALT` | Alternative base - 6 | `DP` | Sequencing depth - 7 | `AF` | Alternative allele frequency - 8 | `SB` | Strand bias P-value from Fisher's exact test calculated by [`lofreq`](https://csb5.github.io/lofreq/) - 9 |`DP4` | Depth for Forward Ref Counts, Reverse Ref Counts, Forward Alt Counts, Reverse Alt Counts - 10 |`IMPACT` | Functional impact (from SNPEff) - 11 |`FUNCLASS` | Funclass for change (from SNPEff) - 12 |`EFFECT` | Effect of change (from SNPEff) - 13 |`GENE` | Gene name - 14 |`CODON` | Codon - 15 |`AA` | Amino acid - 16 |`TRID` | Short name for the gene - 17 |`min(AF)` | Minimum Alternative Allele Freq across all samples containing this change - 18 |`max(AF)` | Maximum Alternative Allele Freq across all samples containing this change - 19 |`countunique(change)` | Number of distinct types of changes at this site across all samples - 20 |`countunique(FUNCLASS)` | Number of distinct FUNCLASS values at this site across all samples - 21 |`change` | Change at this site in this sample - - > - > - > 1. How many AVs are found for all samples? - > 2. How many AVs are found for the first sample in the document? - > 3. How many AVs are found for each sample? +1. **Combined Variant Report by Sample** + + This table combines the key statistics for each mutation call in each individual sample. Each line in the dataset represents one mutation detected in one specific sample. + + This report is meant as a faster and more legible way for studying the collection of per-sample mutations in VCF format directly. + + > Structure of the by-sample mutation report + > + > Column | Field | Meaning + > --- | --- | --- + > 1 | `Sample` | Sample ID + > 2 | `POS` | Position of site with regard to the reference genome + > 3 | `FILTER` | Whether the variant passed the *AF*, *DP* and *DP_ALT* filters defined for the workflow run; variants that do not pass the filters in at least one sample are not reported, but a variant may fail some or all of the filters in *some* samples + > 4 | `REF` | Reference base + > 5 | `ALT` | Alternative base + > 6 | `DP` | Sequencing depth at the variant site + > 7 | `AF` | Allele frequency + > 8 | `AFcaller` | Uncorrected allele frequency emitted by variant caller; for Illumina data, may differ from `AF` due to a [bug](https://github.com/CSB5/lofreq/issues/80) in the lofreq variant caller + > 8 | `SB` | Strand bias P-value from Fisher's exact test calculated by lofreq + > 9 |`DP4` | Observed counts of 1. REF-supporting fw-strand reads, 2. REF-supporting rv-strand reads, 3. ALT-supporting fw-strand reads, 4. ALT-supporting rv-strand reads + > 10 |`IMPACT` | Functional impact (from SnpEff annotation) + > 11 |`FUNCLASS` | Funclass for change (from SnpEff annotation) + > 12 |`EFFECT` | Effect of change (from SnpEff annotation) + > 13 |`GENE` | Name of affected viral gene or ORF (from SnpEff annotation) + > 14 |`CODON` | Affected codon (from SnpEff annotation) + > 15 |`AA` | Amino acid change caused by the mutation (from SnpEff annotation) + > 16 |`TRID` | Name of the affected viral protein (as defined in the feature mapping dataset) + > 17 |`min(AF)` | Minimum alternate allele frequency across all samples containing this mutation + > 18 |`max(AF)` | Maximum alternate allele frequency across all samples containing this mutation + > 19 |`countunique(change)` | Number of distinct types of changes at this site across all samples; if > 1, other samples in the batch have the same site affected by different base changes + > 20 |`countunique(FUNCLASS)` | Number of distinct FUNCLASS values at this site across all samples; if > 1, other samples in the batch have the same site affected by different base changes that have a different effect on the gene product + > 21 |`change` | Nucleotide change at this site in this sample + > + {: .details} + +2. **Combined Variant Report by Variant** + + This table aggregates the information about each mutation *across* samples. It is much more concise than the by-sample report at only a small amount of information loss. + + > Structure of the across-samples mutation report > - > > - > > - > > 1. By expanding the dataset in the history, we have the number of lines in the file. 868 lines for the example datasets. The first line is the header of the table. Then 867 AVs. - > > - > > 2. We can filter the table to get only the AVs for the first sample {% tool [Filter data on any column using simple expressions](Filter1) %} with the following parameters: - > > - {% icon param-file %} *"Filter*": `Combined Variant Report by Sample` - > > - *"With following condition*": `c1=='ERR5931005'` (to adapt with the sample name) - > > - *"Number of header lines to skip*": `1` - > > - > > We got then only the AVs for the selected sample (48 for ERR5931005). - > > - > > 3. To get the number of AVs for each sample, we can run {% tool [Group data](Grouping1) %} with the following parameters: - > > - {% icon param-file %} *"Select data"*: `Combined Variant Report by Sample` - > > - *"Group by column"*: `Column: 1` - > > - In *"Operation"*: - > > - In *"1: Operation"*: - > > - *"Type"*: `Count` - > > - *"On column"*: `Column: 2` - > > - > > With our example datasets, it seems that samples have between 42 and 56 AVs. - > {: .solution} - {: .question} - -2. **Combined Variant Report by Variant**: This table combines the information about each AV *across* samples. - - Column | Field | Meaning - --- | --- | --- - 1 | `POS` | Position in [NC_045512.2](https://www.ncbi.nlm.nih.gov/nuccore/1798174254) - 2 | `REF` | Reference base - 3 | `ALT` | Alternative base - 4 | `IMPACT` | Functional impact (from SnpEff) - 5 | `FUNCLASS` | Funclass for change (from SnpEff) - 6 | `EFFECT` | Effect of change (from SnpEff) - 7 | `GENE` | Gene - 8 | `CODON` | Codon - 9 | `AA` | Amino acid - 10 |`TRID` | Short name for the gene (from the feature mapping dataset) - 11 |`countunique(Sample)` | Number of distinct samples containing this change - 12 |`min(AF)` | Minimum Alternative Allele Freq across all samples containing this change - 13 |`max(AF)` | Maximum Alternative Allele Freq across all samples containing this change - 14 |`SAMPLES(above-thresholds)` | List of distinct samples where this change has frequency abobe threshold (5%) - 15 |`SAMPLES(all)` | List of distinct samples containing this change at any frequency (including below threshold) - 16 |`AFs(all)` | List of all allele frequencies across all samples - 17 |`change` | Change - - > - > - > 1. How many AVs are found? - > 1. What are the different impacts of the AVs? - > 2. How many variants are found for each impact? - > 3. What are the different effects of HIGH impact? - > 4. Are there any AVs impacting all samples? + > Column | Field | Meaning + > --- | --- | --- + > 1 | `POS` | Position of site with regard to the reference genome + > 2 | `REF` | Reference base + > 3 | `ALT` | Alternative base + > 4 | `IMPACT` | Functional impact (from SnpEff annotation) + > 5 | `FUNCLASS` | Funclass for change (from SnpEff annotation) + > 6 | `EFFECT` | Effect of change (from SnpEff annotation) + > 7 | `GENE` | Name of affected viral gene or ORF (from SnpEff annotation) + > 8 | `CODON` | Affected codon (from SnpEff annotation) + > 9 | `AA` | Amino acid change caused by the mutation (from SnpEff annotation) + > 10 |`TRID` | Name of the affected viral protein (as defined in the feature mapping dataset) + > 11 |`countunique(Sample)` | Number of distinct samples containing this change + > 12 |`min(AF)` | Minimum alternate allele frequency across all samples containing this mutation + > 13 |`max(AF)` | Maximum alternate allele frequency across all samples containing this mutation + > 14 |`SAMPLES(above-thresholds)` | List of samples, in which this mutation was identified and in which the call passed the *AF*, *DP* and *DP_ALT* filters defined for the workflow run + > 15 |`SAMPLES(all)` | List of all samples, in which this mutation was identified (including samples in which the call did not pass all filters) + > 16 |`AFs(all)` | List of allele frequencies at which the mutation was observed in the samples in SAMPLES(all) + > 17 |`change` | Nucleotide change at this site > - > > - > > - > > 1. By expanding the dataset in the history, we have the number of lines in the file. 184 lines for the example datasets. The first line is the header of the table. Then 183 AVs. - > > - > > 2. The different impacts of the AVs are HIGH, MODERATE and LOW. - > > - > > 2. To get the number of AVs for each impact levels, we can run {% tool [Group data](Grouping1) %} with the following parameters: - > > - {% icon param-file %} *"Select data"*: `Combined Variant Report by Variant` - > > - *"Group by column"*: `Column: 4` - > > - In *"Operation"*: - > > - In *"1: Operation"*: - > > - *"Type"*: `Count` - > > - *"On column"*: `Column: 1` - > > - > > With our example datasets, we find: - > > - 11 AVs with no predicted impact - > > - 52 LOW AVs - > > - 111 MODERATE AVs - > > - 9 HIGH AVs - > > - > > 3. We can filter the table to get only the AVs with HIGH impact by running {% tool [Filter data on any column using simple expressions](Filter1) %} with the following parameters: - > > - {% icon param-file %} *"Filter*": `Combined Variant Report by Variant` - > > - *"With following condition*": `c4=='HIGH'` - > > - *"Number of header lines to skip*": `1` - > > - > > The different effects for the 9 HIGH AVs are STOP_GAINED and FRAME_SHIFT. - > > - > > 4. We can filter the table to get the AVs for which `countunique(Sample)` is equal the number of samples (18 in our example dataset): {% tool [Filter data on any column using simple expressions](Filter1) %} with the following parameters: - > > - {% icon param-file %} *"Filter*": `Combined Variant Report by Variant` - > > - *"With following condition*": `c11==18` (to adapt to the number of sample) - > > - *"Number of header lines to skip*": `1` - > > - > > For our example datasets, 4 AVs are found in all samples - > {: .solution} - {: .question} + {: .details} 3. **Variant frequency plot** ![Variant frequency plot](../../images/sars-cov-2-variant-discovery/variant-frequency.svg) - This plot represents AFs (cell color) for the different AVs (columns) and the different samples (rows). The AVs are grouped by genes (different colors on the 1st row). Information about their effect is also represented on the 2nd row. The samples are clustered following the tree displayed on the left. + This plot represents the allele-frequencies (AFs, cell color) for the different mutations (columns) in the different samples (rows). Mutations are grouped by viral ORFs (different colors on the 1st row). Information about their impact on translation of viral proteins is color-coded on the second row. Sample clustering is indicated by the tree displayed on the left. - In the example datasets, the samples are clustered in 3 clusters (as we defined when running the workflow), that may represent different SARS-CoV-2 lineages as the AVs profiles are different. ## From mutations per sample to consensus sequences -For the variant calls, we can now run a workflow which generates reliable consensus sequences according to transparent criteria that capture at least some of the complexity of variant calling: +We can now run a last workflow which generates reliable consensus sequences according to transparent criteria that capture at least some of the complexity of variant calling: -- Each consensus sequence is guaranteed to capture all called, filter-passing variants as defined in the VCF of its sample that reach a user-defined consensus allele frequency threshold. -- Filter-failing variants and variants below a second user-defined minimal allele frequency threshold are ignored. -- Genomic positions of filter-passing variants with an allele frequency in between the two thresholds are hard-masked (with N) in the consensus sequence of their sample. -- Genomic positions with a coverage (calculated from the read alignments input) below another user-defined threshold are hard-masked, too, unless they are consensus variant sites. - -The workflow takes a collection of VCFs and a collection of the corresponding aligned reads (for the purpose of calculating genome-wide coverage) such as produced by the first workflow we ran. +- Each consensus sequence produced by the workflow is guaranteed to capture all called, filter-passing mutations as defined in the VCF of its sample that reach a user-defined consensus allele frequency threshold. +- Filter-failing mutations and mutations below a second user-defined minimal allele frequency threshold are ignored. +- Genomic positions of filter-passing mutations with an allele frequency in between the two thresholds are hard-masked (with N) in the consensus sequence of their sample. +- Genomic positions with a coverage (calculated from the aligned reads for the sample) below another user-defined threshold are hard-masked, too, unless they are sites of consensus alleles. > Import the consensus construction workflow into Galaxy > -> Just like workflows before, also the *consensus construction workflow* developed by the Galaxy Covid-19 project can be retrieved from *Dockstore* or *WorkflowHub*: +> Just like all workflows before, also the *consensus construction workflow* developed by the Galaxy Covid-19 project can be retrieved from *Dockstore* or *WorkflowHub*: > > {% snippet faqs/galaxy/workflows_import_search.md search_query='organization:"iwc" name:"sars-cov-2"' workflow_name="sars-cov-2-consensus-from-variation/COVID-19-CONSENSUS-CONSTRUCTION" box_type="none" %} > @@ -691,6 +652,8 @@ The workflow takes a collection of VCFs and a collection of the corresponding al > {: .hands-on} +The workflow takes the collection of called variants (one VCF dataset per input sample, same collection as used as input for the *reporting* workflow) and a collection of the corresponding aligned reads (for the purpose of calculating genome-wide coverage). Both collections have been generated by the *variation analysis* workflow. + > From mutations per sample to consensus sequences > > 1. Run the **COVID-19: consensus construction** {% icon workflow %} workflow with these parameters: @@ -748,7 +711,55 @@ The main outputs of the workflow are: - A collection of viral consensus sequences. - A multisample FASTA of all these sequences. -The last one can be used as input for tools like **Pangolin** or **Nextclade**. +The first one is useful for quickly getting at the consensus sequence for one particular sample, the last one can be used as input for tools like **Pangolin** or **Nextclade**. + +### Exploring consensus sequence quality + +Unfortunately, not all consensus sequences are equal in terms of quality. As explained above, questionable mutations and low coverage can lead to N-masking of individual nucleotides or whole stretches of bases in any sample's consensus genome. + +Since these Ns are hard to discover by just scrolling through a consensus sequence fasta dataset, it is a good idea to have their positions reported explicitly. + +> Reporting masked positions in consensus sequences +> +> 1. {% tool [Fasta regular expression finder](toolshed.g2.bx.psu.edu/repos/mbernt/fasta_regex_finder/fasta_regex_finder/0.1.0) %} with the following parameters: + - {% icon param-collection %} *"Input"*: `Consensus sequence with masking` collection produced by the last workflow run +> - *"Regular expression"*: `N+` +> +> This looks for stretches of one or more Ns. +> - In *"Specify advanced parameters"*: +> - *"Do not search the reverse complement"*: `Yes` +> +> We are only interested in the forward strand (and an N is an N on both strands anyway) so we can save some compute by turning on this option. +> - *"Maximum length of the match to report"*: `1` +> +> This causes stretches of Ns to be reported more concisely. +{: .hands_on} + +If you are following along with the suggested batch of input sequences, you can now correlate our previous observations with this newly produced collection. + +> Questions +> +> 1. We know from the quality report produced as part of the *variation analysis* workflow that samples **SRR17054505**, **SRR17054506**, **SRR17054508** and **SRR17054502** suffer from low coverage sequencing data. +> +> In how far is this reflected in the generated consensus sequences for these samples? +> 2. The variant frequency plot (generated as part of the *reporting* workflow) showed all four of these samples as outliers outside of the main cluster of samples. +> +> Since the plot does not show coverage at sites of mutations, it cannot be determined from the plot alone whether a mutation missing from particular samples did not get reported because the sample does not harbor it, or simply because there was insufficient coverage for detecting it. The report of consensus sequence N stretches, however, can help here. +> +> Are the four samples really lacking all those mutations that are characteristic for the main cluster of samples, or may they have just gone undetected due to insufficient coverage? +> +> > +> > +> > 1. The N-masking reports for these four samples reveal many more and larger stretches of Ns for the four problematic samples than for others. +> > +> > **SRR17054505**, in particular, has a consensus sequence consisting almost entirely of Ns with just rather few resolved nucleotides in between them. +> > 2. Most mutations that look like they are missing from the four samples based on the plot alone, turn out to simply be undeterminable as they also correspond to Ns (instead of to the reference allele in the corresponding consensus sequences. +> > +> > The clusters of missing S gene mutations in **SRR17054502** and **SRR17054506**, between 22,578 and 22713, and between 23403 and 24130, for example, fall entirely into N-masked, i.e. low-coverage regions, of these samples. +> > This means there is no objective basis for thinking that these samples represent a different viral lineage than those of the main cluster of samples. +> > +> {: .solution} +{: .question} ## From consensus sequences to lineage assignments @@ -756,9 +767,9 @@ To assign lineages to the different samples from their consensus sequences, two ### Lineage assignment with Pangolin -Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence the most likely lineage based on the PANGO nomenclature system. +Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence their most likely lineage based on the PANGO nomenclature system. -> From consensus sequences to clade assignations using Pangolin +> From consensus sequences to clade assignments using Pangolin > > 1. {% tool [Pangolin](toolshed.g2.bx.psu.edu/repos/iuc/pangolin/pangolin/4.2+galaxy0) %} with the following parameters: > - {% icon param-file %} *"Input FASTA File(s)"*: `Multisample consensus FASTA` @@ -767,43 +778,71 @@ Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used > 2. Inspect the generated output {: .hands_on} -Pangolin generates a table file with taxon name and lineage assigned. Each line corresponds to each sample in the input consensus FASTA file provided. The columns are: - -Column | Field | Meaning ---- | --- | --- -1 | `taxon` | The name of an input query sequence, here the sample name. -2 | `lineage` | The most likely lineage assigned to a given sequence based on the inference engine used and the SARS-CoV-2 diversity designated. This assignment may be is sensitive to missing data at key sites. [Lineage Description List](https://cov-lineages.org/lineage_description_list.html) -3 | `conflict` | In the pangoLEARN decision tree model, a given sequence gets assigned to the most likely category based on known diversity. If a sequence can fit into more than one category, the conflict score will be greater than 0 and reflect the number of categories the sequence could fit into. If the conflict score is 0, this means that within the current decision tree there is only one category that the sequence could be assigned to. -4 | `ambiguity_score` | This score is a function of the quantity of missing data in a sequence. It represents the proportion of relevant sites in a sequence which were imputed to the reference values. A score of 1 indicates that no sites were imputed, while a score of 0 indicates that more sites were imputed than were not imputed. This score only includes sites which are used by the decision tree to classify a sequence. -5 | `scorpio_call` | If a query is assigned a constellation by scorpio this call is output in this column. The full set of constellations searched by default can be found at the constellations repository. -6 | `scorpio_support` | The support score is the proportion of defining variants which have the alternative allele in the sequence. -7 | `scorpio_conflict` | The conflict score is the proportion of defining variants which have the reference allele in the sequence. Ambiguous/other non-ref/alt bases at each of the variant positions contribute only to the denominators of these scores. -8 | `version` | A version number that represents both the pango-designation number and the inference engine used to assign the lineage. -9 | `pangolin_version` | The version of pangolin software running. -10 | `pangoLEARN_version` | The dated version of the pangoLEARN model installed. -11 | `pango_version` | The version of pango-designation lineages that this assignment is based on. -12 | `status` | Indicates whether the sequence passed the QC thresholds for minimum length and maximum N content. -13 | `note` | If any conflicts from the decision tree, this field will output the alternative assignments. If the sequence failed QC this field will describe why. If the sequence met the SNP thresholds for scorpio to call a constellation, it’ll describe the exact SNP counts of Alt, Ref and Amb (Alternative, Reference and Ambiguous) alleles for that call. +Pangolin generates tabular output, in which each line corresponds to one sample found in the input consensus FASTA file. The output columns are explained in the Galaxy tool's help section and [here](https://cov-lineages.org/resources/pangolin/output.html). + +With a larger number of samples we might actually want to create an observed lineage summary report. Lets see if you can generate such a report: > +> +> Can you configure the tool {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a three-column lineage summary from the pangolin output, in which each line lists one of the assigned lineages (from column 2 of the pangolin output) on the first column, how many samples had that lineage assigned on the second column, and the comma-separated identifiers of these samples (from column 1 of the pangolin output) on the third column? +> +> > +> > +> > Configure {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} like this: +> > - {% icon param-file %} *"Input tabular dataset"*: the output of pangolin +> > - *"Group by fields"*: 2 +> > +> > We want to group by pangolin lineages. +> > - *"Sort input"*: `Yes` +> > +> > Grouping only works as expected if the data is sorted by the values to group on, which isn't the case in the original pangolin output. +> > - *"Input file has a header line"*: `Yes` +> > - *"Print header line"*: `Yes` +> > - In *"Operation to perform on each group"* +> > - In {% icon param-repeat %} *"1. Operation to perform on each group"* +> > - *"Type"*: `count` +> > - *"On column"*: `Column: 1` +> > - {% icon param-repeat %} *"Insert Operation to perform on each group"* +> > - *"Type"*: `Combine all values` +> > - *"On column"*: `Column: 1` +> {: .solution} +{: .question} + +If you are following along with the suggested batch of data, here are some additional questions for you: + +> Questions > -> How many different lineages have been found? How many samples for each lineage? +> 1. Pangolin assigned most samples to one particular SARS-CoV-2 lineage and sub-lineages thereof. +> What is that lineage? +> +> 2. Which three samples did not get assigned to that lineage? > +> 3. Can you explain the results for these three samples? +> +> > > > > -> > To summarize the number of lineages and number of samples for each lineage, we can run {% tool [Group data](Grouping1) %} with the following parameters: -> > - {% icon param-file %} *"Select data"*: output of **pangolin** -> > - *"Group by column"*: `Column: 2` -> > - In *"Operation"*: -> > - In *"1: Operation"*: -> > - *"Type"*: `Count` -> > - *"On column"*: `Column: 1` -> > -> > For our example datasets, we obtain then: -> > - 13 samples B.1.1.7 / Alpha (B.1.1.7-like) -> > - 3 samples B.1.617.2 / Delta (B.1.617.2-like) -> > - 1 sample B.1.525 -> > - 1 sample P.1 +> > 1. The lineage summary we have generated makes this easy to answer: +> > +> > All samples except three got classified as BA.1 or sublineages thereof. BA.1 is the Omicron lineage that was dominant in South Africa when that new variant of concern was first discovered. +> > 2. Again, this is straightforward to answer from the lineage summary: +> > +> > The three samples are **SRR17051933** (which got assigned to lineage B.1), and **SRR17054505** and **SRR17054508** (both of which pangolin left unassigned). +> > 3. We have encountered **SRR17054505** and **SRR17054508** previously as samples with low sequencing coverage. +> > +> > When we ran pangolin, we used the default value for *"Maximum proportion of Ns allowed"* of `0.3`. +> > If you look up the two samples in the original output of pangolin and scroll to the right, you should see that they have a `fail` in the **qc_status** column and the **qc_notes** column explains that they had fractions of *Ambiguous content* (i.e. Ns) of 0.95 and 0.66, respectively. +> > In other words, pangolin refused (and rightly so) to perform lineage assignment for these two samples based on the very limited sequencing information available. +> > +> > **SRR17051933**, on the other hand, has passed pangolin's quality control with very low *Ambiguous content* so we might tend to believe the assignment. +> > However, if you re-inspect the variant-frequency plot generated by the reporting workflow, you will find that this sample was the outlier sample that had more or less the same mutations called as the other samples in the batch, but nearly all of them at rather low allele-frequencies. +> > In fact, the only seemingly fixed mutations (with allele-frequencies close to one) are ancestral mutations that have been present in SARS-CoV-2 isolates since the Spring of 2020. +> > Since only these mutations made it into the consensus sequence for that sample, pnagolin has based the assignment only on them and has infered the ancestral lineage B.1 as a result. +> > +> > Whether or not this is the correct assignment for this sample is hard to tell without additional information. +> > Several possibilities exist: +> > - the sample could indeed be from a pre-Omicron lineage and might have been cross-contaminated during its preparation for sequencing with DNA from one of the other samples processed together with it. +> > - the sample might have been taken from a patient who was infected with Omicron and a pre-Omicron lineage simultaneously. > > > {: .solution} {: .question} @@ -812,7 +851,7 @@ Column | Field | Meaning Nextclade assigns clades, calls mutations and performs sequence quality checks on SARS-CoV-2 genomes. -> From consensus sequences to clade assignations using Nextclade +> From consensus sequences to clade assignments using Nextclade > > 1. {% tool [Nextclade](toolshed.g2.bx.psu.edu/repos/iuc/nextclade/nextclade/2.7.0+galaxy0) %} with the following parameters: > - {% icon param-file %} *"FASTA file with input sequences"*: `Multisample consensus FASTA` @@ -823,107 +862,82 @@ Nextclade assigns clades, calls mutations and performs sequence quality checks o > 2. Inspect the generated output {: .hands_on} -Column | Field | Meaning ---- | --- | --- -1 | `seqName` | Name of the sequence in the source data, here the sample name -2 | `clade` | The result of the clade assignment of a sequence, as defined by Nextstrain. Currently known clades are depicted in the schema below -3 | `qc.overallScore` | Overall QC score -4 | `qc.overallStatus` | Overall QC status -5 | `totalGaps` | Number of - characters (gaps) -6 | `totalInsertions` | Total length of insertions -7 | `totalMissing` | Number of N characters (missing data) -8 | `totalMutations` | Number of mutations. Mutations are called relative to the reference sequence Wuhan-Hu-1 -9 | `totalNonACGTNs` | Number of non-ACGTN characters -10 | `totalPcrPrimerChanges` | Total number of mutations affecting user-specified PCR primer binding sites -11 | `substitutions` | List of mutations -12 | `deletions` | List of deletions (positions are 1-based) -13 | `insertions` | Insertions relative to the reference Wuhan-Hu-1 (positions are 1-based) -14 | `missing` | Intervals consisting of N characters -15 | `nonACGTNs` | List of positions of non-ACGTN characters (for example ambiguous nucleotide codes) -16 | `pcrPrimerChanges` | Number of user-specified PCR primer binding sites affected by mutations -17 | `aaSubstitutions` | List of aminoacid changes -18 | `totalAminoacidSubstitutions` | Number of aminoacid changes -19 | `aaDeletions` | List of aminoacid deletions -20 | `totalAminoacidDeletions` | Number of aminoacid deletions -21 | `alignmentEnd` | Position of end of alignment -22 | `alignmentScore` | Alignment score -23 | `alignmentStart` | Position of beginning of alignment -24 | `qc.missingData.missingDataThreshold` | Threshold for flagging sequences based on number of sites with Ns -25 | `qc.missingData.score` | Score for missing data -26 | `qc.missingData.status` | Status on missing data -27 | `qc.missingData.totalMissing` | Number of sites with Ns -28 | `qc.mixedSites.mixedSitesThreshold` | Threshold for flagging sequences based on number of mutations relative to the reference sequence -29 | `qc.mixedSites.score` | Score for high divergence -30 | `qc.mixedSites.status` | Status for high divergence -31 | `qc.mixedSites.totalMixedSites` | Number of sites with mutations -32 | `qc.privateMutations.cutoff` | Threshold for the number of non-ACGTN characters for flagging sequences -33 | `qc.privateMutations.excess` | Number of ambiguous nucleotides above the threshold -34 | `qc.privateMutations.score` | Score for ambiguous nucleotides -35 | `qc.privateMutations.status` | Status for ambiguous nucleotides -36 | `qc.privateMutations.total` | Number of ambiguous nucleotides -37 | `qc.snpClusters.clusteredSNPs` | Clusters with 6 or more differences in 100 bases -38 | `qc.snpClusters.score` | Score for clustered differences -39 | `qc.snpClusters.status` | Status for clustered differences -40 | `qc.snpClusters.totalSNPs` | Number of differences in clusters -41 | `errors` | Other errors (e.g. sequences in which some of the major genes fail to translate because of frame shifting insertions or deletions) +Nextclade assigns lineages using an algorithm that differs from the one used by pangolin, and it uses a different "native" nomenclature system. A nice feature of Nextclade, however, is that it can translate between its own clade system, PANGO lineage names and the more coarse-grained WHO classification system. + +The details of and the rationale behind Nextclade "clade" assignment are explained in this [chapter of the Nextclade documentation](https://docs.nextstrain.org/projects/nextclade/en/stable/user/algorithm/06-clade-assignment.html#clade-assignment). + +The relationships between the clades (the ones known about in the Spring of 2023) and their correspondence to pangolin lineages are shown in Figure 2. + +![Illustration of phylogenetic relationship of clades, as used in Nextclade](../../images/sars-cov-2-variant-discovery/ncov_clades.svg "Illustration of phylogenetic relationship of clades, as used in Nextclade (Source: Nextstrain)") + +Let's use **Datamash** again to obtain a lineage summary report from the Nextclade results comparable to the one we created for pangolin, but including the additional lineage/clade identifiers available with Nextclade. > -> -> How many different lineages have been found? How many samples for each lineage? > -> ![Illustration of phylogenetic relationship of clades, as used in Nextclade](../../images/sars-cov-2-variant-discovery/clades.svg "Illustration of phylogenetic relationship of clades, as used in Nextclade (Source: Nextstrain)") +> Can you configure the {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a report summarizing the Nextclade results by `Nextclade_pango` (column 3 of Nextclade's output; for direct comparison to the pangolin results summary)? +> This report should include the corresponding info from the `clade` column (column 2, which is Nextclade's native classification system) and from the `clade_who` (column 6), together with the sample counts and identifiers as previously calculated from pangolin's output. > > > > > -> > To summarize the number of lineages and number of samples for each lineage, we can run {% tool [Group data](Grouping1) %} with the following parameters: -> > - {% icon param-file %} *"Select data"*: output of **Nextclade** -> > - *"Group by column"*: `Column: 2` -> > - In *"Operation"*: -> > - In *"1: Operation"*: -> > - *"Type"*: `Count` -> > - *"On column"*: `Column: 1` -> > -> > For our example datasets, we obtain then: -> > - 10 samples 20I (Alpha, V1) -> > - 4 samples 20B (ancestor of 20I) -> > - 3 samples 21A (Delta) -> > - 1 sample 21D (Eta) +> > Configure {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} like this: +> > - {% icon param-file %} *"Input tabular dataset"*: the output of Nextclade +> > - *"Group by fields"*: 3,2,6 > > +> > We want to group by pangolin lineages. By including columns 2 and 6 we make sure the columns from these values are kept in the summary report (and that additional groups would be formed if any samples with identical assigned pangolin lineage should have different Nextclade or WHO assignments, which, of course, shouldn't be the case). +> > - *"Sort input"*: `Yes` +> > - *"Input file has a header line"*: `Yes` +> > - *"Print header line"*: `Yes` +> > - In *"Operation to perform on each group"* +> > - In {% icon param-repeat %} *"1. Operation to perform on each group"* +> > - *"Type"*: `count` +> > - *"On column"*: `Column: 1` +> > - {% icon param-repeat %} *"Insert Operation to perform on each group"* +> > - *"Type"*: `Combine all values` +> > - *"On column"*: `Column: 1` > {: .solution} {: .question} -### Comparison between Pangolin and Nextclade assignments +Now you can compare the two summary reports (the one based on pangolin and the one based on Nextclade). -We can compare **Pangolin** and **Nextclade** clade assignments by extracting interesting columns and joining them into a single dataset using sample ids. +Tip: Galaxy's {% icon galaxy-scratchbook %} Window Manager, which you can enable (and disable again) from the menu bar can be very helpful for side-by-side comparisons like this one. -> Comparison clade assignations -> -> 1. {% tool [Cut columns from a table](Cut1) %} with the following parameters: -> - *"Cut columns"*: `c1,c2` -> - *"Delimited by"*: `Tab` -> - {% icon param-file %} *"From"*: output of **Nextclade** -> -> 2. {% tool [Cut columns from a table](Cut1) %} with the following parameters: -> - *"Cut columns"*: `c1,c2,c5` -> - *"Delimited by"*: `Tab` -> - {% icon param-file %} *"From"*: output of **Pangolin** -> -> 3. {% tool [Join two Datasets](join1) %} -> - {% icon param-file %} *"Join*": output of first **cut** -> - *"using column"*: `Column: 1` -> - {% icon param-file %} *"with*": output of second **cut** -> - *"and column"*: `Column: 1` +You should hopefully observe good (though not necessarily perfect) agreement between the reports. +If you are following along with the suggested batch of data, here's a question about the detailed differences. + +> +> +> Which samples have been assigned differently by pangolin and Nextclade, and why? > -> 4. Inspect the generated output -{: .hands_on} +> > +> > +> > **SRR17054508**, one of the two samples left unassigned by pangolin is assigned to BA.1 by Nextclade. +> > +> > **SRR17054505**, the second sample left unassigned by pangolin is assigned to the recombinant lineage XAA by Nextclade. +> > Discovering a recombinant lineage (with two different Omicron parents) this early during the emergence of Omicron would, of course, be a spectacular find, if it was real. However, we already know from the discussion of coverage and pangolin results for this sample that this assignment cannot make sense. +> > +> > Nextclade simply doesn't have pangolin's concept of leaving samples unassigned, and this is why it produced (highly unreliable) assignments for both **SRR17054508** and **SRR17054505**. +> > However, if you inspect the original output of Nextclade, you'll see that the tool classified both samples as `bad` in terms of their **qc.overallStatus**. +> > We could, thus, have used this column to filter out unreliable assignments to avoid the risk of overinterpreting the data. +> > +> {: .solution} +{: .question} + + +# Conclusion and outlook + +## What we have covered + +In this tutorial, we used a collection of Galaxy workflows for the detection and interpretation of SARS-CoV-2 sequence variants. -We can see that **Pangolin** and **Nextclade** are globally coherent despite differences in lineage nomenclature. +The workflows can be freely used and are immediately accessible through global Galaxy instances. +Combined, they enable rapid, reproducible, high-quality and flexible analysis of a range of different input data. -# Conclusion +The combined analysis flow is compatible with a high-throughput of samples, but still allows for detailed dives into effects seen in only particular samples, and enables qualified users to draw valid conclusions about individual samples and whole batches of data at the same time. -In this tutorial, we used a collection of Galaxy workflows for the detection and interpretation of sequence variants in SARS-CoV-2. +## Further automation -The workflows can be freely used and immediately accessed from the three global Galaxy instances. Each is capable of supporting thousands of users running hundreds of thousands of analyses per month. +If at this point you are convinced of the quality of the analysis, but you are thinking that manually triggering those sequential workflow runs through the Galaxy user interface is still a lot of work when scaling to many batches of sequencing data, you may want to start learning about leveraging Galaxy's API to automate and orchestrate workflow executions. +The GTN material has [a dedicated tutorial]({% link topics/galaxy-interface/tutorials/workflow-automation/tutorial.md %}) that explains triggering workflow runs from the command line via the API. -It is also possible to automate the workflow runs using the command line as explained in [a dedicated tutorial]({% link topics/galaxy-interface/tutorials/workflow-automation/tutorial.md %}). +The workflows presented here and API-based orchestration scripts are also among the main building blocks used by the Galaxy Covid-19 project to build a truly high-throughput, automated and reusable SARS-CoV-2 genome surveillance system, which has been used to analyze several hundreds of thousands of public SARS-CoV-2 sequencing datasets over the course of the pandemic and about which you can learn more on the corresponding [Infectious Diseases Toolkit page](https://www.infectious-diseases-toolkit.org/showcase/covid19-galaxy). From 08d2accda9c648afd9f29233e3c8fddd8a0cfead Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Fri, 12 May 2023 14:11:27 +0200 Subject: [PATCH 12/18] Clean up and polish --- .../sars-cov-2-variant-discovery/tutorial.md | 168 ++++++++++-------- 1 file changed, 95 insertions(+), 73 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 728c416115e84..e446cf431d41e 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -37,6 +37,7 @@ contributors: tags: - covid19 - virology +- one-health --- @@ -57,7 +58,7 @@ For versatile and efficient genome surveillance, however, you would want to: - use sample mutation patterns to construct sanple consensus genomes -- use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems (Nextstrain and pango) +- use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems (Nextstrain and PANGO) - decrease hands-on time and data manipulation errors by combining analysis steps into workflows for automated execution @@ -90,20 +91,24 @@ In this tutorial you will learn to > {: .agenda} + # Prepare Galaxy and data The suggested input for this tutorial is a special batch of data that is of particular interest as it represents a turning point in the COVID-19 pandemic. It is a subset (16 samples) of the first sequencing data reported from South Africa at the end of November 2021 for the then novel, fast-spreading SARS-CoV-2 variant that would later be named Omicron. This data has been Illumina paired-end sequenced after amplification with the ARTIC v4 set of tiled-amplicon primers. -Alternatively, you can also follow this tutorial using your own SARS-CoV-2 sequencing data (you need at least two samples) as long as it is of one of the following types: - -- Single-end data derived from Illumina-based whole-genome sequencing experiments -- Paired-end data derived from Illumina-based whole-genome sequencing experiments -- Paired-end data generated with Illumina-based tiled-amplicon (e.g. ARTIC) protocols -- ONT FASTQ files generated with Oxford nanopore (ONT)-based tiled-amplicon (e.g. ARTIC) protocols - -If you are using your own *tiled-amplicon* data, you are also expected to know the primer scheme used at the amplification step. +> Bringing your own data +> Alternatively, you can also follow this tutorial using your own SARS-CoV-2 sequencing data (you need at least two samples) as long as it is of one of the following types: +> +> - Single-end data derived from Illumina-based whole-genome sequencing experiments +> - Paired-end data derived from Illumina-based whole-genome sequencing experiments +> - Paired-end data generated with Illumina-based tiled-amplicon (e.g. ARTIC) protocols +> - ONT FASTQ files generated with Oxford nanopore (ONT)-based tiled-amplicon (e.g. ARTIC) protocols +> +> {% icon warning %} If you are using your own *tiled-amplicon* data, you are also expected to know the primer scheme used at the amplification step. +> +{: .comment} ## Prepare a new Galaxy history @@ -123,23 +128,35 @@ Any analysis should get its own Galaxy history. So let's start by creating a new ## Get sequencing data -If you are going to use your own sequencing data, there are several possibilities to upload the data depending on how many datasets you have and what their origin is: - -- You can import data - - - from your local file system, - - from a given URL or - - from a shared data library on the Galaxy server you are working on - - In all of these cases you will also have to organize the imported data into a dataset collection. - -- Alternatively, if your data is available from the [NCBI's Sequence Read Archive (SRA)](https://www.ncbi.nlm.nih.gov/sra), you can import it with the help of a dedicated tool, which will organize the data into collections for you. - - > Getting data from SRA - > - > The simpler [SARS-CoV-2 sequencing data analysis tutorial]({% link topics/variant-analysis/tutorials/sars-cov-2/tutorial.md %}) uses and explains this alternative way of importing. - > - {: .comment} +> Importing your own data +> If you are going to use your own sequencing data, there are several possibilities to upload the data depending on how many datasets you have and what their origin is: +> +> - You can import data +> +> - from your local file system, +> - from a given URL or +> - from a shared data library on the Galaxy server you are working on +> +> In all of these cases you will also have to organize the imported data into a dataset collection like explained in detail for the suggested example data. +> +> > Data logistics +> > +> > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. +> > If you are struggling with getting your own data set up like shown for the example data in this section, please: +> > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy/#data%20upload %}) and on [collections]({% link faqs/galaxy/#collections %}) +> > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. +> > +> {: .details} +> +> - Alternatively, if your data is available from [NCBI's Sequence Read Archive (SRA)](https://www.ncbi.nlm.nih.gov/sra), you can import it with the help of a dedicated tool, which will organize the data into collections for you. +> +> > Getting data from SRA +> > +> > The simpler [SARS-CoV-2 sequencing data analysis tutorial]({% link topics/variant-analysis/tutorials/sars-cov-2/tutorial.md %}) uses and explains this alternative way of importing. +> > +> {: .details} +{: .comment} For the suggested batch of early Omicron data we suggest downloading it via URLs from the [European Nucleotide Archive (ENA)](https://www.ebi.ac.uk/ena/browser/home). In case your Galaxy server offers that same data through a shared data library, this represents a faster (data is already on the server) alternative, so we offer instructions for this scenario as well. @@ -291,7 +308,7 @@ Another two datasets are needed only for the analysis of ampliconic, e.g. ARTIC- > > If you have decided to analyze your own tiled-amplicon sequencing data in this tutorial, and if your samples have been amplified with a **different** set of primers, you are supposed, at the following step, to upload a primer scheme file and corresponding amplicon information that describes this set of primers. > -> The Galaxy Project maintains a collection of such files for some commonly used sets of primers at [Zenodo](https://doi.org/10.5281/zenodo.4555734). +> The Galaxy Project maintains a [collection of such files for some commonly used sets of primers](https://doi.org/10.5281/zenodo.4555734). > If the files describing your set of primers are part of this collection, you can simply upload them using their Zenodo download URLs (analogous to what is shown for the ARTIC v4 primers below). > > For sets of primers *not* included in the collection, you will have to create those files yourself (or obtain them from other sources). @@ -331,13 +348,13 @@ At this point you should have the following items in your history: If you are going to analyze the suggested batch of Omicron data, the list should have 16 elements. - - Each of the list elements should itself be a paired collection of a *forward* and a *reverse* reads dataset, each in *fastqsanger.gz* format. + - For paired-end sequenced data, like the suggested batch, each of the list elements should itself be a paired collection of a *forward* and a *reverse* reads dataset, each in *fastqsanger.gz* format. 2. The SARS-CoV-2 reference as a single *fasta* dataset 3. The SARS-CoV-2 feature mappings as a single *tabular* dataset 4. Only required if you are analyzing *tiled-amplicon* data (which is the case for the suggested batch): - a primer scheme as a single *bed* or *bed6* dataset - - amplicon information as a single *tabular* dataset + - amplicon information as a single *tabular* dataset (*not* required for ONT data) If any of these items are still missing, head back to the corresponding section(s) and upload them now. @@ -347,24 +364,26 @@ If any of these items have not been assigned the correct format (expand the view If everything looks fine, you are ready to start the actual data analysis. + # Analysis -> The workflows default to requiring an AF ≥ 0.05 and AV-supporting reads of ≥ 10 (these and all other parameters can be easily changed by the user). For an AV to be listed in the reports, it must surpass these thresholds in at least one sample of the respective dataset. We estimate that for AV calls with an AF ≥ 0.05, our analyses have a false-positive rate of < 15% for both Illumina RNAseq and Illumina ARTIC data, while the true-positive rate of calling such low-frequency AVs is ~80% and approaches 100% for AVs with an AF ≥ 0.15. This estimate is based on an initial application of the Illumina RNAseq and Illumina ARTIC workflows to two samples for which data of both types had been obtained at the virology department of the University of Freiburg and the assumption that AVs supported by both sets of sequencing data are true AVs. The second threshold of 10 AV-supporting reads is applied to ensure that calculated AFs are sufficiently precise for all AVs. -> -> More details about the workflows can be found on the [Covid-19 project pages](https://galaxyproject.org/projects/covid19/workflows/) of the [Galaxy Community Hub](https://galaxyproject.org/) +As shown in figure 1, the analysis will consist mainly of running three workflows - one for calling the mutations for each input sample, one for reporting the findings and one for generating sample consensus sequences based on the identified mutations. + +You will also run a handful of individual tools, in particular for generating and exploring lineage assignments for the input samples. + +Along the way you will interpret key outputs of each used workflow and tool to get a complete picture of what can be learnt about the genomes of the input samples. ## From sequencing data to annotated mutations per sample -To identify the SARS-CoV-2 allelic variants (AVs), a first workflow converts the FASTQ files to annotated AVs through a series of steps that include quality control, trimming, mapping, deduplication, AV calling, and filtering. +To identify mutations from sequencing data, the first workflow performs steps including -Four versions of this workflow are available with their tools and parameters optimized for different types of input data as outlined in the following table: +- sequencing data quality control with filtering and trimming of low-quality reads +- mapping +- filtering and further processing of mapped reads (including primer-trimming in case of tiled-amplicon data) +- calling of mutations +- annotation of identified mutations with their effects on open-reading frames (ORFs) and proteins -Workflow version | Input data | Read aligner | Variant caller ---- | --- | --- | --- -Illumina RNAseq SE | Single-end data derived from RNAseq experiments | **bowtie2** {% cite langmead_2012 %} | **lofreq** {% cite wilm_2012 %} -Illumina RNAseq PE | Paired-end data derived from RNAseq experiments | **bwa-mem** {% cite li_2010 %} | **lofreq** {% cite wilm_2012 %} -Illumina ARTIC | Paired-end data generated with Illumina-based Ampliconic (ARTIC) protocols | **bwa-mem** {% cite li_2010 %} | **lofreq** {% cite wilm_2012 %} -ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconic (ARTIC) protocols | **minimap2** {% cite li_2018 %} | **medaka** +Four flavors of this workflow are available that are optimized for different types of input data so your first task is to obtain the correct workflow for your type of input data. > Import the workflow for your data into Galaxy > @@ -403,11 +422,12 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > About the workflows > -> - The two Illumina RNASeq workflows (Illumina RNAseq SE and Illumina RNAseq PE) perform read mapping with **bwa-mem** and **bowtie2**, respectively, followed by sensitive allelic-variant (AV) calling across a wide range of AFs with **lofreq**. -> - The workflow for Illumina-based ARTIC data (Illumina ARTIC) builds on the RNASeq workflow for paired-end data using the same steps for mapping (**bwa-mem**) and AV calling (**lofreq**), but adds extra logic operators for trimming ARTIC primer sequences off reads with the **ivar** package. In addition, this workflow uses **ivar** also to identify amplicons affected by ARTIC primer-binding site mutations and excludes reads derived from such “tainted” amplicons when calculating alternative allele frequences (AFs) of other AVs. -> - The workflow for ONT-sequenced ARTIC data (ONT ARTIC) is modeled after the alignment/AV-calling steps of the [ARTIC pipeline](https://artic.readthedocs.io/). It performs, essentially, the same steps as that pipeline’s minion command, i.e. read mapping with **minimap2** and AV calling with **medaka**. Like the Illumina ARTIC workflow it uses **ivar** for primer trimming. Since ONT-sequenced reads have a much higher error rate than Illumina-sequenced reads and are therefore plagued more by false-positive AV calls, this workflow makes no attempt to handle amplicons affected by potential primer-binding site mutations. +> Differences between the four different *variation analysis* workflow flavors are as follows: +> - All workflows for analysis of Illumina data use a core analysis flow through **bwa-mem** (or **bowtie2** for single-end data) as the read mapper and **lofreq** as a sensitive variant caller (which is capable of identifying also non-majority variant alleles), while the workflow for analysis of ONT data uses **minimap2** and **medaka** for read mapping and variant calling, respectively. +> - Workflows for analysis of tiled-amplicon data differ from WGS data analysis ones in that they do not perform mapped reads deduplication (because apparent duplicates are a side-effect of sequencing defined amplicons instead of random genome fragments). +> In addition, the tiled-amplicon data analysis workflows handle primer trimming and amplicon-based filtering through the **ivar** suite of tools and additional processing logic. > -> All four workflows use **SnpEff**, specifically its 4.5covid19 version, for AV annotation. +> All four workflows use **fastp** for quality control, raw reads filtering and trimming, and **SnpEff**, specifically its 4.5covid19 version, for annotation of mutation effects. > {: .details} @@ -424,9 +444,9 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > - {% icon param-file %} *"ARTIC primer BED"*: the uploaded primer scheme in **bed** format > - {% icon param-file %} *"ARTIC primers to amplicon assignments"*: the uploaded amplicon info in **tabular** format > -> A common mistake here is to mix up the previous two datasets: the *primer BED* dataset is the one with the positions of the primer binding sites listed in it. The *amplicon assignments* dataset contains only (grouped) names of primers. +> A common mistake here is to mix up the last two datasets: the *primer BED* dataset is the one with the positions of the primer binding sites listed in it. The *amplicon assignments* dataset contains only (grouped) names of primers. > -> The additional workflow parameters *"Read removal minimum AF"*, *"Read removal maximum AF"*, *"Minimum DP required after amplicon bias correction"* and *"Minimum DP_ALT required after amplicon bias correction"* can all be left at their default values. +> The additional workflow parameters *"Read removal minimum AF"*, *"Read removal maximum AF"*, *"Minimum DP required after amplicon bias correction"* and *"Minimum DP_ALT required after amplicon bias correction"* can all be left at their default values. The tiled-amplicon Illumina workflow goes to great lengths in order to calculate accurate allele-frequencies even in cases of viral mutations that affect the binding of some of the tiled-amplicon primers. The four settings above are for fine-tuning this behavior, but their defaults have been carefully chosen and you should modify them only if you know exactly what you are doing. >
>
> @@ -467,7 +487,7 @@ ONT ARTIC | ONT FASTQ files generated with Oxford nanopore (ONT)-based Ampliconi > > This is very useful if you are planning to analyze the data in your current history in multiple different ways, and you would like to have each analysis end up in its own dedicated history. > > Here, however, we only want to do one analysis of our batch of data so we are fine with results of the workflow run getting added to the current history. > {: .tip} -> +> {: .hands_on} Scheduling of the workflow will take a while. One of the last datasets that will be added to your history will be called **Preprocessing and mapping reports**. It is the first overview report that you will obtain in this tutorial, and the only one produced by the variation analysis workflow. @@ -495,9 +515,7 @@ If you are following along with the suggested batch of samples, we also have pre ## From mutations per sample to reports and visualizations -The main output of the first workflow, of course, is the collection with mutation calls per sample. This collection will serve as input to the "Reporting workflow". - -This workflow takes the collection of called (with lofreq) and annotated (with SnpEff) variants (one VCF dataset per input sample) that got generated as one of the outputs of any of the four variation analysis workflows above, and generates two tabular reports and an overview plot summarizing all the variant information for your batch of samples. +The main output of the first workflow is a collection with annotated mutation calls per sample. This collection will serve as input to the *reporting* workflow. > Import the variant analysis reporting workflow into Galaxy > @@ -557,7 +575,7 @@ This workflow takes the collection of called (with lofreq) and annotated (with S > > The variant frequency plot generated by the workflow will separate the samples into this number of clusters. > -> The remaining workflow parameters: *"AF Filter"*, *"DP Filter"*, and *"DP_ALT_FILTER"* can all be left at their default values. +> The remaining workflow parameters *"AF Filter"*, *"DP Filter"*, and *"DP_ALT_FILTER"* define criteria for reporting mutations as reliable. They can all be left at their default values. > {: .hands_on} @@ -609,16 +627,16 @@ The three key results datasets produced by the Reporting workflow are: > 1 | `POS` | Position of site with regard to the reference genome > 2 | `REF` | Reference base > 3 | `ALT` | Alternative base - > 4 | `IMPACT` | Functional impact (from SnpEff annotation) + > 4 | `IMPACT` | Functional impact (from SnpEff annotation) > 5 | `FUNCLASS` | Funclass for change (from SnpEff annotation) > 6 | `EFFECT` | Effect of change (from SnpEff annotation) > 7 | `GENE` | Name of affected viral gene or ORF (from SnpEff annotation) > 8 | `CODON` | Affected codon (from SnpEff annotation) > 9 | `AA` | Amino acid change caused by the mutation (from SnpEff annotation) > 10 |`TRID` | Name of the affected viral protein (as defined in the feature mapping dataset) - > 11 |`countunique(Sample)` | Number of distinct samples containing this change + > 11 |`countunique(Sample)` | Number of distinct samples containing this change > 12 |`min(AF)` | Minimum alternate allele frequency across all samples containing this mutation - > 13 |`max(AF)` | Maximum alternate allele frequency across all samples containing this mutation + > 13 |`max(AF)` | Maximum alternate allele frequency across all samples containing this mutation > 14 |`SAMPLES(above-thresholds)` | List of samples, in which this mutation was identified and in which the call passed the *AF*, *DP* and *DP_ALT* filters defined for the workflow run > 15 |`SAMPLES(all)` | List of all samples, in which this mutation was identified (including samples in which the call did not pass all filters) > 16 |`AFs(all)` | List of allele frequencies at which the mutation was observed in the samples in SAMPLES(all) @@ -722,24 +740,25 @@ Since these Ns are hard to discover by just scrolling through a consensus sequen > Reporting masked positions in consensus sequences > > 1. {% tool [Fasta regular expression finder](toolshed.g2.bx.psu.edu/repos/mbernt/fasta_regex_finder/fasta_regex_finder/0.1.0) %} with the following parameters: - - {% icon param-collection %} *"Input"*: `Consensus sequence with masking` collection produced by the last workflow run -> - *"Regular expression"*: `N+` +> - {% icon param-collection %} *"Input"*: `Consensus sequence with masking` collection produced by the last workflow run +> - *"Regular expression"*: `N+` > -> This looks for stretches of one or more Ns. -> - In *"Specify advanced parameters"*: -> - *"Do not search the reverse complement"*: `Yes` +> This looks for stretches of one or more Ns. +> - In *"Specify advanced parameters"*: +> - *"Do not search the reverse complement"*: `Yes` > -> We are only interested in the forward strand (and an N is an N on both strands anyway) so we can save some compute by turning on this option. -> - *"Maximum length of the match to report"*: `1` +> We are only interested in the forward strand (and an N is an N on both strands anyway) so we can save some compute by turning on this option. +> - *"Maximum length of the match to report"*: `1` +> +> This causes stretches of Ns to be reported more concisely. > -> This causes stretches of Ns to be reported more concisely. {: .hands_on} If you are following along with the suggested batch of input sequences, you can now correlate our previous observations with this newly produced collection. > Questions > -> 1. We know from the quality report produced as part of the *variation analysis* workflow that samples **SRR17054505**, **SRR17054506**, **SRR17054508** and **SRR17054502** suffer from low coverage sequencing data. +> 1. We know from the quality report produced as part of the *variation analysis* workflow that samples **SRR17054505**, **SRR17054506**, **SRR17054508** and **SRR17054502** suffer from low-coverage sequencing data. > > In how far is this reflected in the generated consensus sequences for these samples? > 2. The variant frequency plot (generated as part of the *reporting* workflow) showed all four of these samples as outliers outside of the main cluster of samples. @@ -755,7 +774,7 @@ If you are following along with the suggested batch of input sequences, you can > > **SRR17054505**, in particular, has a consensus sequence consisting almost entirely of Ns with just rather few resolved nucleotides in between them. > > 2. Most mutations that look like they are missing from the four samples based on the plot alone, turn out to simply be undeterminable as they also correspond to Ns (instead of to the reference allele in the corresponding consensus sequences. > > -> > The clusters of missing S gene mutations in **SRR17054502** and **SRR17054506**, between 22,578 and 22713, and between 23403 and 24130, for example, fall entirely into N-masked, i.e. low-coverage regions, of these samples. +> > The clusters of missing S gene mutations in **SRR17054502** and **SRR17054506**, visible in the plot between 22,578 and 22713, and between 23403 and 24130, for example, fall entirely into N-masked, i.e. low-coverage regions, of these samples. > > This means there is no objective basis for thinking that these samples represent a different viral lineage than those of the main cluster of samples. > > > {: .solution} @@ -767,7 +786,7 @@ To assign lineages to the different samples from their consensus sequences, two ### Lineage assignment with Pangolin -Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence their most likely lineage based on the PANGO nomenclature system. +Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used to assign a SARS-CoV-2 genome sequence to its most likely lineage from the PANGO nomenclature system. > From consensus sequences to clade assignments using Pangolin > @@ -784,7 +803,10 @@ With a larger number of samples we might actually want to create an observed lin > > -> Can you configure the tool {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a three-column lineage summary from the pangolin output, in which each line lists one of the assigned lineages (from column 2 of the pangolin output) on the first column, how many samples had that lineage assigned on the second column, and the comma-separated identifiers of these samples (from column 1 of the pangolin output) on the third column? +> Can you configure the tool {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a three-column lineage summary from the pangolin output, in which each line lists: +> - one of the assigned lineages (from column 2 of the pangolin output) on the first column, +> - how many samples had that lineage assigned on the second column, and +> - comma-separated identifiers of these samples (from column 1 of the pangolin output) on the third column? > > > > > @@ -808,7 +830,7 @@ With a larger number of samples we might actually want to create an observed lin > {: .solution} {: .question} -If you are following along with the suggested batch of data, here are some additional questions for you: +If you are working with the suggested batch of data, here are some specific follow-up questions for you: > Questions > @@ -819,7 +841,6 @@ If you are following along with the suggested batch of data, here are some addit > > 3. Can you explain the results for these three samples? > -> > > > > > > 1. The lineage summary we have generated makes this easy to answer: @@ -837,11 +858,11 @@ If you are following along with the suggested batch of data, here are some addit > > **SRR17051933**, on the other hand, has passed pangolin's quality control with very low *Ambiguous content* so we might tend to believe the assignment. > > However, if you re-inspect the variant-frequency plot generated by the reporting workflow, you will find that this sample was the outlier sample that had more or less the same mutations called as the other samples in the batch, but nearly all of them at rather low allele-frequencies. > > In fact, the only seemingly fixed mutations (with allele-frequencies close to one) are ancestral mutations that have been present in SARS-CoV-2 isolates since the Spring of 2020. -> > Since only these mutations made it into the consensus sequence for that sample, pnagolin has based the assignment only on them and has infered the ancestral lineage B.1 as a result. +> > Since only these mutations made it into the consensus sequence for that sample, pangolin has based the assignment only on them and has infered the ancestral lineage B.1 as a result. > > > > Whether or not this is the correct assignment for this sample is hard to tell without additional information. > > Several possibilities exist: -> > - the sample could indeed be from a pre-Omicron lineage and might have been cross-contaminated during its preparation for sequencing with DNA from one of the other samples processed together with it. +> > - the sample could indeed be from a pre-Omicron lineage and might have been lab-contaminated with DNA from one of the other (Omicron) samples processed together with it. > > - the sample might have been taken from a patient who was infected with Omicron and a pre-Omicron lineage simultaneously. > > > {: .solution} @@ -874,7 +895,8 @@ Let's use **Datamash** again to obtain a lineage summary report from the Nextcla > > -> Can you configure the {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a report summarizing the Nextclade results by `Nextclade_pango` (column 3 of Nextclade's output; for direct comparison to the pangolin results summary)? +> Can you configure the {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a report summarizing the Nextclade results by `Nextclade_pango` (column 3 of Nextclade's output) for direct comparison to the pangolin results summary? +> > This report should include the corresponding info from the `clade` column (column 2, which is Nextclade's native classification system) and from the `clade_who` (column 6), together with the sample counts and identifiers as previously calculated from pangolin's output. > > > @@ -883,7 +905,7 @@ Let's use **Datamash** again to obtain a lineage summary report from the Nextcla > > - {% icon param-file %} *"Input tabular dataset"*: the output of Nextclade > > - *"Group by fields"*: 3,2,6 > > -> > We want to group by pangolin lineages. By including columns 2 and 6 we make sure the columns from these values are kept in the summary report (and that additional groups would be formed if any samples with identical assigned pangolin lineage should have different Nextclade or WHO assignments, which, of course, shouldn't be the case). +> > We want to group by pangolin lineages. By including columns 2 and 6 we make sure the columns from these values are kept in the summary report (and that additional groups would be formed if any samples with identical assigned pangolin lineage have different Nextclade or WHO assignments, which, of course, shouldn't be the case). > > - *"Sort input"*: `Yes` > > - *"Input file has a header line"*: `Yes` > > - *"Print header line"*: `Yes` @@ -905,7 +927,7 @@ You should hopefully observe good (though not necessarily perfect) agreement bet If you are following along with the suggested batch of data, here's a question about the detailed differences. > -> +> > Which samples have been assigned differently by pangolin and Nextclade, and why? > > > From 7d7c7543a013237b0df0525063d8a2f4874001e2 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Fri, 12 May 2023 15:13:58 +0200 Subject: [PATCH 13/18] Rewrite qquestions, objectives, key points ... and some more fixes --- .../sars-cov-2-variant-discovery/tutorial.md | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index e446cf431d41e..8e16ed64c3d14 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -6,20 +6,23 @@ subtopic: one-health level: Intermediate zenodo_link: "https://zenodo.org/record/5036687" questions: -- How can we extract annotated allelic variants in SARS-Cov-2 sequences in Galaxy? -- Which tools and workflows can we use to identify SARS-CoV-2 lineages in Galaxy? +- How can a complete analysis, including viral consensus sequence reconstruction and lineage assignment be performed? +- How can such an analysis be kept manageable for lots of samples, yet flexible enough to handle different types of input data? +- What are key results beyond consensus genomes and lineage assignments that need to be understood to avoid inappropriate conclusions about samples? +- How can the needs for high-throughput data analysis in an ongoing infectious disease outbreak/pandemic and the need for proper quality control and data inspection be balanced? objectives: -- Repeat SARS-CoV-2 data preparation -- Select and run workflow to extract annotated allelic variants from FASTQ files -- Run workflow to summarize and generate report for previously called allelic variants -- Interpret summaries for annotated allelic variants -- Run workflow to extract consensus sequences -- Select and run tools to assign clades/lineages +- Discover and obtain recommended Galaxy workflows for SARS-CoV-2 sequence data analysis through public workflow registries +- Choose and run a workflow to discover mutations in a batch of viral samples from sequencing data obtained through a range of different protocols and platforms +- Run a workflow to summarize and visualize the mutation discovery results for a batch of samples +- Run a workflow to construct viral consensus sequences for the samples in a batch +- Know different SARS-CoV-2 lineage classification systems, and use pangolin and Nextclade to assign samples to predefined lineages +- Combine information from different analysis steps to be able to draw appropriate conclusions about individual samples and batches of viral data time_estimation: 3H key_points: -- 4 specialized, best-practice variant calling workflows are available for the identification of annotated allelic variants from raw sequencing data depending on the exact type of input -- Data from batches of samples can be processed in parallel using collections -- Annotated allelic variants can be used to build consensus sequences for and assign each sample to known viral clades/lineages +- The Galaxy Covid-19 project has developed a flexible set of workflows for SARS-CoV-2 genome surveillance, which is freely available through public workflow registries. +- The workflows enable processing of whole batches of samples with rather limited user interaction. +- They provide a high-throughput and flexible analysis solution without compromising on accuracy, nor on the possibility to explore intermediate steps and outputs in detail. + requirements: - type: "internal" @@ -58,7 +61,7 @@ For versatile and efficient genome surveillance, however, you would want to: - use sample mutation patterns to construct sanple consensus genomes -- use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems (Nextstrain and PANGO) +- use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems ([Nextstrain clades](https://nextstrain.org/blog/2022-04-29-SARS-CoV-2-clade-naming-2022) and [PANGO](https://www.pango.network/)) - decrease hands-on time and data manipulation errors by combining analysis steps into workflows for automated execution @@ -81,7 +84,6 @@ In this tutorial you will learn to - run and combine the workflows - understand the various outputs produced by the workflows and to extract insight about viral samples from them - > > > In this tutorial, we will cover: @@ -144,7 +146,7 @@ Any analysis should get its own Galaxy history. So let's start by creating a new > > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. > > If you are struggling with getting your own data set up like shown for the example data in this section, please: > > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) -> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy/#data%20upload %}) and on [collections]({% link faqs/galaxy/#collections %}) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy#data upload %}) and on [collections]({% link faqs/galaxy#collections %}) > > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. > > > {: .details} @@ -797,7 +799,7 @@ Pangolin (Phylogenetic Assignment of Named Global Outbreak LINeages) can be used > 2. Inspect the generated output {: .hands_on} -Pangolin generates tabular output, in which each line corresponds to one sample found in the input consensus FASTA file. The output columns are explained in the Galaxy tool's help section and [here](https://cov-lineages.org/resources/pangolin/output.html). +Pangolin generates tabular output, in which each line corresponds to one sample found in the input consensus FASTA file. The output columns are explained in the Galaxy tool's help section and in [this chapter of the pangolin documentation](https://cov-lineages.org/resources/pangolin/output.html). With a larger number of samples we might actually want to create an observed lineage summary report. Lets see if you can generate such a report: From 0eec731c5eb72e4e52c45a444e4aeb341ec6ea56 Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Fri, 12 May 2023 17:31:59 +0200 Subject: [PATCH 14/18] Add questions about outputs of reporting WF --- .../sars-cov-2-variant-discovery/tutorial.md | 65 +++++++++++++++++-- 1 file changed, 61 insertions(+), 4 deletions(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index 8e16ed64c3d14..e78602167c557 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -59,7 +59,7 @@ For versatile and efficient genome surveillance, however, you would want to: To keep track of large numbers of samples sequenced in batches (as, nowadays, produced routinely by SARS-CoV-2 genome surveillance initiatives across the globe), you need concise reports and visualizations of results at the sample and batch level. -- use sample mutation patterns to construct sanple consensus genomes +- use sample mutation patterns to construct sample consensus genomes - use the consensus genomes to assign the samples to SARS-CoV-2 lineages as defined by major lineage classification systems ([Nextstrain clades](https://nextstrain.org/blog/2022-04-29-SARS-CoV-2-clade-naming-2022) and [PANGO](https://www.pango.network/)) @@ -575,7 +575,11 @@ The main output of the first workflow is a collection with annotated mutation ca > Remember, this mapping defines the gene names that will appear as affected by given mutations in the reports. > - *"Number of Clusters"*: `3` > -> The variant frequency plot generated by the workflow will separate the samples into this number of clusters. +> The variant frequency plot generated by the workflow will separate the samples into this number of main clusters. +> +> 3 is an appropriate value for the suggested example batch of 16 samples. +> If you are using your own data, and it consists of a lot less or more samples than the example batch, you might want to experiment with lower or higher values, respectively. +> Generating an optimal plot sometimes requires some experimenting with this value, but once the workflow run is complete, you can always just rerun the one job that generates the plot and adjust this setting for that rerun. > > The remaining workflow parameters *"AF Filter"*, *"DP Filter"*, and *"DP_ALT_FILTER"* define criteria for reporting mutations as reliable. They can all be left at their default values. > @@ -652,6 +656,57 @@ The three key results datasets produced by the Reporting workflow are: This plot represents the allele-frequencies (AFs, cell color) for the different mutations (columns) in the different samples (rows). Mutations are grouped by viral ORFs (different colors on the 1st row). Information about their impact on translation of viral proteins is color-coded on the second row. Sample clustering is indicated by the tree displayed on the left. +If you are working with your own data, we encourage you to just explore these three outputs on your own. If you are following along with the suggested batch of example data, then we have some guidance and questions prepared for you: + +> Some results exploration and questions +> +> The variant frequency plot shows a large main cluster of samples (in the middle of the plot) flanked by two smaller ones. +> The small cluster at the bottom of the plot consists of only two samples, the cluster at the top of three samples. +> +> Questions +> +> 1. Do you recognize some of the sample identifiers in the two small clusters? +> +> Use your browser's zoom function to magnify the plot enough for labels to become readable on your screen. +> +> 2. At least for **SRR17054505**, do you have an idea why its row in the plot might look like it does? +> +> 3. What is unique about sample **SRR17051933**? +> +> > +> > 1. The two samples forming the smallest cluster, **SRR17054502** and **SRR17054506**, and two of the samples in the three-samples cluster, **SRR17054505** and **SRR17054508**, are exactly the four samples we observed as having particularly low coverage in the **Preprocessing and mapping reports** before. +> > 2. Only a single mutation was identified for **SRR17054505** (i.e. it is *very* different from all other samples). +> > +> > (By zooming far enough into the plot, or by looking up the sample in the **Combined Variant Report by Sample** you can learn that this single variant is 27,807 C->T.) +> > +> > From the **Preprocessing and mapping reports** we had learnt before that **SRR17054505** is the sample with critically low coverage. With hardly any sequence information available, even the best variant calling software will probably not be able to identify many mutations for this sample. Chances are that at least for this sample, lots of mutations have simply been missed. +> > +> > Knowing that the other three samples have a bit higher coverage than **SRR17054505**, one might speculate that for them maybe only *some* mutations went unidentified, and that might explain why they end up outside the main cluster in the variant frequency plot. At the moment that is speculation, but we will revisit that idea later. +> > +> > 3. What is striking about **SRR17051933** are all the red cells it has in the variant frequency plot. +> > +> > Many of these overlap with black cells of other samples, but some of the darkest cells for **SRR17051933** do not. +> > +> > Cell color indicates the allele frequency observed for a mutation in a given sample, and pitch-black corresponds to an allele frequency of ~ 1, i.e. to mutations that were found on nearly every sequenced read that overlaps the site of the mutation. The lighter colors for almost all mutations found for **SRR17051933** mean that for this sample some reads at mutation sites confirm the mutation, but typically many do not. We can look at the mutations in this sample also in the **Combined Variant Report by Sample** and confirm that many of these mutations have really low values in the `AF` column. +> > +> > What about the mutations that seem to be unique to **SRR17051933** from the plot? +> > We can obtain a nice tabular report of them by filtering the **Combined Variant Report by Variant**. +> > +> > Run {% tool [Filter data on any column using simple expressions](Filter1) %} with +> > +> > - {% icon param-file %} *"Filter"*: **Combined Variant Report by Variant** +> > - *"With following conidition"*: `c15 == "SRR17051933"` +> > - *"Number of header lines to skip"*: `1` +> > +> > Column 15 of **Combined Variant Report by Variant** is `SAMPLES(all)`, i.e. lists all samples for which a given mutation in the report has been identified (at any allele frequency). The filtering above will retain those lines from the report that list **SRR17051933** as the *only* sample. +> > +> > When you inspect the output, you can see that it lists 17 **SRR17051933**-specific variants and you can read off the allele frequencies at which they were observed in the sample from column 13 (`max(AF)`). +> > It is relatively obvious then that most of these variants have a AF value between 0.68 and 0.8, i.e. they are confirmed by the majority of reads, but not all of them. +> > +> > We will come back to this observation and look for possible explanations near the end of the tutorial. +> > +> {: .solution} +{: .question} ## From mutations per sample to consensus sequences @@ -858,7 +913,7 @@ If you are working with the suggested batch of data, here are some specific foll > > In other words, pangolin refused (and rightly so) to perform lineage assignment for these two samples based on the very limited sequencing information available. > > > > **SRR17051933**, on the other hand, has passed pangolin's quality control with very low *Ambiguous content* so we might tend to believe the assignment. -> > However, if you re-inspect the variant-frequency plot generated by the reporting workflow, you will find that this sample was the outlier sample that had more or less the same mutations called as the other samples in the batch, but nearly all of them at rather low allele-frequencies. +> > However, if you remember earlier questions or re-inspect the variant-frequency plot generated by the reporting workflow, you will find that this sample was the outlier sample that had more or less the same mutations called as the other samples in the batch, but nearly all of them at rather low allele-frequencies. > > In fact, the only seemingly fixed mutations (with allele-frequencies close to one) are ancestral mutations that have been present in SARS-CoV-2 isolates since the Spring of 2020. > > Since only these mutations made it into the consensus sequence for that sample, pangolin has based the assignment only on them and has infered the ancestral lineage B.1 as a result. > > @@ -867,6 +922,8 @@ If you are working with the suggested batch of data, here are some specific foll > > - the sample could indeed be from a pre-Omicron lineage and might have been lab-contaminated with DNA from one of the other (Omicron) samples processed together with it. > > - the sample might have been taken from a patient who was infected with Omicron and a pre-Omicron lineage simultaneously. > > +> > Remember the questions about the outputs of the *reporting* workflow. As part of one of them, you were suggested to generate a report for mutations seen *only* in **SRR17051933**. It turned out that these were mostly observed at an allele frequency of ~ 0.75. This makes the first possibility seem somewhat more plausible: a pre-Omicron sample has been contaminated with traces of Omicron sequence, but most reads still come from the original strain. For the co-infection scenario, on the other hand, a lot would depend on the relative timing of the two infections. +> > > {: .solution} {: .question} @@ -897,7 +954,7 @@ Let's use **Datamash** again to obtain a lineage summary report from the Nextcla > > -> Can you configure the {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a report summarizing the Nextclade results by `Nextclade_pango` (column 3 of Nextclade's output) for direct comparison to the pangolin results summary? +> Can you configure {% tool [Datamash](toolshed.g2.bx.psu.edu/repos/iuc/datamash_ops/datamash_ops/1.8+galaxy0) %} to produce a report summarizing the Nextclade results by `Nextclade_pango` (column 3 of Nextclade's output) for direct comparison to the pangolin results summary? > > This report should include the corresponding info from the `clade` column (column 2, which is Nextclade's native classification system) and from the `clade_who` (column 6), together with the sample counts and identifiers as previously calculated from pangolin's output. > From 60269f09011cfad55b11d8966469f88186de37ae Mon Sep 17 00:00:00 2001 From: Wolfgang Maier Date: Fri, 12 May 2023 17:33:51 +0200 Subject: [PATCH 15/18] Try to fix anchor link with space in it --- .../tutorials/sars-cov-2-variant-discovery/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index e78602167c557..a5b967561b7d6 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -146,7 +146,7 @@ Any analysis should get its own Galaxy history. So let's start by creating a new > > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. > > If you are struggling with getting your own data set up like shown for the example data in this section, please: > > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) -> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy#data upload %}) and on [collections]({% link faqs/galaxy#collections %}) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy#data%20upload %}) and on [collections]({% link faqs/galaxy#collections %}) > > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. > > > {: .details} From 1fa10284db464129152167ecc3a8bc8c6c318222 Mon Sep 17 00:00:00 2001 From: Saskia Hiltemann Date: Tue, 16 May 2023 19:18:05 +0200 Subject: [PATCH 16/18] Update topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md Co-authored-by: Helena --- .../tutorials/sars-cov-2-variant-discovery/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index a5b967561b7d6..bd7da0ad4c40b 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -146,7 +146,7 @@ Any analysis should get its own Galaxy history. So let's start by creating a new > > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. > > If you are struggling with getting your own data set up like shown for the example data in this section, please: > > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) -> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy#data%20upload %}) and on [collections]({% link faqs/galaxy#collections %}) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy.md %}#data%20upload) and on [collections]({% link faqs/galaxy.md %}#collections) > > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. > > > {: .details} From fde8cb77078d0c0f7050c55034e474d951caa59d Mon Sep 17 00:00:00 2001 From: Saskia Hiltemann Date: Tue, 16 May 2023 19:22:44 +0200 Subject: [PATCH 17/18] Update topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md --- .../tutorials/sars-cov-2-variant-discovery/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index bd7da0ad4c40b..be6b0b8bb071d 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -146,7 +146,7 @@ Any analysis should get its own Galaxy history. So let's start by creating a new > > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. > > If you are struggling with getting your own data set up like shown for the example data in this section, please: > > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) -> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy.md %}#data%20upload) and on [collections]({% link faqs/galaxy.md %}#collections) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy.md %}#data%20upload) and on [collections]({% link faqs/galaxy/index.md %}#collections) > > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. > > > {: .details} From 5e872d741c83537ecad37f9c9721bd54f47805cb Mon Sep 17 00:00:00 2001 From: Saskia Hiltemann Date: Tue, 16 May 2023 19:26:42 +0200 Subject: [PATCH 18/18] Update topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md --- .../tutorials/sars-cov-2-variant-discovery/tutorial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md index be6b0b8bb071d..bf8f379d3ee4a 100644 --- a/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md +++ b/topics/variant-analysis/tutorials/sars-cov-2-variant-discovery/tutorial.md @@ -146,7 +146,7 @@ Any analysis should get its own Galaxy history. So let's start by creating a new > > A detailed explanation of all of the above-mentioned options for getting your data into Galaxy and organizing it in your history is beyond the scope of this tutorial. > > If you are struggling with getting your own data set up like shown for the example data in this section, please: > > - Option 1: Browse some of the material on [Using Galaxy and Managing your Data]({% link topics/galaxy-interface %}) -> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy.md %}#data%20upload) and on [collections]({% link faqs/galaxy/index.md %}#collections) +> > - Option 2: Consult the FAQs on [uploading data]({% link faqs/galaxy/index.md %}#data%20upload) and on [collections]({% link faqs/galaxy/index.md %}#collections) > > - Option 3: Watch some of the related brief videos from the [{% icon video %} Galactic introductions](https://www.youtube.com/playlist?list=PLNFLKDpdM3B9UaxWEXgziHXO3k-003FzE) playlist. > > > {: .details}