Home

Awesome

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 extensionabout
.primer.bedThe coordinates of each primer in the scheme
.insert.bedThe coordinates of the expected amplicons that the scheme produces (excluding primers)
.reference.fastaThe sequence of the reference genome used for the scheme
.tsvDetails 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:

columnnametypedescription
1chromstringprimer reference sequence
2chromStartintstarting position of the primer in the reference sequence
3chomEndintending position of the primer in the reference sequence
4namestringprimer name
5primerPoolintprimer pool<sup>*</sup>
6strandstring (+/-)primer direction

<sup>*</sup> 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;