Important project update (April 2022): scikit-bio is currently in maintenance mode. Due to limited developer bandwidth, we are focusing on keeping scikit-bio up-to-date with Python and Python scientific computing libraries. We plan to do this through two annual releases of scikit-bio. At this time, we have less availability for reviewing or adding new features. We realize that scikit-bio is an important tool for the bioinformatics community, and we hope to transition back to more active development in the future. If you're interested in helping by taking a leadership role in the project, please reach out.
scikit-bio is an open-source, BSD-licensed Python 3 package providing data structures, algorithms and educational resources for bioinformatics.
To view scikit-bio's documentation, visit scikit-bio.org.
Note: scikit-bio is no longer compatible with Python 2. scikit-bio is compatible with Python 3.8 and later.
scikit-bio is currently in beta. We are very actively developing it, and backward-incompatible interface changes can and will arise. To avoid these types of changes being a surprise to our users, our public APIs are decorated to make it clear to users when an API can be relied upon (stable) and when it may be subject to change (experimental). See the API stability docs for more details, including what we mean by stable and experimental in this context.
Installing
The recommended way to install scikit-bio is via the conda
package manager available in Anaconda or miniconda.
To install the latest release of scikit-bio:
conda install -c conda-forge scikit-bio
Alternatively, you can install scikit-bio using pip
:
pip install scikit-bio
You can verify your installation by running the scikit-bio unit tests:
python -m skbio.test
For users of Debian, skbio
is in the Debian software distribution and may
be installed using:
sudo apt-get install python3-skbio python-skbio-doc
Getting help
To get help with scikit-bio, you should use the skbio tag on StackOverflow (SO). Before posting a question, check out SO's guide on how to ask a question. The scikit-bio developers regularly monitor the skbio
SO tag.
Projects using scikit-bio
Some of the projects that we know of that are using scikit-bio are:
- QIIME 2
- Emperor
- An Introduction to Applied Bioinformatics
- tax2tree
- Qiita
- ghost-tree
- Platypus-Conquistador
If you're using scikit-bio in your own projects, feel free to issue a pull request to add them to this list.
scikit-bio development
If you're interested in getting involved in scikit-bio development, see CONTRIBUTING.md.
See the list of scikit-bio's contributors.
Licensing
scikit-bio is available under the new BSD license. See LICENSE.txt for scikit-bio's license, and the licenses directory for the licenses of third-party software that is (either partially or entirely) distributed with scikit-bio.
The pre-history of scikit-bio
scikit-bio began from code derived from PyCogent and QIIME, and the contributors and/or copyright holders have agreed to make the code they wrote for PyCogent and/or QIIME available under the BSD license. The contributors to PyCogent and/or QIIME modules that have been ported to scikit-bio are: Rob Knight (@rob-knight), Gavin Huttley (@gavinhuttley), Daniel McDonald (@wasade), Micah Hamady, Antonio Gonzalez (@antgonza), Sandra Smit, Greg Caporaso (@gregcaporaso), Jai Ram Rideout (@jairideout), Cathy Lozupone (@clozupone), Mike Robeson (@mikerobeson), Marcin Cieslik, Peter Maxwell, Jeremy Widmann, Zongzhi Liu, Michael Dwan, Logan Knecht (@loganknecht), Andrew Cochran, Jose Carlos Clemente (@cleme), Damien Coy, Levi McCracken, Andrew Butterfield, Will Van Treuren (@wdwvt1), Justin Kuczynski (@justin212k), Jose Antonio Navas Molina (@josenavas), Matthew Wakefield (@genomematt) and Jens Reeder (@jensreeder).
Logo
scikit-bio's logo was created by Alina Prassas.