Metadata-Version: 2.1
Name: pyblastbio
Version: 1.0.0a6
Summary: 
Home-page: https://www.github.com/jvrana/pyblast
Author: First Last
Author-email: youemail@domain.com
Requires-Python: >=3.7,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: biopython (>=1.73,<2.0)
Requires-Dist: fire (>=0.1.3,<0.2.0)
Requires-Dist: lobio (>=0.0.13,<0.0.14)
Requires-Dist: networkx (>=2.3,<3.0)
Project-URL: Documentation, https://www.github.com/jvrana/pyblast
Project-URL: Repository, https://www.github.com/jvrana/pyblast
Description-Content-Type: text/markdown


[![travis build](https://img.shields.io/travis/jvrana/pyblast.svg)](https://travis-ci.org/jvrana/pyblast)
[![Coverage Status](https://coveralls.io/repos/github/jvrana/pyblast/badge.svg?branch=master)](https://coveralls.io/github/jvrana/pyblast?branch=master)
[![PyPI version](https://badge.fury.io/py/REPO.svg)](https://badge.fury.io/py/REPO)

![module_icon](images/module_icon.png?raw=true)

#### Build/Coverage Status
Branch | Build | Coverage
:---: | :---: | :---:
**master** | [![travis build](https://img.shields.io/travis/jvrana/pyblast/master.svg)](https://travis-ci.org/jvrana/pyblast/master) | [![Coverage Status](https://coveralls.io/repos/github/jvrana/pyblast/badge.svg?branch=master)](https://coveralls.io/github/jvrana/pyblast?branch=master)
**development** | [![travis build](https://img.shields.io/travis/jvrana/pyblast/development.svg)](https://travis-ci.org/jvrana/pyblast/development) | [![Coverage Status](https://coveralls.io/repos/github/jvrana/pyblast/badge.svg?branch=development)](https://coveralls.io/github/jvrana/pyblast?branch=development)

**this repo is not longer active**

# pyblast

This is a wrapper for other applications to run blast searches

# Installation

You can install BLAST to the pyblast directory using the following command:

```
pyblast install
```

This will install it to pyblast/blast_bin. If you want BLAST installed somewhere else, move the *ncbi-blast-X.X.X+* folder
to your desired location and add *path/to/ncbi-blast-X.X.X+/bin* to you $PATH. **PyBlast** will prefer to use the blast stored
in your executable path. If it cannot find a blast executable there, it looks for it in that paths in the pyblast/blast_bin/_paths.txt.
file. _paths.txt is automatically updated when you run install_blast.py so theres no need to manage the paths manually.

After installing and verifying the `blastn` command works from the cmd line,

```
pip install pyblastbio
```

## Status

In alpha, but let me know if you are interested in this repo.

## Usage

This package is a python wrapper for the BLAST command line, intended to be run along with a microservice (e.g. Flask).
This package also includes a basic python-based installation script which is used in unit-testing.

### Input options

To use blast...

```python
from pyblast import JSONBlast

# load your DNA from where ever you keep it
query = json.load(...)
subjects = json.load(...)

# BLAST cmd object
myblast = JSONBlast(subjects, query)

# build the db, run the search, & parse the results
congig = {...}
myblast.quick_blastn(**config)

# get the results object
results = myblast.results  # get the results object
```

### Input Format

Input sequences have the following format:

```JSON
  {
    "name": "attB-mCh-Dnmt3b1-Poly(A",
    "sequence": "gatGCCAGCTCATTCCTCCCACTCATGATCTATAGATCCCCCGGGCTGCAGGAATTCTACCGGGTAGGGGAGGCGCTTTTCCCAAGGCAGTCTGGAGCATGCGCTTTAGCAGCCCCGCTGGGCACTTGGCGCTACACAAGTGGCCTCTGGCCTCGCACACATTCCACATCCACCGGTAGGCGCCAACCGGCTCCGTTCTTTGGTGGCCCCTTCGCGCCACCTTCTACTCCTCCCCTAGTCAGGAAGTTCCCCCCCGCCCCGCAGCTCGCGTCGTGCAGGACGTGACAAATGGAAGTAGCACGTCTCACTAGTCTCGTGCAGATGGACAGCACCGCTGAGCAATGGAAGCGGGTAGGCCTTTGGGGCAGCGGCCAATAGCAGCTTTGCTCCTTCGCTTTCTGGGCTCAGAGGCTGGGAAGGGGTGGGTCCGGGGGCGGGCTCAGGGGCGGGCTCAGGGGCGGGGCGGGCGCCCGAAGGTCCTCCGGAGGCCCGGCATTCTGCACGCTTCAAAAGCGCACGTCTGCCGCGCTGTTCTCCTCTTCCTCATCTCCGGGCCTTTCGACCGATCATCAAGCTTAATGATTGAACAAGATGGATTGCACGCAGGTTCTCCGGCCGCTTGGGTGGAGAGGCTATTCGGCTATGACTGGGCACAACAGACAATCGGCTGCTCTGATGCCGCCGTGTTCCGGCTGTCAGCGCAGGGGCGCCCGGTTCTTTTTGTCAAGACCGACCTGTCCGGTGCCCTGAATGAACTGCAAGACGAGGCAGCGCGGCTATCGTGGCTGGCCACGACGGGCGTTCCTTGCGCAGCTGTGCTCGACGTTGTCACTGAAGCGGGAAGGGACTGGCTGCTATTGGGCGAAGTGCCGGGGCAGGATCTCCTGTCATCTCACCTTGCTCCTGCCGAGAAAGTATCCATCATGGCTGATGCAATGCGGCGGCTGCATACGCTTGATCCGGCTACCTGCCCATTCGACCACCAAGCGAAACATCGCATCGAGCGAGCACGTACTCGGATGGAAGCCGGTCTTGTCGATCAGGATGATCTGGACGAAGAGCATCAGGGGCTCGCGCCAGCCGAACTGTTCGCCAGGCTCAAGGCGAGCATGCCCGACGGCGAGGATCTCGTCGTGACCCATGGCGATGCCTGCTTGCCGAATATCATGGTGGAAAATGGCCGCTTTTCTGGATTCATCGACTGTGGCCGGCTGGGTGTGGCGGACCGCTATCAGGACATAGCGTTGGCTACCCGTGATATTGCTGAAGAGCTTGGCGGCGAATGGGCTGACCGCTTCCTCGTGCTTTACGGTATCGCCGCTCCCGATTCGCAGCGCATCGCCTTCTATCGCCTTCTTGACGAGTTCTTCTGAGCGGGACTCTGGGGTTCGAAATGACCGACCAAGCGACGCCCAACCTGCCATCACGAGATTTCGATTCCACCGCCGCCTTCTATGAAAGGTTGGGCTTCGGAATCGTTTTCCGGGACGCCGGCTGGATGATCCTCCAGCGCGGGGATCTCATGCTGGAGTTCTTCGCCCACCCTAGGGGGAGGCTAACTGAAACACGGAAGGAGACAATACCGGAAGGAACCCGCGCTATGACGGCAATAAAAAGACAGAATAAAACGCACGGTGTTGGGTCGTTTGTTCATAAACGCGGGGTTCGGTCCCAGGGCTGGCACTCTGTCGATACCCCACCGAGACCCCATTGGGGCCAATACGCCCGCGTTTCTTCCTTTTCCCCACCCCACCCCCCAAGTTCGGGTGAAGGCCCAGGGCTCGCAGCCAACGTCGGGGCGGCAAGCTTACATCGAGatcCCGGCTTGTCGACGACGGCGgtCTCCGTCGTCAGGATCATCCGTGAGCAAGGGCGAGGAGGATAACATGGCCATCATCAAGGAGTTCATGCGCTTCAAGGTGCACATGGAGGGCTCCGTGAACGGCCACGAGTTCGAGATCGAGGGCGAGGGCGAGGGCCGCCCCTACGAGGGCACCCAGACCGCCAAGCTGAAGGTGACCAAGGGTGGCCCCCTGCCCTTCGCCTGGGACATCCTGTCCCCTCAGTTCATGTACGGCTCCAAGGCCTACGTGAAGCACCCCGCCGACATCCCCGACTACTTGAAGCTGTCCTTCCCCGAGGGCTTCAAGTGGGAGCGCGTGATGAACTTCGAGGACGGCGGCGTGGTGACCGTGACCCAGGACTCCTCCCTGCAGGACGGCGAGTTCATCTACAAGGTGAAGCTGCGCGGCACCAACTTCCCCTCCGACGGCCCCGTAATGCAGAAGAAGACCATGGGCTGGGAGGCCTCCTCCGAGCGGATGTACCCCGAGGACGGCGCCCTGAAGGGCGAGATCAAGCAGAGGCTGAAGCTGAAGGACGGCGGCCACTACGACGCTGAGGTCAAGACCACCTACAAGGCCAAGAAGCCCGTGCAGCTGCCCGGCGCCTACAACGTCAACATCAAGTTGGACATCACCTCCCACAACGAGGACTACACCATCGTGGAACAGTACGAACGCGCCGAGGGCCGCCACTCCACCGGCGGCATGGACGAGCTGTACAAGAGCGGCCTGAGGAGCAGAGCCCAGGCGAGCAACAGCGCCGTGGACGCCACCATGGGCGatCGCATGAAGGGAGACAGCAGACATCTGAATGAAGAAGAGGGTGCCAGCGGGTATGAGGAGTGCATTATCGTTAATGGGAACTTCAGTGACCAGTCCTCAGACACGAAGGATGCTCCCTCACCCCCAGTCTTGGAGGCAATCTGCACAGAGCCAGTCTGCACACCAGAGACCAGAGGCCGCAGGTCAAGCTCCCGGCTGTCTAAGAGGGAGGTCTCCAGCCTTCTGAATTACACGCAGGACATGACAGGAGATGGAGACAGAGATGATGAAGTAGATGATGGGAATGGCTCTGATATTCTAATGCCAAAGCTCACCCGTGAGACCAAGGACACCAGGACGCGCTCTGAAAGCCCGGCTGTCCGAACCCGACATAGCAATGGGACCTCCAGCTTGGAGAGGCAAAGAGCCTCCCCCAGAATCACCCGAGGTCGGCAGGGCCGCCACCATGTGCAGGAGTACCCTGTGGAGTTTCCGGCTACCAGGTCTCGGAGACGTCGAGCATCGTCTTCAGCAAGCACGCCATGGTCATCCCCTGCCAGCGTCGACTTCATGGAAGAAGTGACACCTAAGAGCGTCAGTACCCCATCAGTTGACTTGAGCCAGGATGGAGATCAGGAGGGTATGGATACCACACAGGTGGATGCAGAGAGCAGAGATGGAGACAGCACAGAGTATCAGGATGATAAAGAGTTTGGAATAGGTGACCTCGTGTGGGGAAAGATCAAGGGCTTCTCCTGGTGGCCTGCCATGGTGGTGTCCTGGAAAGCCACCTCCAAGCGACAGGCCATGCCCGGAATGCGCTGGGTACAGTGGTTTGGTGATGGCAAGTTTTCTGAGATCTCTGCTGACAAACTGGTGGCTCTGGGGCTGTTCAGCCAGCACTTTAATCTGGCTACCTTCAATAAGCTGGTTTCTTATAGGAAGGCCATGTACCACACTCTGGAGAAAGCCAGGGTTCGAGCTGGCAAGACCTTCTCCAGCAGTCCTGGAGAGTCACTGGAGGACCAGCTGAAGCCCATGCTGGAGTGGGCCCACGGTGGCTTCAAGCCTACTGGGATCGAGGGCCTCAAACCCAACAAGAAGCAACCAGTGGTTAATAAGTCGAAGGTGCGTCGTTCAGACAGTAGGAACTTAGAACCCAGGAGACGCGAGAACAAAAGTCGAAGACGCACAACCAATGACTCTGCTGCTTCTGAGTCCCCCCCACCCAAGCGCCTCAAGACAAATAGCTATGGCGGGAAGGACCGAGGGGAGGATGAGGAGAGCCGAGAACGGATGGCTTCTGAAGTCACCAACAACAAGGGCAATCTGGAAGACCGCTGTTTGTCCTGTGGAAAGAAGAACCCTGTGTCCTTCCACCCCCTCTTTGAGGGTGGGCTCTGTCAGAGTTGCCGGGATCGCTTCCTAGAGCTCTTCTACATGTATGATGAGGACGGCTATCAGTCCTACTGCACCGTGTGCTGTGAGGGCCGTGAACTGCTGCTGTGCAGTAACACAAGCTGCTGCAGATGCTTCTGTGTGGAGTGTCTGGAGGTGCTGGTGGGCGCAGGCACAGCTGAGGATGCCAAGCTGCAGGAACCCTGGAGCTGCTATATGTGCCTCCCTCAGCGCTGCCATGGGGTCCTCCGACGCAGGAAAGATTGGAACATGCGCCTGCAAGACTTCTTCACTACTGATCCTGACCTGGAAGAATTTGAGCCACCCAAGTTGTACCCAGCAATTCCTGCAGCCAAAAGGAGGCCCATTAGAGTCCTGTCTCTGTTTGATGGAATTGCAACGGGGTACTTGGTGCTCAAGGAGTTGGGTATTAAAGTGGAAAAGTACATTGCCTCCGAAGTCTGTGCAGAGTCCATCGCTGTGGGAACTGTTAAGCATGAAGGCCAGATCAAATATGTCAATGACGTCCGGAAAATCACCAAGAAAAATATTGAAGAGTGGGGCCCGTTCGACTTGGTGATTGGTGGAAGCCCATGCAATGATCTCTCTAACGTCAATCCTGCCCGCAAAGGTTTATATGAGGGCACAGGAAGGCTCTTCTTCGAGTTTTACCACTTGCTGAATTATACCCGCCCCAAGGAGGGCGACAACCGTCCATTCTTCTGGATGTTCGAGAATGTTGTGGCCATGAAAGTGAATGACAAGAAAGACATCTCAAGATTCCTGGCATGTAACCCAGTGATGATCGATGCCATCAAGGTGTCTGCTGCTCACAGGGCCCGGTACTTCTGGGGTAACCTACCCGGAATGAACAGGCCCGTGATGGCTTCAAAGAATGATAAGCTCGAGCTGCAGGACTGCCTGGAGTTCAGTAGGACAGCAAAGTTAAAGAAAGTGCAGACAATAACCACCAAGTCGAACTCCATCAGACAGGGCAAAAACCAGCTTTTCCCTGTAGTCATGAATGGCAAGGACGACGTTTTGTGGTGCACTGAGCTCGAAAGGATCTTCGGCTTCCCTGCTCACTACACGGACGTGTCCAACATGGGCCGCGGCGCCCGTCAGAAGCTGCTGGGCAGGTCCTGGAGTGTACCGGTCATCAGACACCTGTTTGCCCCCTTGAAGGACTACTTTGCCTGTGAATAGGCggccGCAGTTAACGAATTCtctagaggatccagacatgataagatacattgatgagtttggacaaaccacaactagaatgcagtgaaaaaaatgctttatttgtgaaatttgtgatgctattgctttatttgtaaccattataagctgcaataaacaagttaacaacaacaattgcattcattttatgtttcaggttcagggggaggtgtgggaggttttttaaagcaagtaaaacctctacaaatgtggtatggctgattatgatcctgcaagcctcgtcgccgcggtttATTCTGTTGACAATTAATCATCGGCATAGTATATCGGCATAGTATAATACGACAAGGTGAGGAACTAAACCATGGGATCGGCCATTGAACAAGATGGATTGCACGCAGGTTCTCCGGCCGCTTGGGTGGAGAGGCTATTCGGCTATGACTGGGCACAACAGACGATCGGCTGCTCTGATGCCGCCGTGTTCCGGCTGTCAGCGCAGGGGCGCCCGGTTCTTTTTGTCAAGACCGACCTGTCCGGTGCCCTGAATGAACTGCAGGACGAGGCAGCGCGGCTATCGTGGCTGGCCACGACGGGCGTTCCTTGCGCAGCTGTGCTCGACGTTGTCACTGAAGCGGGAAGGGACTGGCTGCTATTGGGCGAAGTGCCGGGGCAGGATCTCCTGTCATCTCACCTTGCTCCTGCCGAGAAAGTATCCATCATGGCTGATGCAATGCGGCGGCTGCATACGCTTGATCCGGCTACCTGCCCATTCGACCACCAAGCGAAACATCGCATCGAGCGAGCACGTACTCGGATGGAAGCCGGTCTTGTCGATCAGGATGATCTGGACGAAGAGCATCAGGGGCTCGCGCCAGCCGAACTGTTCGCCAGGCTCAAGGCGCGCATGCCCGACGGCGAGGATCTCGTCGTGACCCATGGCGATGCCTGCTTGCCGAATATCATGGTGGAAAATGGCCGCTTTTCTGGATTCATCGACTGTGGCCGGCTGGGTGTGGCGGACCGCTATCAGGACATAGCGTTGGCTACCCGTGATATTGCTGAAGAGCTTGGCGGCGAATGGGCTGACCGCTTCCTCGTGCTTTACGGTATCGCCGCCCCCGATTCGCAGCGCATCGCCTTCTATCGCCTTCTTGACGAGTTCTTCTGAGCGGGACTCTGGGGTTCGAATAAAGACCGACCAAGCGACGTCTGAGAGCTCCCTGGCGAATTCGGTACCAATAAAAGAGCTTTATTTTCATGATCTGTGTGTTGGTTTTTGGCCGCGTTGCTGGCGTTTTTCCATAGGCTCCGCCCCCCTGACGAGCATCACAAAAATCGACGCTCAAGTCAGAGGTGGCGAAACCCGACAGGACTATAAAGATACCAGGCGTTTCCCCCTGGAAGCTCCCTCGTGCGCTCTCCTGTTCCGACCCTGCCGCTTACCGGATACCTGTCCGCCTTTCTCCCTTCGGGAAGCGTGGCGCTTTCTCATAGCTCACGCTGTAGGTATCTCAGTTCGGTGTAGGTCGTTCGCTCCAAGCTGGGCTGTGTGCACGAACCCCCCGTTCAGCCCGACCGCTGCGCCTTATCCGGTAACTATCGTCTTGAGTCCAACCCGGTAAGACACGACTTATCGCCACTGGCAGCAGCCACTGGTAACAGGATTAGCAGAGCGAGGTATGTAGGCGGTGCTACAGAGTTCTTGAAGTGGTGGCCTAACTACGGCTACACTAGAAGAACAGTATTTGGTATCTGCGCTCTGCTGAAGCCAGTTACCTTCGGAAAAAGAGTTGGTAGCTCTTGATCCGGCAAACAAACCACCGCTGGTAGCGGTGGTTTTTTTGTTTGCAAGCAGCAGATTACGCGCAGAAAAAAAGGATCTCAAGAAGATCCTTTGATCTTTTCTAGTGTGCG",
    "circular": true,
    "description": null,
    "features": [
      {
        "name": "END",
        "type": "misc_feature",
        "id": null,
        "start": 5194,
        "end": 5209,
        "strand": 1
      },
      ...
    }
```

### Output Format

BLAST results returns an `AlignmentResults` object, which contains a list of alignments at `.alignments`

Alignments have the following format:

```JSON
[
  {
    "meta": {
      "gaps_open": 0,
      "bit_score": 7792,
      "gaps": 0,
      "identical": 4219,
      "score": 4219.0,
      "evalue": 0.0,
      "alignment_length": 4219
    },
    "query": {
      "length": 18816,
      "acc": "pMODKan-HO-pACT1-Z4-",
      "sequence": "GGAGCAG...",
      "start": 1,
      "circular": null,
      "end": 4219,
      "name": null
    },
    "subject": {
      "length": 7883,
      "acc": "pMODKan-HO-pACT1-ZEV4",
      "sequence": "TCAGT...",
      "start": 1,
      "circular": null,
      "strand": "plus",
      "end": 4219,
      "name": null
    }
]]
`````

