Skip to content

artic-network/primal-page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Primal-Page

This is the tooling for working with the primerschemes index

Usage:

$ [OPTIONS] COMMAND [ARGS]...

Options:

  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • build-index: Build an index.json file from all schemes...
  • create: Create a new scheme in the required format
  • modify: Modify an existing scheme's metadata...
  • regenerate: Regenerate the info.json and README.md...
  • remove: Remove a scheme's version from the repo,...
  • download: Download all vital files from the index

build-index

Build an index.json file from all schemes in the directory

Usage:

$ build-index [OPTIONS]

Options:

  • --gitaccount TEXT: The name of the github account [default: quick-lab]
  • --gitserver TEXT: The name of the github server [default: https://github.com/]
  • --parentdir PATH: The parent directory [default: .]
  • --git-commit-sha TEXT: The git commit
  • --force / --no-force: Force the creation of the index.json [default: no-force]
  • --help: Show this message and exit.

create

Create a new scheme in the required format. This will automatically search for required files.

Usage:

$ create [OPTIONS] SCHEMEPATH

Arguments:

  • SCHEMEPATH: The path to the scheme directory [required]

Options:

Always required:

  • --schemename TEXT: The name of the scheme [required]
  • --ampliconsize INTEGER RANGE: Amplicon size [x>=100; required]
  • --schemeversion TEXT: Scheme version, default is parsed from config.json [required]
  • --species INTEGER: The species this scheme targets. Please use NCBI taxonomy ids [required]

parsed:

  • --schemestatus [withdrawn|deprecated|autogenerated|draft|tested|validated]: Scheme status [default: draft]
  • --citations TEXT: Any associated citations. Please use DOI
  • --authors TEXT: Any authors [default: quick lab, artic network]
  • --primerbed PATH: Manually specify the primer bed file, default is *primer.bed
  • --reference PATH: Manually specify the referance.fasta file, default is *.fasta
  • --output PATH: Where to output the scheme [default: primerschemes]
  • --configpath PATH: Where the config.json file is located
  • --algorithmversion TEXT: The version of primalscheme or other
  • --description TEXT: A description of the scheme
  • --derivedfrom TEXT: Which scheme has this scheme been derived from
  • --primerclass [primerschemes]: The primer class [default: primerschemes]
  • --help: Show this message and exit.

modify

Modify an existing scheme's metadata (info.json)

Usage:

$ modify [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • add-author: Append an author to the authors list in...
  • add-citation: Append an citation to the authors list in...
  • change-primerclass: Append an author to the authors list in...
  • change-status: Change the status field in the info.json
  • remove-author: Remove an author from the authors list in...
  • remove-citation: Remove an citation form the authors list...

modify add-author

Append an author to the authors list in the info.json file

Usage:

$ modify add-author [OPTIONS] SCHEMEINFO AUTHOR

Arguments:

  • SCHEMEINFO: The path to info.json [required]
  • AUTHOR: The author to add [required]

Options:

  • --help: Show this message and exit.

modify add-citation

Append an citation to the authors list in the info.json file

Usage:

$ modify add-citation [OPTIONS] SCHEMEINFO CITATION

Arguments:

  • SCHEMEINFO: The path to info.json [required]
  • CITATION: The citation to add [required]

Options:

  • --help: Show this message and exit.

modify primerclass

Append an author to the authors list in the info.json file

Usage:

$ modify primerclass [OPTIONS] SCHEMEINFO PRIMERCLASS:{primerschemes}

Arguments:

  • SCHEMEINFO: The path to info.json [required]
  • PRIMERCLASS:{primerschemes}: The primerclass to change to [required]

Options:

  • --help: Show this message and exit.

modify status

Change the status field in the info.json

Usage:

$ modify status [OPTIONS] SCHEMEINFO

Arguments:

  • SCHEMEINFO: The path to info.json [required]

Options:

  • --schemestatus [withdrawn|deprecated|autogenerated|draft|tested|validated]: The scheme class [default: SchemeStatus.DRAFT]
  • --help: Show this message and exit.

modify remove-author

Remove an author from the authors list in the info.json file

Usage:

$ modify remove-author [OPTIONS] SCHEMEINFO AUTHOR

Arguments:

  • SCHEMEINFO: The path to info.json [required]
  • AUTHOR: The author to remove [required]

Options:

  • --help: Show this message and exit.

modify remove-citation

Remove an citation form the authors list in the info.json file

Usage:

$ modify remove-citation [OPTIONS] SCHEMEINFO CITATION

Arguments:

  • SCHEMEINFO: The path to info.json [required]
  • CITATION: The citation to remove [required]

Options:

  • --help: Show this message and exit.

regenerate

Regenerate the info.json and README.md file for a scheme - Rehashes info.json's primer_bed_md5 and reference_fasta_md5 - Regenerates the README.md file - Recalculate the artic-primerbed version

Ensures work/config.json has no absolute paths - Ensures hashes in config.json are removed

Usage:

$ regenerate [OPTIONS] SCHEMEINFO

Arguments:

  • SCHEMEINFO: The path to info.json [required]

Options:

  • --help: Show this message and exit.

remove

Remove a scheme's version from the repo, will also remove size and schemename directories if empty

Usage:

$ remove [OPTIONS] SCHEMEINFO

Arguments:

  • SCHEMEINFO: The path to info.json [required]

Options:

  • --help: Show this message and exit.

Examples

Adding a minimal scheme

For a simple scheme, only fasta file (--reference) and a bed file (--primerbed) are required. Alongside metadata of --schemename, --algorithmversion, --species, --authors.

primal-page create \
    --schemename example-scheme \
    --algorithmversion ps:100 \
    --ampliconsize 500 \
    --species 123  \
    --schemeversion v1.0.0 \
    --primerbed 'minimal-scheme/minimal.bed' \
    --reference 'minimal-scheme/ref.fasta' \
    --authors me \
    --authors you /
    'minimal-scheme' 

Adding a custom scheme to quick-lab/primerschemes

create a local fork of https://github.com/quick-lab/primerschemes

Add the files to the forks primerschemes folder

primal-page create primal-page create ... --output ~/primerschemes/primerschemes

Create a pull request