Package: primal-page
Primal-PageThis is the tooling for working with the primerschemes indexUsage:$[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 formatmodify: 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 indexbuild-indexBuild an index.json file from all schemes in the directoryUsage:$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.createCreate a new scheme in the required format. This will automatically search for required files.Usage:$create[OPTIONS]SCHEMEPATHArguments: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.modifyModify 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.jsonremove-author: Remove an author from the authors list in...remove-citation: Remove an citation form the authors list...modify add-authorAppend an author to the authors list in the info.json fileUsage:$modifyadd-author[OPTIONS]SCHEMEINFOAUTHORArguments:SCHEMEINFO: The path to info.json  [required]AUTHOR: The author to add  [required]Options:--help: Show this message and exit.modify add-citationAppend an citation to the authors list in the info.json fileUsage:$modifyadd-citation[OPTIONS]SCHEMEINFOCITATIONArguments:SCHEMEINFO: The path to info.json  [required]CITATION: The citation to add  [required]Options:--help: Show this message and exit.modify primerclassAppend an author to the authors list in the info.json fileUsage:$modifyprimerclass[OPTIONS]SCHEMEINFOPRIMERCLASS:{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 statusChange the status field in the info.jsonUsage:$modifystatus[OPTIONS]SCHEMEINFOArguments: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-authorRemove an author from the authors list in the info.json fileUsage:$modifyremove-author[OPTIONS]SCHEMEINFOAUTHORArguments:SCHEMEINFO: The path to info.json  [required]AUTHOR: The author to remove  [required]Options:--help: Show this message and exit.modify remove-citationRemove an citation form the authors list in the info.json fileUsage:$modifyremove-citation[OPTIONS]SCHEMEINFOCITATIONArguments:SCHEMEINFO: The path to info.json  [required]CITATION: The citation to remove  [required]Options:--help: Show this message and exit.regenerateRegenerate 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 versionEnsures work/config.json has no absolute paths
- Ensures hashes in config.json are removedUsage:$regenerate[OPTIONS]SCHEMEINFOArguments:SCHEMEINFO: The path to info.json  [required]Options:--help: Show this message and exit.removeRemove a scheme's version from the repo, will also remove size and schemename directories if emptyUsage:$remove[OPTIONS]SCHEMEINFOArguments:SCHEMEINFO: The path to info.json  [required]Options:--help: Show this message and exit.ExamplesAdding a minimal schemeFor 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/primerschemescreate a local fork ofhttps://github.com/quick-lab/primerschemesAdd the files to the forks primerschemes folderprimal-page create primal-page create ... --output ~/primerschemes/primerschemesCreate a pull request