Name | primaschema JSON |
Version |
0.2.0
JSON |
| download |
home_page | |
Summary | A toolkit for primer scheme defintions |
upload_time | 2023-02-10 17:08:47 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.10 |
license | MIT 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"
}