Skip to content

Artic tools 0.3.1#1598

Merged
erinyoung merged 6 commits intoStaPH-B:masterfrom
RaheelSyedAhmed:artic-tools-0.3.1
Mar 18, 2026
Merged

Artic tools 0.3.1#1598
erinyoung merged 6 commits intoStaPH-B:masterfrom
RaheelSyedAhmed:artic-tools-0.3.1

Conversation

@RaheelSyedAhmed
Copy link
Contributor

Pull Request (PR) checklist:

  • Include a description of what is in this pull request in this message.
  • The dockerfile successfully builds to a test target for the user creating the PR. (i.e. docker build --tag samtools:1.15test --target test docker-builds/build-files/samtools/1.15 )
  • Directory structure as name of the tool in lower case with special characters removed with a subdirectory of the version number in build-files (i.e. docker-builds/build-files/spades/3.12.0/Dockerfile)
    • (optional) All test files are located in same directory as the Dockerfile (i.e. build-files/shigatyper/2.0.1/test.sh)
  • Create a simple container-specific README.md in the same directory as the Dockerfile (i.e. docker-builds/build-files/spades/3.12.0/README.md)
    • If this README is longer than 30 lines, there is an explanation as to why more detail was needed
  • Dockerfile includes the recommended LABELS
  • Main README.md has been updated to include the tool and/or version of the dockerfile(s) in this PR
  • Program_Licenses.md contains the tool(s) used in this PR and has been updated for any missing

Addition of a new tool, artic-tools version 0.3.1. Should include Dockerfile, README.md for v0.3.1, README.md table addition, and Program License update. README.md exceeds 30 lines because the main documentation lacked information on some command requirements and positional arguments; it's supplemented by the output of the help command for each subcommand of artic-tools.

… artic-tools. I'm not sure if I was supposed to do this step, hub.docker.com links and badgen.net links are 404'd.
@RaheelSyedAhmed
Copy link
Contributor Author

First time adding a new tool entry, I hope the README.md and Program_License.md came out correctly, particularly with links to badgen, hub.docker, etc.

Removed duplicate ARG declaration for ARTIC_TOOLS_VER in Dockerfile.
@erinyoung
Copy link
Contributor

Tests work

#19 [test 5/7] RUN artic-tools get_scheme ebola
#19 0.056 [09:44:43] [artic-tools::get_scheme] starting primer scheme downloader
#19 0.056 [09:44:43] [artic-tools::get_scheme] 	requested scheme:	ebola
#19 0.056 [09:44:43] [artic-tools::get_scheme] 	requested version:	latest
#19 0.056 [09:44:43] [artic-tools::get_scheme] fetching manifest file
#19 0.056 [09:44:43] [artic-tools::get_scheme] 	ARTIC manifest URL:	https://raw.githubusercontent.com/artic-network/primer-schemes/master/schemes_manifest.json
#19 0.174 [09:44:43] [artic-tools::get_scheme] 	ARTIC repository DOI:	10.5281/zenodo.4004423
#19 0.174 [09:44:43] [artic-tools::get_scheme] finding primer scheme
#19 0.174 [09:44:43] [artic-tools::get_scheme] 	found requested scheme:	ebola (using alias ebola)
#19 0.174 [09:44:43] [artic-tools::get_scheme] downloading primer scheme
#19 0.918 [09:44:43] [artic-tools::get_scheme] 	saving primers to:	ebola.v3.primer.bed
#19 0.918 [09:44:43] [artic-tools::get_scheme] 	saving reference to:	ebola.v3.reference.fasta
#19 0.918 [09:44:43] [artic-tools::get_scheme] comparing checksums
#19 0.919 [09:44:43] [artic-tools::get_scheme] 	sha256 for primers:	f2cc48e51efdd8d02dd000d0d546188290aac16627f12f816fd82c01b7f734cc
#19 0.922 [09:44:43] [artic-tools::get_scheme] 	sha256 for reference:	c5dfa7588caa23bc30a3c6f0a84ba706660e9595f795a47737beebf7cdd368bb
#19 DONE 0.9s

#20 [test 6/7] RUN curl -o SCoV2.scheme.v3.bed https://raw.githubusercontent.com/will-rowe/artic-tools/b3a5d3cfe37f6e1a7ef1a2cdf339d5227843726d/tests/data/SCoV2.scheme.v3.bed &&     artic-tools validate_scheme SCoV2.scheme.v3.bed
#20 0.052   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#20 0.052                                  Dload  Upload   Total   Spent    Left  Speed
#20 0.052 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  9839  100  9839    0     0   110k      0 --:--:-- --:--:-- --:--:--  111k
#20 0.147 [09:44:44] [artic-tools::validate_scheme] starting primer scheme validator
#20 0.147 [09:44:44] [artic-tools::validate_scheme] reading scheme
#20 0.148 [09:44:44] [artic-tools::validate_scheme] collecting scheme stats
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	primer scheme file:	SCoV2.scheme.v3.bed
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	reference sequence:	MN908947.3
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	number of pools:	2
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	number of primers:	218 (includes 22 alts)
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	minimum primer size:	22
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	maximum primer size:	57
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	number of amplicons:	98
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	mean amplicon size:	343
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	maximum amplicon size:	375
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	scheme ref. span:	30-29866
#20 0.148 [09:44:44] [artic-tools::validate_scheme] 	scheme overlaps:	12.850247%
#20 DONE 0.2s

#21 [test 7/7] RUN curl -o CVR1.merged.vcf.gz https://raw.githubusercontent.com/will-rowe/artic-tools/b3a5d3cfe37f6e1a7ef1a2cdf339d5227843726d/tests/data/CVR1.merged.vcf.gz &&     artic-tools check_vcf -o summary.txt --vcfOut variants_passed.txt CVR1.merged.vcf.gz SCoV2.scheme.v3.bed
#21 0.053   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
#21 0.054                                  Dload  Upload   Total   Spent    Left  Speed
#21 0.054 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   605  100   605    0     0   7087      0 --:--:-- --:--:-- --:--:--  7117
#21 0.148 [09:44:44] [artic-tools::check_vcf] starting VCF checker
#21 0.148 [09:44:44] [artic-tools::check_vcf] reading scheme
#21 0.149 [09:44:44] [artic-tools::check_vcf] collecting scheme stats
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	primer scheme file:	SCoV2.scheme.v3.bed
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	reference sequence:	MN908947.3
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	number of pools:	2
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	number of primers:	218 (includes 22 alts)
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	minimum primer size:	22
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	maximum primer size:	57
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	number of amplicons:	98
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	mean amplicon size:	343
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	maximum amplicon size:	375
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	scheme ref. span:	30-29866
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	scheme overlaps:	12.850247%
#21 0.149 [09:44:44] [artic-tools::check_vcf] setting parameters
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	output report: summary.txt
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	filtering variants: true
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	output VCF: variants_passed.txt
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	minimum quality threshold: 10.0
#21 0.149 [09:44:44] [artic-tools::check_vcf] reading VCF file
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 241: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 3037: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 12733: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within an amplicon overlap region
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 12733: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within an amplicon overlap region
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 14408: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22863: TA->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (4.521) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within an amplicon overlap region
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22868: TG->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (4.555) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within an amplicon overlap region
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22896: T->TTGG
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within a primer sequence
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22909: TA->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (1.374) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22913: T->C
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22916: CT->TC
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22926: T->TAA
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22949: CC->A
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (4.52) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22995: C->CA
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 22997: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 23009: G->GT
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 23057: C->A
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (4.857) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 23098: AC->GT
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 23183: T->TC
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	qual (9.475) is below minimum quality threshold
#21 0.149 [09:44:44] [artic-tools::check_vcf] 	located within an amplicon overlap region
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 23403: A->G
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 27752: C->T
#21 0.149 [09:44:44] [artic-tools::check_vcf] variant at pos 28881: GGG->AAC
#21 0.150 [09:44:44] [artic-tools::check_vcf] finished checking
#21 0.150 [09:44:44] [artic-tools::check_vcf] 	22 variant records processed
#21 0.150 [09:44:44] [artic-tools::check_vcf] 	16 variant records passed checks
#21 DONE 0.2s

@erinyoung
Copy link
Contributor

I think this looks good! I made some small changes consolidating the software ARG variable.

I do need some confirmation that the get scheme function works without curl being installed before I can approve and merge this.

@erinyoung
Copy link
Contributor

Everything looks like it works

#21 [test 6/8] RUN artic-tools get_scheme ebola
#21 0.057 [18:33:59] [artic-tools::get_scheme] starting primer scheme downloader
#21 0.057 [18:33:59] [artic-tools::get_scheme] 	requested scheme:	ebola
#21 0.057 [18:33:59] [artic-tools::get_scheme] 	requested version:	latest
#21 0.057 [18:33:59] [artic-tools::get_scheme] fetching manifest file
#21 0.057 [18:33:59] [artic-tools::get_scheme] 	ARTIC manifest URL:	https://raw.githubusercontent.com/artic-network/primer-schemes/master/schemes_manifest.json
#21 0.154 [18:33:59] [artic-tools::get_scheme] 	ARTIC repository DOI:	10.5281/zenodo.4004423
#21 0.154 [18:33:59] [artic-tools::get_scheme] finding primer scheme
#21 0.154 [18:33:59] [artic-tools::get_scheme] 	found requested scheme:	ebola (using alias ebola)
#21 0.154 [18:33:59] [artic-tools::get_scheme] downloading primer scheme
#21 0.665 [18:33:59] [artic-tools::get_scheme] 	saving primers to:	ebola.v3.primer.bed
#21 0.665 [18:33:59] [artic-tools::get_scheme] 	saving reference to:	ebola.v3.reference.fasta
#21 0.665 [18:33:59] [artic-tools::get_scheme] comparing checksums
#21 0.666 [18:33:59] [artic-tools::get_scheme] 	sha256 for primers:	f2cc48e51efdd8d02dd000d0d546188290aac16627f12f816fd82c01b7f734cc
#21 0.669 [18:33:59] [artic-tools::get_scheme] 	sha256 for reference:	c5dfa7588caa23bc30a3c6f0a84ba706660e9595f795a47737beebf7cdd368bb
#21 DONE 0.7s

#22 [test 7/8] RUN artic-tools validate_scheme SCoV2.scheme.v3.bed
#22 0.057 [18:33:59] [artic-tools::validate_scheme] starting primer scheme validator
#22 0.057 [18:33:59] [artic-tools::validate_scheme] reading scheme
#22 0.058 [18:33:59] [artic-tools::validate_scheme] collecting scheme stats
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	primer scheme file:	SCoV2.scheme.v3.bed
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	reference sequence:	MN908947.3
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	number of pools:	2
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	number of primers:	218 (includes 22 alts)
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	minimum primer size:	22
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	maximum primer size:	57
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	number of amplicons:	98
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	mean amplicon size:	343
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	maximum amplicon size:	375
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	scheme ref. span:	30-29866
#22 0.058 [18:33:59] [artic-tools::validate_scheme] 	scheme overlaps:	12.850247%
#22 DONE 0.1s

#23 [test 8/8] RUN artic-tools check_vcf -o summary.txt --vcfOut variants_passed.txt CVR1.merged.vcf.gz SCoV2.scheme.v3.bed
#23 0.054 [18:34:00] [artic-tools::check_vcf] starting VCF checker
#23 0.054 [18:34:00] [artic-tools::check_vcf] reading scheme
#23 0.055 [18:34:00] [artic-tools::check_vcf] collecting scheme stats
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	primer scheme file:	SCoV2.scheme.v3.bed
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	reference sequence:	MN908947.3
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	number of pools:	2
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	number of primers:	218 (includes 22 alts)
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	minimum primer size:	22
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	maximum primer size:	57
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	number of amplicons:	98
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	mean amplicon size:	343
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	maximum amplicon size:	375
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	scheme ref. span:	30-29866
#23 0.055 [18:34:00] [artic-tools::check_vcf] 	scheme overlaps:	12.850247%
#23 0.056 [18:34:00] [artic-tools::check_vcf] setting parameters
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	output report: summary.txt
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	filtering variants: true
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	output VCF: variants_passed.txt
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	minimum quality threshold: 10.0
#23 0.056 [18:34:00] [artic-tools::check_vcf] reading VCF file
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 241: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 3037: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 12733: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within an amplicon overlap region
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 12733: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within an amplicon overlap region
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 14408: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22863: TA->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (4.521) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within an amplicon overlap region
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22868: TG->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (4.555) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within an amplicon overlap region
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22896: T->TTGG
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within a primer sequence
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22909: TA->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (1.374) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22913: T->C
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22916: CT->TC
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22926: T->TAA
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22949: CC->A
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (4.52) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22995: C->CA
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 22997: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 23009: G->GT
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 23057: C->A
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (4.857) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 23098: AC->GT
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 23183: T->TC
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	qual (9.475) is below minimum quality threshold
#23 0.056 [18:34:00] [artic-tools::check_vcf] 	located within an amplicon overlap region
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 23403: A->G
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 27752: C->T
#23 0.056 [18:34:00] [artic-tools::check_vcf] variant at pos 28881: GGG->AAC
#23 0.057 [18:34:00] [artic-tools::check_vcf] finished checking
#23 0.057 [18:34:00] [artic-tools::check_vcf] 	22 variant records processed
#23 0.057 [18:34:00] [artic-tools::check_vcf] 	16 variant records passed checks
#23 DONE 0.1s

Updated README.md with additional information and documentation links.
Comment on lines +90 to +91
RUN apt-get update && apt-get -y install --no-install-recommends \
curl
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does get_scheme use to download primer schemes? I ask because if it uses curl, then curl should be in the app stage.

@erinyoung erinyoung merged commit e658917 into StaPH-B:master Mar 18, 2026
2 checks passed
@erinyoung
Copy link
Contributor

Thank you for putting this together!

The status of the deploy can be followed here : https://github.com/StaPH-B/docker-builds/actions/runs/23261323038

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants