<h1 align='center'> DNA analyser IBP </h1>
<br />
<div align="center">
<a href="https://pypi.org/project/dna-analyser-ibp/">
<img src="https://img.shields.io/badge/Version 3.6.0-green?style=for-the-badge" alt='package_version'/>
</a>
<img src="https://img.shields.io/badge/Python 3.10+-00599C?style=for-the-badge&logo=python&logoColor=white" alt='python_version'/>
<img src="https://img.shields.io/badge/jupyter-gray?style=for-the-badge&logo=jupyter" alt='jupyter'/>
<a href="https://choosealicense.com/licenses/gpl-3.0/">
<img src="https://img.shields.io/badge/gnu-white?style=for-the-badge&logo=gnu&logoColor=black" alt='licence'/>
</a>
</div>
<br />
Tool for creating R-loop tracker, P53predictor, G4Killer and G4Hunter analysis. Work as API wrapper for IBP DNA analyzer API [bioinformatics.ibp](http://bioinformatics.ibp.cz/).
Currently working with an instance of DNA analyser server running on http://bioinformatics.ibp.cz computational core but can be switched
to the local instance of the server.
# Getting Started
## Prerequisites
python >= 3.10
## Installing
To install test version from [Pypi](https://pypi.org/project/dna-analyser-ibp/).
```commandline
pipenv install dna-analyser-ibp
```
```commandline
pip install dna-analyser-ibp
```
## Quick start
DNA analyser uses `pandas.Dataframe` or `pandas.Series`. Firstly the user has to create `Api` object and login to API.
```python
from DNA_analyser_IBP.api import Api
API = Api()
```
```python
Enter your email example@example.cz
Enter your password ········
2020-09-16 18:51:17.943398 [INFO]: User host is trying to login ...
2020-09-16 18:51:17.990580 [INFO]: User host is successfully loged in ...
```
If DNA analyser API server is not running on http://bioinformatics.ibp.cz then you have to set server paramether to create `Api` object.
```python
from DNA_analyser_IBP.api import Api
API = Api(
server='http://hostname:port/api'
)
```
## Sequence uploading
Sequences can be uploaded from NCBI, plain text or text file. Example bellow illustrates NCBI sequence uploading `Homo sapiens chromosome 12`.
```python
API.sequence.ncbi_creator(
circular= True,
tags=['Homo','sapiens', 'chromosome'],
name='Homo sapiens chromosome 12',
ncbi_id='NC_000012.12'
)
API.sequence.load_all(
tags=['Homo']
)
```
## G4Hunter
G4Hunter is a tool for prediction of G-quadruplex propensity in nucleic acids, this algorithm considers G-richness and G-skewness of a tested sequence and shows a quadruplex propensity score.
```python
sapiens = API.g4hunter.load_all(
tags=['Homo']
)
API.g4hunter.analyse_creator(
sequence=sapiens,
tags=['analyse','Homo', 'sapiens'],
threshold=1.4,
window_size=30
)
```
To load results of G4Hunter analysis.
```python
API.g4hunter.load_all(
tags=['analyse', 'Homo', 'sapiens']
)
```
## R-loop tracker
R-loop tracker is a toll for prediction of R-loops in nucleic acids. The algorithms search for R-loop initiation zone based on presence of G-clusters and R-loop elongation zone containing at least 40% of Guanine density.
```python
sapiens = API.g4hunter.load_all(
tags=['Homo']
)
API.rloopr.analyse_creator(
sequence=sapiens,
tags=['analyse', 'Homo', 'sapiens'],
riz_2g_cluster=True,
riz_3g_cluster=False
)
```
To load results of R-loop tracker analysis.
```python
API.rloopr.load_all(
tags=['analyse', 'Homo', 'sapiens']
)
```
## G4Killer
G4Killer algorithm allows to mutate DNA sequences with desired G4Hunter score with minimal mutation steps.
```python
API.g4killer.run(
sequence='AATTATTTGGAAAGGGGGGGTTTTCCGA',
threshold=0.5
)
API.g4killer.run_multiple(
sequences=[
'AATTATTTGGAAAGGGGGGGTTTTCCGA',
'AATTATTTGGAAAGGGGGGGTTTTCCGA'
],
threshold=0.5
)
```
## P53 predictor
P53 binding predictor for 20 base pairs sequences.
```python
API.p53.run(
sequence='GGACATGCCCGGGCATGTCC'
)
API.p53.run_multiple(
sequences=[
'GGACATGCCCGGGCATGTCC',
'GGACATGCCCGGGCATGTCC'
]
)
```
# Development
## Dependencies
* requests = "2.31.0"
* pandas = "2.0.0"
* tqdm = "4.66.0"
* pyjwt = "2.8.0"
* matplotlib = "3.7.2"
* requests-toolbelt = "1.0.0"
* tenacity = "8.2.3"
## DEV dependencies
* pytest = "7.4.2"
## Tests
To run tests only when downloaded directly from this repository.
```commandline
pytest -v tests/
```
## Authors
* **Patrik Kaura** - *Main developer* - [patrikkaura](https://github.com/patrikkaura)
## License
This project is licensed under the GPL-3.0 License - see the [LICENSE.md](LICENSE.md) file for details.
Raw data
{
"_id": null,
"home_page": "http://bioinformatics.ibp.cz/",
"name": "dna-analyser-ibp",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "DNA,g4hunter,g4killer,p53",
"author": "Patrik Kaura",
"author_email": "patrikkaura@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/9e/f3/a83eb573055ead5c6c43444075f320361ae55a528654094bba246f3ed2ff/dna_analyser_ibp-3.6.0.tar.gz",
"platform": null,
"description": "<h1 align='center'> DNA analyser IBP </h1>\n<br />\n<div align=\"center\">\n <a href=\"https://pypi.org/project/dna-analyser-ibp/\">\n <img src=\"https://img.shields.io/badge/Version 3.6.0-green?style=for-the-badge\" alt='package_version'/>\n </a>\n <img src=\"https://img.shields.io/badge/Python 3.10+-00599C?style=for-the-badge&logo=python&logoColor=white\" alt='python_version'/>\n <img src=\"https://img.shields.io/badge/jupyter-gray?style=for-the-badge&logo=jupyter\" alt='jupyter'/>\n <a href=\"https://choosealicense.com/licenses/gpl-3.0/\">\n <img src=\"https://img.shields.io/badge/gnu-white?style=for-the-badge&logo=gnu&logoColor=black\" alt='licence'/>\n </a>\n</div>\n<br />\n\nTool for creating R-loop tracker, P53predictor, G4Killer and G4Hunter analysis. Work as API wrapper for IBP DNA analyzer API [bioinformatics.ibp](http://bioinformatics.ibp.cz/).\nCurrently working with an instance of DNA analyser server running on http://bioinformatics.ibp.cz computational core but can be switched \nto the local instance of the server.\n\n# Getting Started\n\n## Prerequisites\n\npython >= 3.10\n\n## Installing\n\nTo install test version from [Pypi](https://pypi.org/project/dna-analyser-ibp/).\n\n```commandline\npipenv install dna-analyser-ibp\n```\n\n```commandline\npip install dna-analyser-ibp\n```\n## Quick start\n\nDNA analyser uses `pandas.Dataframe` or `pandas.Series`. Firstly the user has to create `Api` object and login to API.\n```python\nfrom DNA_analyser_IBP.api import Api\n\nAPI = Api()\n```\n```python\nEnter your email example@example.cz\nEnter your password \u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\u00b7\n\n2020-09-16 18:51:17.943398 [INFO]: User host is trying to login ...\n2020-09-16 18:51:17.990580 [INFO]: User host is successfully loged in ...\n```\nIf DNA analyser API server is not running on http://bioinformatics.ibp.cz then you have to set server paramether to create `Api` object.\n```python\nfrom DNA_analyser_IBP.api import Api\n\nAPI = Api(\n server='http://hostname:port/api'\n)\n```\n\n## Sequence uploading\nSequences can be uploaded from NCBI, plain text or text file. Example bellow illustrates NCBI sequence uploading `Homo sapiens chromosome 12`.\n```python\nAPI.sequence.ncbi_creator(\n circular= True,\n tags=['Homo','sapiens', 'chromosome'],\n name='Homo sapiens chromosome 12',\n ncbi_id='NC_000012.12'\n)\n\nAPI.sequence.load_all(\n tags=['Homo']\n)\n```\n\n## G4Hunter\nG4Hunter is a tool for prediction of G-quadruplex propensity in nucleic acids, this algorithm considers G-richness and G-skewness of a tested sequence and shows a quadruplex propensity score. \n```python\nsapiens = API.g4hunter.load_all(\n tags=['Homo']\n)\n\nAPI.g4hunter.analyse_creator(\n sequence=sapiens,\n tags=['analyse','Homo', 'sapiens'],\n threshold=1.4,\n window_size=30\n)\n```\nTo load results of G4Hunter analysis.\n```python\nAPI.g4hunter.load_all(\n tags=['analyse', 'Homo', 'sapiens']\n) \n```\n\n## R-loop tracker\n R-loop tracker is a toll for prediction of R-loops in nucleic acids. The algorithms search for R-loop initiation zone based on presence of G-clusters and R-loop elongation zone containing at least 40% of Guanine density.\n```python\nsapiens = API.g4hunter.load_all(\n tags=['Homo']\n)\nAPI.rloopr.analyse_creator(\n sequence=sapiens,\n tags=['analyse', 'Homo', 'sapiens'],\n riz_2g_cluster=True,\n riz_3g_cluster=False\n)\n```\nTo load results of R-loop tracker analysis.\n```python\nAPI.rloopr.load_all(\n tags=['analyse', 'Homo', 'sapiens']\n) \n```\n\n## G4Killer\nG4Killer algorithm allows to mutate DNA sequences with desired G4Hunter score with minimal mutation steps.\n```python\nAPI.g4killer.run(\n sequence='AATTATTTGGAAAGGGGGGGTTTTCCGA',\n threshold=0.5\n) \n\nAPI.g4killer.run_multiple(\n sequences=[\n 'AATTATTTGGAAAGGGGGGGTTTTCCGA',\n 'AATTATTTGGAAAGGGGGGGTTTTCCGA'\n ],\n threshold=0.5\n)\n```\n## P53 predictor\nP53 binding predictor for 20 base pairs sequences. \n```python\nAPI.p53.run(\n sequence='GGACATGCCCGGGCATGTCC'\n)\n\nAPI.p53.run_multiple(\n sequences=[\n 'GGACATGCCCGGGCATGTCC',\n 'GGACATGCCCGGGCATGTCC'\n ]\n) \n```\n\n# Development\n\n## Dependencies\n\n* requests = \"2.31.0\"\n* pandas = \"2.0.0\"\n* tqdm = \"4.66.0\"\n* pyjwt = \"2.8.0\"\n* matplotlib = \"3.7.2\"\n* requests-toolbelt = \"1.0.0\"\n* tenacity = \"8.2.3\"\n\n## DEV dependencies\n\n* pytest = \"7.4.2\"\n\n\n## Tests\n\nTo run tests only when downloaded directly from this repository.\n\n```commandline\npytest -v tests/\n```\n\n## Authors\n\n* **Patrik Kaura** - *Main developer* - [patrikkaura](https://github.com/patrikkaura)\n\n## License\n\nThis project is licensed under the GPL-3.0 License - see the [LICENSE.md](LICENSE.md) file for details.\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "DNA analyser API wrapper tool for Jupiter notebooks.",
"version": "3.6.0",
"project_urls": {
"Documentation": "https://github.com/patrikkaura/dna-analyser-ibp/",
"Homepage": "http://bioinformatics.ibp.cz/",
"Repository": "https://github.com/patrikkaura/dna-analyser-ibp"
},
"split_keywords": [
"dna",
"g4hunter",
"g4killer",
"p53"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4d25e0aee22a2dc9f35e9b4878d70d0e40cb31b02e520e9323e6501efe119ac7",
"md5": "d5ea402596f853ee70ac15c11758c09e",
"sha256": "c7b5cc764ef33dcc0b3fa43fa481f8cbec1c34b727b3a0a83f84315d3a63f043"
},
"downloads": -1,
"filename": "dna_analyser_ibp-3.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d5ea402596f853ee70ac15c11758c09e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 55404,
"upload_time": "2023-09-09T18:29:04",
"upload_time_iso_8601": "2023-09-09T18:29:04.200513Z",
"url": "https://files.pythonhosted.org/packages/4d/25/e0aee22a2dc9f35e9b4878d70d0e40cb31b02e520e9323e6501efe119ac7/dna_analyser_ibp-3.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9ef3a83eb573055ead5c6c43444075f320361ae55a528654094bba246f3ed2ff",
"md5": "f447fa6a451170751d6009adecf6156c",
"sha256": "5adfa873f5d5a1cc46c4e1eb5406d145ad596909271e11a6986491b3e0bc5909"
},
"downloads": -1,
"filename": "dna_analyser_ibp-3.6.0.tar.gz",
"has_sig": false,
"md5_digest": "f447fa6a451170751d6009adecf6156c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 35829,
"upload_time": "2023-09-09T18:29:06",
"upload_time_iso_8601": "2023-09-09T18:29:06.571298Z",
"url": "https://files.pythonhosted.org/packages/9e/f3/a83eb573055ead5c6c43444075f320361ae55a528654094bba246f3ed2ff/dna_analyser_ibp-3.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-09 18:29:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "patrikkaura",
"github_project": "dna-analyser-ibp",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dna-analyser-ibp"
}