Tool for creating R-loop tracker, P53predictor, G4Killer and G4Hunter analysis. Work as API wrapper for IBP DNA analyzer API bioinformatics.ibp. 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.
python >= 3.10
To install test version from Pypi.
pipenv install dna-analyser-ibp
pip install dna-analyser-ibp
DNA analyser uses pandas.Dataframe
or pandas.Series
. Firstly the user has to create Api
object and login to API.
from DNA_analyser_IBP.api import Api
API = Api()
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.
from DNA_analyser_IBP.api import Api
API = Api(
server='http://hostname:port/api'
)
Sequences can be uploaded from NCBI, plain text or text file. Example bellow illustrates NCBI sequence uploading Homo sapiens chromosome 12
.
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 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.
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.
API.g4hunter.load_all(
tags=['analyse', 'Homo', 'sapiens']
)
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.
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.
API.rloopr.load_all(
tags=['analyse', 'Homo', 'sapiens']
)
G4Killer algorithm allows to mutate DNA sequences with desired G4Hunter score with minimal mutation steps.
API.g4killer.run(
sequence='AATTATTTGGAAAGGGGGGGTTTTCCGA',
threshold=0.5
)
API.g4killer.run_multiple(
sequences=[
'AATTATTTGGAAAGGGGGGGTTTTCCGA',
'AATTATTTGGAAAGGGGGGGTTTTCCGA'
],
threshold=0.5
)
P53 binding predictor for 20 base pairs sequences.
API.p53.run(
sequence='GGACATGCCCGGGCATGTCC'
)
API.p53.run_multiple(
sequences=[
'GGACATGCCCGGGCATGTCC',
'GGACATGCCCGGGCATGTCC'
]
)
- 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"
- pytest = "7.4.2"
To run tests only when downloaded directly from this repository.
pytest -v tests/
- Patrik Kaura - Main developer - patrikkaura
This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details.