Skip to main content

Naturalis BioInformatics ToolKit

Project description

nbitk: Naturalis BioInformatics ToolKit

This project is intended as a foundational toolkit for bioinformatics research at Naturalis Biodiversity Center. The toolkit is written in Python and is designed to be easy to use and easy to extend.

The Big Idea

BioPython has good support for a lot of bioinformatics use cases. For example, for reading and writing standard DNA sequence file formats, Bio.SeqIO is the go-to solution. However, we at Naturalis also operate on formats that are not supported by biopython, such as BCDM, or spreadsheets, or JSON files, and we have a need for more attributes on certain object than provided by BioPython. Rather than reinventing the wheel for those formats and passing around non-standard sequence objects (e.g. a dict or whatever), the sensible thing would be to build up a common toolkit that extends biopython for those use cases.

This toolkit is intended to provide such functionality. It is not intended to replace BioPython, but to extend it. It is meant to be stable and relatively lightweight, so we mean to be quite hesitant to add features that are not likely to be needed for a lot of use cases. As some examples for use cases that we do want to support:

  • Reading and writing taxonomic trees from formats not yet supported by BioPython. For example: DarwinCore representations such as the Dutch species register; taxonomic trees implied by custom FASTA headers; taxonomic lineages and trees produced by various (web) services for taxonomic name resolution.
  • Reading and writing sequences from formats not yet supported by BioPython. For example: JSON files produced by barcoding and metabarcoding pipelines.
  • Interactions with services within the Naturalis architecture, such as S3 buckets, DataBricks, LIMS, Galaxy, etc.

However, anything that is likely to require a lot of maintenance to stay up to date (such as wrappers around tools that are frequently updated) is probably not a good fit for this toolkit.

Who is this for?

The principal users and developers of this toolkit are the bioinformaticians at Naturalis Biodiversity Center. Design changes and feature requests should therefore be discussed with the bioinformatics team.

Installation

The toolkit is intended to be released on PyPI and can be installed using pip:

pip install nbitk

To minimize dependency hell, the general idea is not to release the toolkit itself on conda with loads of dependencies. Rather, we will release the toolkit on PyPI and let the user install the dependencies they need themselves. This way, we can keep the toolkit lightweight and easy to install.

Usage

The toolkit is meant for programmatic use. It is not intended to be used as a command line tool. Consult the various modules and classes for documentation on how to use the toolkit. In addition, the scripts in the tests directory provide examples of how to use the toolkit.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

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

nbitk-0.2.3.tar.gz (5.0 MB view details)

Uploaded Source

Built Distribution

nbitk-0.2.3-py3-none-any.whl (5.0 MB view details)

Uploaded Python 3

File details

Details for the file nbitk-0.2.3.tar.gz.

File metadata

  • Download URL: nbitk-0.2.3.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for nbitk-0.2.3.tar.gz
Algorithm Hash digest
SHA256 6240b4b53f18f5d3304256c7aee8b8c6a9ef9fdfa9215b7d861f7a0ca0f01dcd
MD5 794a96899b2ffea029a19a19845d2e3b
BLAKE2b-256 e832352932098f60e0ab941bdf85bc83082d8a00ba7dc8ad3c2643d7f5557149

See more details on using hashes here.

File details

Details for the file nbitk-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: nbitk-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for nbitk-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9c0ff3a51294f6599925711200991bd7b3540c890ec9d34fbd90c3e5de4ffbc4
MD5 26fadc5316e55b46a435a3943edccc13
BLAKE2b-256 1b43a1d7eb0f80097ae5eb7ad3de216b4715702befe447544ed387b933c0549e

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