Skip to main content

DNA analyser API wrapper tool for Jupiter notebooks.

Project description

logo

version python_version python_version licence

DNA analyser IBP

Tool for creating Palindrome, P53predictor, 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

Dependencies

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

Changelog

Version 2.0.0 (2020-02-24)

Feature

  • MultiFasta uploader
  • Sphinx documentation
  • Anotation downloader
  • Anotation parser
  • G4Hunter heatmap downloader

Fix

  • G4Hunter heatmap method add aggregation parameter [default=True]

Refactoring

  • Changes in all doc strings (Goolgle style)
  • Sequence methods encapsulated into SequenceMethods object
  • G4Hunter methods encapsulated into G4HunterMethods object

The rest of project changelog can be found at CHANGELOG.md.

Installing

To install test version from Pypi.

pipenv install dna-analyser-ibp
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.

from DNA_analyser_IBP.api import Api

API = Api(server='http://bioinformatics.ibp.cz:8888/api')
Enter your email        example@example.cz
Enter your password     ········
User user@mendelu.cz logged in: 2019-03-27 19:46:56.661376

If DNA analyser API server not running on http://bioinformatics.ibp.cz then use this example to create Api object.

from DNA_analyser_IBP.api import Api

API = Api(server='http://hostname:port/api')

Then upload NCBI sequence for example Homo sapiens chromosome 12 use.

API.sequence.ncbi_creator(circular= True, tags=['Homo','sapiens', 'chromosome'], name='Homo sapiens chromosome 12', ncbi_id='NC_000012.12')

To analyse NCBI sequence use g4hunter interface.

sapiens_sequence = API.sequence.load_all(tags='Homo') # get series with sapiens sequence

# run g4hunter analyses with these params
API.g4hunter.analyse_creator(sequence=sapiens_sequence, tags=['testovaci','Homo', 'sapiens'], threshold=1.4, window_size=30)

Last step to see results of g4hunter analysis.

sapiens = API.g4hunter.load_all(tags=['Homo']) # returns dataframe
API.g4hunter.load_results(analyse=sapiens.iloc[0]) # iloc[0] to select row from dataframe

P53 / G4KILLER TOOL

To run simple tools using plain text input.

# implements g4killer algorithm for generating sequence with lower gscore
API.g4killer.run(sequence='AATTATTTGGAAAGGGGGGGTTTTCCGA', threshold=0.5) 

# implements calculations of p53 binding predictor for 20 base pairs sequences 
API.p53.run(sequence='GGACATGCCCGGGCATGTCC') 

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.

Source Distribution

dna_analyser_ibp-2.0.0.tar.gz (34.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page