artic-network / primer-schemes

Primer schemes for real-time genome epidemiology
https://artic.network/
Creative Commons Attribution 4.0 International
27 stars 41 forks source link

primer-schemes

Primer schemes for real-time genome epidemiology

Build Status DOI

About

The primer schemes in this repository were built using Primal Scheme and are available for the following viruses:

Within each virus directory, there are versioned sub-directories which each contain a versioned scheme for that virus.

The following files are available per scheme version:

file extension about
.primer.bed The coordinates of each primer in the scheme
.insert.bed The coordinates of the expected amplicons that the scheme produces (excluding primers)
.reference.fasta The sequence of the reference genome used for the scheme
.tsv Details on each primer in the scheme (name, sequence, length, GC, TM)

For more information visit the ARTIC network website.

Notes

Updated scheme file format

updated: 25.08.2020

changes

With the major version bump to Primal Scheme, primer schemes are now output to *.primer.bed files.

These new files aren't much different to the old *.scheme.bed files and the same information is contained within, but they now conform to the BED standard.

The new format has the following columns:

column name type description
1 chrom string primer reference sequence
2 chromStart int starting position of the primer in the reference sequence
3 chomEnd int ending position of the primer in the reference sequence
4 name string primer name
5 primerPool int primer pool*
6 strand string (+/-) primer direction

* column 5 in the BED spec is an int for score, whereas here we are using it to denote primerPool.

commands

The liftover.py script was used to create a *.primer.bed file for each *.scheme.bed file, within each scheme directory in this repository.

The validate_scheme command from artic-tools was used to validate each *.primer.bed and also to create the *.insert.bed file which is produced by recent versions of Primal Scheme.

The following commands where used:

for i in */V*/*.scheme.bed;
do
basename=${i%%.scheme.bed}
scripts/liftover.py -i $i -o ${basename}.primer.bed;
artic-tools validate_scheme ${basename}.primer.bed --outputInserts ${basename}.insert.bed
done;