Skip to main content

DNA analyser API wrapper tool for Jupiter notebooks.

Project description

logo

pipeline status version python_version python_version python_version licence

DNA analyser IBP

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.

Getting Started

Prerequisites

python >= 3.6

Installing

To install test version from Pypi.

pipenv install dna-analyser-ibp
pip install dna-analyser-ibp

Documentation

Methods are documented in the following documentation.

Quick start

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'
)

Sequence uploading

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

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

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

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 predictor

P53 binding predictor for 20 base pairs sequences.

API.p53.run(
    sequence='GGACATGCCCGGGCATGTCC'
)

API.p53.run_multiple(
    sequences=[
        'GGACATGCCCGGGCATGTCC',
        'GGACATGCCCGGGCATGTCC'
    ]
) 

Development

Dependencies

  • tenacity >= 6.1.0
  • requests >= 2.20
  • requests-toolbelt >= 0.9.1
  • pyjwt >= 1.7.1
  • pandas >= 0.23
  • matplotlib >= 3.0.3
  • tqdm >= 4.28

DEV dependencies

  • pytest = "^6.0.2"
  • pdoc3 = "^0.9.1"
  • black = "^20.0"

Tests

To run tests only when downloaded directly from this repository.

pytest -v tests/

Authors

  • Patrik Kaura - Main developer - patrikkaura
  • Jan Kolomaznik - Supervisor - jankolomaznik
  • Jiří Šťastný - Supervisor

License

This project is licensed under the GPL-3.0 License - see the LICENSE.md file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for dna-analyser-ibp, version 3.3.2
Filename, size File type Python version Upload date Hashes
Filename, size DNA_analyser_IBP-3.3.2-py3-none-any.whl (55.6 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size DNA_analyser_IBP-3.3.2.tar.gz (36.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page