Skip to main content

Async pythonic interface to Biomart.

Project description

apybiomart

https://img.shields.io/pypi/v/apybiomart.svg Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public. Travis CI build status CircleCI build status Codecov status Documentation Status Updates Python 3 Downloads

Async pythonic interface to BioMart.

Features

apybiomart is a Python module which provides a simple asynchronous interface to Ensembl BioMart. Users can exploit the async interface to schedule multiple queries using all the commodities offered by Python’s asyncio library.

Depending on specific needs, apybiomart offers different entry points:

  • an asynchronous aquery() function, to schedule multiple queries in the same event loop;

  • a synchronous query() function, which can be used for exploratory queries, executed in real time;

  • a set of synchronous find_*() functions, which can be used to retrieve the list of available marts (find_marts()), datasets for a specific mart (find_datasets()), attributes (find_attributes()) and filters (find_filters()) for a specific dataset.

    • a set of related CLI commands also exists to allow exploration of these data from the command line; these are, respectively, apybiomart marts, apybiomart datasets, apybiomart attributes and apybiomart filters. Run apybiomart --help for further details.

Please refer to the Usage section of the documentation for further information.

Background

apybiomart was originally born as a fork of the great pybiomart package.

I was working on a project that employed a series of async calls to several online resources, but I couldn’t manage to perform asynchronous calls to BioMart using that package, so I decided to modify it to better suit my needs. However, it gradually evolved into a very different thing: the original implementation was rewritten and the structure of the package changed a bit, in a way that I found most useful for my purpose.

This said, all the credits go to jrderuiter, which created the original pybiomart package.

Installation

apybiomart only supports Python 3, and can be installed using pip:

pip install apybiomart

Please refer to the Installation section of the documentation for further information.

Credits

This package was created with Cookiecutter and the cc-pypackage project template.

History

0.1.0 (2019-03-26)

  • First development release.

0.1.1 (2019-03-27)

  • Requests are converted to async calls;

  • Code style is clean and Python 3 compatible.

0.1.2 (2019-03-27)

  • Add basic tests.

0.2.0 (2019-03-31)

  • New version with different organisation of classes and functions;

  • Sync query and async aquery functions to query Biomart;

  • Sync list_* functions to retrieve available marts, datasets, filters and attributes.

0.2.1 (2019-04-01)

  • Add tests.

0.2.2 (2019-04-01)

  • Basic functions working and tested;

  • Fix documentation;

  • Update requirements.

0.2.3 (2019-04-02)

  • Update requirements;

  • Fix type hints for query functions;

  • Reorganise query classes into a single class;

  • Update documentation.

0.2.4 (2019-04-04)

  • Fix type hints;

  • Fix docstrings in classes;

  • Add docstrings to main entry points.

0.2.5 (2019-04-09)

  • Fix test files with new BioMart versions;

  • Add script to create test files automatically.

0.2.6 (2019-04-29)

  • Update test files;

  • Fix and update documentation.

0.3.0 (2019-05-05)

  • Change list_* functions names to find_* for better compliance;

  • Update documentation.

0.3.1 (2019-05-11)

  • Fix requirements handling;

  • Add function to check internet connection.

0.3.2 (2019-05-29)

  • Correct minor typos;

  • Update documentation and testfiles.

0.3.3 (2019-07-29)

  • Fix #37 - issue with the requests module not installed.

0.3.4 (2019-08-23)

  • Better handling of filters arguments for query() and aquery() functions;

  • Convert docstrings to Google style;

  • Fix documentation.

0.3.5 (2019-08-25)

  • Relax requirement versions.

0.4.0 (2020-01-26)

  • Add CLI commands for finding marts, datasets, attributes and filters;

  • Change output dataframe column names.

0.5.0 (2020-03-22)

  • Add CLI and Python module options to save outputs to CSV file.

0.5.1 (2020-04-04)

  • Add option to specify the output CSV filename.

0.5.2 (2020-06-06)

  • Update tests and test files;

  • Clean code;

  • Add CI module.

0.5.3 (2020-11-30)

  • Remove deprecated pd.np occurrencies;

  • Update test files.

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

apybiomart-0.5.3.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

apybiomart-0.5.3-py2.py3-none-any.whl (10.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file apybiomart-0.5.3.tar.gz.

File metadata

  • Download URL: apybiomart-0.5.3.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for apybiomart-0.5.3.tar.gz
Algorithm Hash digest
SHA256 0fe723c166c52245b0b5a35d9ff977090049719b74834f365a82fc0c96736988
MD5 13f4f8a5688ff2ca244c2534de4c264d
BLAKE2b-256 8f1bf99ef5b60f849b6b4496947fcbda34206f2930ecd13157723467a61d5113

See more details on using hashes here.

File details

Details for the file apybiomart-0.5.3-py2.py3-none-any.whl.

File metadata

  • Download URL: apybiomart-0.5.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for apybiomart-0.5.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7681e86bca6217c4987ae30ad25b3d1926e75d6d91b3a8f49e2859d990cab53c
MD5 42a691982b9b26cdc0718ab29e631ca6
BLAKE2b-256 56684b4450b43a779083f3443149d8f981f1a399a5c04cd435a1ab13f4fa80f0

See more details on using hashes here.

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