All Projects → biopython → Biopython

biopython / Biopython

Licence: other
Official git repository for Biopython (originally converted from CVS)

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
c
50402 projects - #5 most used programming language
Parrot
15 projects
Roff
2310 projects
Nu
17 projects

Projects that are alternatives of or similar to Biopython

catch
A package for designing compact and comprehensive capture probe sets.
Stars: ✭ 55 (-98.13%)
Mutual labels:  bioinformatics, genomics, dna
Bio.jl
[DEPRECATED] Bioinformatics and Computational Biology Infrastructure for Julia
Stars: ✭ 257 (-91.25%)
Mutual labels:  bioinformatics, genomics, dna
orfipy
Fast and flexible ORF finder
Stars: ✭ 27 (-99.08%)
Mutual labels:  bioinformatics, dna, protein
lightdock
Protein-protein, protein-peptide and protein-DNA docking framework based on the GSO algorithm
Stars: ✭ 110 (-96.25%)
Mutual labels:  protein-structure, dna, protein
Gatk
Official code repository for GATK versions 4 and up
Stars: ✭ 1,002 (-65.87%)
Mutual labels:  bioinformatics, genomics, dna
unimap
A EXPERIMENTAL fork of minimap2 optimized for assembly-to-reference alignment
Stars: ✭ 76 (-97.41%)
Mutual labels:  bioinformatics, genomics, sequence-alignment
dna-traits
A fast 23andMe genome text file parser, now superseded by arv
Stars: ✭ 64 (-97.82%)
Mutual labels:  bioinformatics, genomics, dna
BuddySuite
Bioinformatics toolkits for manipulating sequence, alignment, and phylogenetic tree files
Stars: ✭ 106 (-96.39%)
Mutual labels:  dna, protein, phylogenetics
Galaxy
Data intensive science for everyone.
Stars: ✭ 812 (-72.34%)
Mutual labels:  bioinformatics, genomics, dna
Nucleus
Python and C++ code for reading and writing genomics data.
Stars: ✭ 657 (-77.62%)
Mutual labels:  bioinformatics, genomics, dna
deepblast
Neural Networks for Protein Sequence Alignment
Stars: ✭ 29 (-99.01%)
Mutual labels:  protein-structure, protein, sequence-alignment
Genomics
A collection of scripts and notes related to genomics and bioinformatics
Stars: ✭ 101 (-96.56%)
Mutual labels:  bioinformatics, genomics, dna
awesome-genetics
A curated list of awesome bioinformatics software.
Stars: ✭ 60 (-97.96%)
Mutual labels:  bioinformatics, genomics, dna
Pyfaidx
Efficient pythonic random access to fasta subsequences
Stars: ✭ 307 (-89.54%)
Mutual labels:  bioinformatics, genomics, dna
Sns
Analysis pipelines for sequencing data
Stars: ✭ 43 (-98.54%)
Mutual labels:  bioinformatics, genomics, dna
Deepvariant
DeepVariant is an analysis pipeline that uses a deep neural network to call genetic variants from next-generation DNA sequencing data.
Stars: ✭ 2,404 (-18.12%)
Mutual labels:  bioinformatics, genomics, dna
Goleft
goleft is a collection of bioinformatics tools distributed under MIT license in a single static binary
Stars: ✭ 175 (-94.04%)
Mutual labels:  bioinformatics, genomics
Awesome Bioinformatics Benchmarks
A curated list of bioinformatics bench-marking papers and resources.
Stars: ✭ 142 (-95.16%)
Mutual labels:  bioinformatics, genomics
Bedops
🔬 BEDOPS: high-performance genomic feature operations
Stars: ✭ 215 (-92.68%)
Mutual labels:  bioinformatics, genomics
Wgsim
Reads simulator
Stars: ✭ 178 (-93.94%)
Mutual labels:  bioinformatics, genomics
Biopython on the Python Package Index (PyPI) Biopython on the Conda package conda-forge channel pre-commit.ci status Linux testing with CircleCI Windows testing with AppVeyor GitHub workflow status Test coverage on CodeCov Research software impact on Depsy The Biopython Project

Biopython README file

The Biopython Project is an international association of developers of freely available Python tools for computational molecular biology.

Our user-centric documentation is hosted on http://biopython.org including the main Biopython Tutorial and Cookbook:

This README file is intended primarily for people interested in working with the Biopython source code, either one of the releases from the http://biopython.org website, or from our repository on GitHub https://github.com/biopython/biopython

The NEWS file summarises the changes in each release of Biopython.

The Biopython package is open source software made available under generous terms. Please see the LICENSE file for further details.

If you use Biopython in work contributing to a scientific publication, we ask that you cite our application note (below) or one of the module specific publications (listed on our website):

Cock, P.J.A. et al. Biopython: freely available Python tools for computational molecular biology and bioinformatics. Bioinformatics 2009 Jun 1; 25(11) 1422-3 https://doi.org/10.1093/bioinformatics/btp163 pmid:19304878

For the impatient

Python includes the package management system "pip" which should allow you to install Biopython (and its dependency NumPy if needed), upgrade or uninstall with just one terminal command:

pip install biopython
pip install --upgrade biopython
pip uninstall biopython

Since Biopython 1.70 we have provided pre-compiled binary wheel packages on PyPI for Linux, Mac OS X and Windows. This means pip install should be quick, and not require a compiler.

As a developer or potential contributor, you may wish to download, build and install Biopython yourself. This is described below.

Python Requirements

We currently recommend using Python 3.9 from http://www.python.org

Biopython is currently supported and tested on the following Python implementations:

Optional Dependencies

Biopython requires NumPy (see http://www.numpy.org) which will be installed automatically if you install Biopython with pip (see below for compiling Biopython yourself).

Depending on which parts of Biopython you plan to use, there are a number of other optional Python dependencies, which can be installed later if needed:

In addition there are a number of useful third party tools you may wish to install such as standalone NCBI BLAST, EMBOSS or ClustalW.

Installation From Source

We recommend using the pre-compiled binary wheels available on PyPI using:

pip install biopython

However, if you need to compile Biopython yourself, the following are required at compile time:

  • Python including development header files like python.h, which on Linux are often not installed by default (trying looking for and installing a package named python-dev or python-devel as well as the python package).

  • Appropriate C compiler for your version of Python, for example GCC on Linux, MSVC on Windows. For Mac OS X, or as it is now branded, macOS, use Apple's command line tools, which can be installed with the terminal command:

    xcode-select --install
    

    This will offer to install Apple's XCode development suite - you can, but it is not needed and takes a lot of disk space.

Then either download and decompress our source code, or fetch it using git. Now change directory to the Biopython source code folder and run:

python setup.py build
python setup.py test
sudo python setup.py install

Substitute python with your specific version if required, for example python3, or pypy3.

To exclude tests that require an internet connection (and which may take a long time), use the --offline option:

python setup.py test --offline

If you need to do additional configuration, e.g. changing the install directory prefix, please type python setup.py.

Testing

Biopython includes a suite of regression tests to check if everything is running correctly. To run the tests, go to the biopython source code directory and type:

python setup.py build
python setup.py test

If you want to skip the online tests (which is recommended when doing repeated testing), use:

python setup.py test --offline

Do not panic if you see messages warning of skipped tests:

test_DocSQL ... skipping. Install MySQLdb if you want to use Bio.DocSQL.

This most likely means that a package is not installed. You can ignore this if it occurs in the tests for a module that you were not planning on using. If you did want to use that module, please install the required dependency and re-run the tests.

Some of the tests may fail due to network issues, this is often down to chance or a service outage. If the problem does not go away on re-running the tests, you can use the --offline option.

There is more testing information in the Biopython Tutorial & Cookbook.

Experimental code

Biopython 1.61 introduced a new warning, Bio.BiopythonExperimentalWarning, which is used to mark any experimental code included in the otherwise stable Biopython releases. Such 'beta' level code is ready for wider testing, but still likely to change, and should only be tried by early adopters in order to give feedback via the biopython-dev mailing list.

We'd expect such experimental code to reach stable status within one or two releases, at which point our normal policies about trying to preserve backwards compatibility would apply.

Bugs

While we try to ship a robust package, bugs inevitably pop up. If you are having problems that might be caused by a bug in Biopython, it is possible that it has already been identified. Update to the latest release if you are not using it already, and retry. If the problem persists, please search our bug database and our mailing lists to see if it has already been reported (and hopefully fixed), and if not please do report the bug. We can't fix problems we don't know about ;)

Issue tracker: https://github.com/biopython/biopython/issues

If you suspect the problem lies within a parser, it is likely that the data format has changed and broken the parsing code. (The text BLAST and GenBank formats seem to be particularly fragile.) Thus, the parsing code in Biopython is sometimes updated faster than we can build Biopython releases. You can get the most recent parser by pulling the relevant files (e.g. the ones in Bio.SeqIO or Bio.Blast) from our git repository. However, be careful when doing this, because the code in github is not as well-tested as released code, and may contain new dependencies.

In any bug report, please let us know:

  1. Which operating system and hardware (32 bit or 64 bit) you are using
  2. Python version
  3. Biopython version (or git commit/date)
  4. Traceback that occurs (the full error message)

And also ideally:

  1. Example code that breaks
  2. A data file that causes the problem

Contributing, Bug Reports

Biopython is run by volunteers from all over the world, with many types of backgrounds. We are always looking for people interested in helping with code development, web-site management, documentation writing, technical administration, and whatever else comes up.

If you wish to contribute, please first read CONTRIBUTING.rst here, visit our web site http://biopython.org and join our mailing list: http://biopython.org/wiki/Mailing_lists

Distribution Structure

  • README.rst -- This file.
  • NEWS.rst -- Release notes and news.
  • LICENSE.rst -- What you can do with the code.
  • CONTRIB.rst -- An (incomplete) list of people who helped Biopython in one way or another.
  • CONTRIBUTING.rst -- An overview about how to contribute to Biopython.
  • DEPRECATED.rst -- Contains information about modules in Biopython that were removed or no longer recommended for use, and how to update code that uses those modules.
  • MANIFEST.in -- Configures which files to include in releases.
  • setup.py -- Installation file.
  • Bio/ -- The main code base code.
  • BioSQL/ -- Code for using Biopython with BioSQL databases.
  • Doc/ -- Documentation.
  • Scripts/ -- Miscellaneous, possibly useful, standalone scripts.
  • Tests/ -- Regression testing code including sample data files.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].