Skip to main content

A simple library for executing BLAST searches with ncbi-blast+

Project description

simple_blast

This is a library that provides a very basic wrapper around ncbi-blast+. Currently, the library supports searches with blastn only, but I may expand the library to include wrappers for other BLAST executables if I need them.

Requirements

This library depends on Pandas for parsing BLAST output. The library has been tested with Pandas 1.5.3, but it likely works with other versions.

Of course, this library assumes that ncbi-blast+ is installed. The library has been tested with ncbi-blast 2.12.0+, and it likely works with newer versions of the software as well.

Basic usage

You can define a blastn search to be carried out using the BlastnSearch class. BlastnSearchobjects are constructed with two required arguments—the subject sequence and the query sequence files, in that order. For example, to set up a balstn search for sequences in seqs1.fasta against those in seqs2.fasta, you could construct a BlastnSearch object like this:

from simple_blast import BlastnSearch

search = BlastnSearch("seqs2.fasta", "seqs1.fasta")

The BLAST search is not carried out until you ask for the results by accessing the hits property of the search. This property returns a Pandas dataframe containing the HSPs identified in the BLAST search.

results = search.hits

The columns in the output may be configured by passing either the out_columns or additional_columns arguments when constructing the BlastnSearch. The former argument overrides the set of output columns; the latter argument is added to the list of default output columns.

You can also specify an e-value cutoff through the evalue argument.

DB caches

When the same sequence file is used as a subject in multiple searches, it can be efficient to build a BLAST database up front. The BlastDBCache class can be used to handle this mostly automatically. To make a BlastDBCache, you need to specify the location of the on the file system.

from simple_blast import BlastDBCache

cache = BlastDBCache("cache_dir")

To add a file to the cache, use the makedb method.

cache.makedb("seqs2.fasta")

When constructing a BlastnSearch object, give it the BlastDBCache as the db_cache parameter to make the BlastnSearch object use the cache for searches.

search = BlastnSearch("seqs2.fasta", "seqs1.fasta", db_cache=cache)

Now search will use the database we created for seqs2.fasta.

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

simple_blast-0.1.5.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_blast-0.1.5-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file simple_blast-0.1.5.tar.gz.

File metadata

  • Download URL: simple_blast-0.1.5.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for simple_blast-0.1.5.tar.gz
Algorithm Hash digest
SHA256 f77b7927b5f65449747fd5c7b5bd730c293cb65fca16218e9c105649fe2b2691
MD5 23cc13c162f8b8eb19acdce25c09954d
BLAKE2b-256 9c2722ba83be1601030ecb057e907b797d2bdb637aed4164e67bb736688f46d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_blast-0.1.5.tar.gz:

Publisher: package.yml on actapia/simple_blast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simple_blast-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: simple_blast-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for simple_blast-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5e98545211ad548ae6b229dcf9b8f8254be1145e625fa75ead20e925ac524205
MD5 cd5feefc3a2cfbeef58eae9d016b9e2e
BLAKE2b-256 47677ec973204e954fc943d26ef708863dcef429d0e6e7d848e52ffdba765f7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for simple_blast-0.1.5-py3-none-any.whl:

Publisher: package.yml on actapia/simple_blast

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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