primaschema


Nameprimaschema JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryA toolkit for primer scheme defintions
upload_time2023-02-10 17:08:47
maintainer
docs_urlNone
author
requires_python>=3.10
licenseMIT License
keywords genomics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Tests](https://github.com/pha4ge/primaschema/actions/workflows/test.yml/badge.svg) [![PyPI version](https://badge.fury.io/py/primaschema.svg)](https://pypi.org/project/primaschema)
# Primaschema

The toolkit for validating and building tiling amplicon PCR primer scheme definitions for inclusion in the [PHA4GE primer-schemes repository](https://github.com/pha4ge/primer-schemes), starting from either 6 or 7 column Primal Scheme-like BED files and metadata contained in a YAML file.



## Install (Python 3.10+)

```
git clone https://github.com/pha4ge/primaschema
pip install primer-schemes
```

Some primaschema commands use components from the [primer-schemes](https://github.com/pha4ge/primer-schemes) repository. To show Primaschema where to find these, create the evironment variable `PRIMER_SCHEMES_PATH` pointing to the location of the primer-schemes directory on your machine:

```
git clone https://github.com/pha4ge/primer-schemes.git
export PRIMER_SCHEMES_PATH="/path/to/primer-schemes"
```



## Usage

```
% primaschema --help
usage: primaschema [-h] [--version]
                   {hash-ref,hash-bed,validate,validate-recursive,build,build-recursive,build-manifest,diff,6to7,7to6,show-non-ref-alts}
                   ...

positional arguments:
  {hash-ref,hash-bed,validate,validate-recursive,build,build-recursive,build-manifest,diff,6to7,7to6,show-non-ref-alts}
    hash-ref            Generate reference sequence checksum
    hash-bed            Generate a bed file checksum
    validate            Validate a primer scheme bundle containing info.yml, primer.bed and reference.fasta
    validate-recursive  Recursively validate primer scheme bundles in the specified directory
    build               Build a primer scheme bundle containing info.yml, primer.bed and reference.fasta
    build-recursive     Recursively build primer scheme bundles in the specified directory
    build-manifest      Build a complete manifest of schemes contained in the specified directory
    diff                Show the symmetric difference of records in two bed files
    6to7                Convert a 6 column scheme.bed file to a 7 column primer.bed file using a reference sequence
    7to6                Convert a 7 column primer.bed file to a 6 column scheme.bed file by droppign a column
    show-non-ref-alts   Show primer records with sequences not matching the reference sequence

options:
  -h, --help            show this help message and exit
  --version             show program's version number and exit


% primaschema build test/data/primer-schemes/eden/v1
INFO: Scheme bed file has the expected number of columns (6)
INFO: Writing info.yml with checksums
INFO: Generating primer.bed from scheme.bed and reference.fasta
```



## `info.yml` example

```yaml
schema_version: 1-0-0
name: eden-v1
organism: SARS-CoV-2
organism_aliases:
  - nCoV-2019
aliases:
  - sydney
developers:
  - name: John-Sebastian Eden
    url: https://orcid.org/0000-0003-1374-3551
  - name: Eby Sim
    url: https://orcid.org/0000-0002-3716-7344
vendors: []
amplicon_size: 2500
repository_url: https://github.com/pha4ge/primer-schemes/tree/main/sars-cov-2/eden/v1
citations:
  - https://www.protocols.io/view/sars-cov-2-genome-sequencing-using-long-pooled-amp-kxygxeob4v8j/v1
notes:
  - Protocol includes addendum for ONT sequencing
primer_checksum: "primaschema:9e4c6a3b84cbd76cb3e38b893d0322b5799ecafe28d8cf7bf347ce6dcc5ee8cb"
reference_checksum: "primaschema:7d5621cd3b3e498d0c27fcca9d3d3c5168c7f3d3f9776f3005c7011bd90068ca"
```



## Development

```shell
# Inside a clean Python 3.10+ environment
git clone https://github.com/pha4ge/primaschema.git
cd primaschema
pip install --editable ./
pytest
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "primaschema",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "genomics",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/8c/3b/93023d9b688b3439f7f87331c30226872acfacf2577a0a20e359be554c1b/primaschema-0.2.0.tar.gz",
    "platform": null,
    "description": "![Tests](https://github.com/pha4ge/primaschema/actions/workflows/test.yml/badge.svg) [![PyPI version](https://badge.fury.io/py/primaschema.svg)](https://pypi.org/project/primaschema)\n# Primaschema\n\nThe toolkit for validating and building tiling amplicon PCR primer scheme definitions for inclusion in the [PHA4GE primer-schemes repository](https://github.com/pha4ge/primer-schemes), starting from either 6 or 7 column Primal Scheme-like BED files and metadata contained in a YAML file.\n\n\n\n## Install (Python 3.10+)\n\n```\ngit clone https://github.com/pha4ge/primaschema\npip install primer-schemes\n```\n\nSome primaschema commands use components from the [primer-schemes](https://github.com/pha4ge/primer-schemes) repository. To show Primaschema where to find these, create the evironment variable `PRIMER_SCHEMES_PATH` pointing to the location of the primer-schemes directory on your machine:\n\n```\ngit clone https://github.com/pha4ge/primer-schemes.git\nexport PRIMER_SCHEMES_PATH=\"/path/to/primer-schemes\"\n```\n\n\n\n## Usage\n\n```\n% primaschema --help\nusage: primaschema [-h] [--version]\n                   {hash-ref,hash-bed,validate,validate-recursive,build,build-recursive,build-manifest,diff,6to7,7to6,show-non-ref-alts}\n                   ...\n\npositional arguments:\n  {hash-ref,hash-bed,validate,validate-recursive,build,build-recursive,build-manifest,diff,6to7,7to6,show-non-ref-alts}\n    hash-ref            Generate reference sequence checksum\n    hash-bed            Generate a bed file checksum\n    validate            Validate a primer scheme bundle containing info.yml, primer.bed and reference.fasta\n    validate-recursive  Recursively validate primer scheme bundles in the specified directory\n    build               Build a primer scheme bundle containing info.yml, primer.bed and reference.fasta\n    build-recursive     Recursively build primer scheme bundles in the specified directory\n    build-manifest      Build a complete manifest of schemes contained in the specified directory\n    diff                Show the symmetric difference of records in two bed files\n    6to7                Convert a 6 column scheme.bed file to a 7 column primer.bed file using a reference sequence\n    7to6                Convert a 7 column primer.bed file to a 6 column scheme.bed file by droppign a column\n    show-non-ref-alts   Show primer records with sequences not matching the reference sequence\n\noptions:\n  -h, --help            show this help message and exit\n  --version             show program's version number and exit\n\n\n% primaschema build test/data/primer-schemes/eden/v1\nINFO: Scheme bed file has the expected number of columns (6)\nINFO: Writing info.yml with checksums\nINFO: Generating primer.bed from scheme.bed and reference.fasta\n```\n\n\n\n## `info.yml` example\n\n```yaml\nschema_version: 1-0-0\nname: eden-v1\norganism: SARS-CoV-2\norganism_aliases:\n  - nCoV-2019\naliases:\n  - sydney\ndevelopers:\n  - name: John-Sebastian Eden\n    url: https://orcid.org/0000-0003-1374-3551\n  - name: Eby Sim\n    url: https://orcid.org/0000-0002-3716-7344\nvendors: []\namplicon_size: 2500\nrepository_url: https://github.com/pha4ge/primer-schemes/tree/main/sars-cov-2/eden/v1\ncitations:\n  - https://www.protocols.io/view/sars-cov-2-genome-sequencing-using-long-pooled-amp-kxygxeob4v8j/v1\nnotes:\n  - Protocol includes addendum for ONT sequencing\nprimer_checksum: \"primaschema:9e4c6a3b84cbd76cb3e38b893d0322b5799ecafe28d8cf7bf347ce6dcc5ee8cb\"\nreference_checksum: \"primaschema:7d5621cd3b3e498d0c27fcca9d3d3c5168c7f3d3f9776f3005c7011bd90068ca\"\n```\n\n\n\n## Development\n\n```shell\n# Inside a clean Python 3.10+ environment\ngit clone https://github.com/pha4ge/primaschema.git\ncd primaschema\npip install --editable ./\npytest\n```\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "A toolkit for primer scheme defintions",
    "version": "0.2.0",
    "split_keywords": [
        "genomics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1d747bddaef881a5cd21195195bf2833cf92bcdd711a51b9ff365bc2d68b4910",
                "md5": "0621c3c2b97f6b3161d34bce9cf41e31",
                "sha256": "fff235ed2f6b43e380d6bd854ab942ce9c454a821a11ff14103b05b0ed563405"
            },
            "downloads": -1,
            "filename": "primaschema-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0621c3c2b97f6b3161d34bce9cf41e31",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9386,
            "upload_time": "2023-02-10T17:08:45",
            "upload_time_iso_8601": "2023-02-10T17:08:45.385243Z",
            "url": "https://files.pythonhosted.org/packages/1d/74/7bddaef881a5cd21195195bf2833cf92bcdd711a51b9ff365bc2d68b4910/primaschema-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8c3b93023d9b688b3439f7f87331c30226872acfacf2577a0a20e359be554c1b",
                "md5": "b19a176973f50db4bdce00ef2ae4831c",
                "sha256": "e842ae7dbe90e1cd9ec770447c496f855477d2557604318dfe864374e2b02da8"
            },
            "downloads": -1,
            "filename": "primaschema-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b19a176973f50db4bdce00ef2ae4831c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 10721,
            "upload_time": "2023-02-10T17:08:47",
            "upload_time_iso_8601": "2023-02-10T17:08:47.004795Z",
            "url": "https://files.pythonhosted.org/packages/8c/3b/93023d9b688b3439f7f87331c30226872acfacf2577a0a20e359be554c1b/primaschema-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-10 17:08:47",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "primaschema"
}
        
Elapsed time: 0.05760s