1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
# pymummer
Python3 wrapper for running MUMmer and parsing the output.
[](https://travis-ci.org/sanger-pathogens/pymummer)
[](https://github.com/sanger-pathogens/pymummer/blob/master/LICENSE)
[](http://bioconda.github.io/recipes/pymummer/README.html)
[](https://quay.io/repository/biocontainers/pymummer)
## Contents
* [Introduction](#introduction)
* [Installation](#installation)
* [Required dependencies](#required-dependencies)
* [Homebrew/LinuxBrew](#homebrewlinuxbrew)
* [Using pip](#using-pip)
* [Running the tests](#running-the-tests)
* [Usage (for developers)](#usage-for-developers)
* [pymummer nucmer class](#pymummer-nucmer-class)
* [pymummer coords\_file class](#pymummer-coords_file-class)
* [pymummer alignment class](#pymummer-alignment-class)
* [License](#license)
* [Feedback/Issues](#feedbackissues)
## Introduction
Runs MUMmer and parses the output.
## Installation
pymummer has the following dependencies:
### Required dependencies
* [MUMmer](http://mummer.sourceforge.net/manual/#installation)
There are a number of ways to install pymummer and details are provided below. If you encounter an issue when installing pymummer please contact your local system administrator. If you encounter a bug please log it [here](https://github.com/sanger-pathogens/pymummer/issues) or email us at path-help@sanger.ac.uk.
### Homebrew/LinuxBrew
```
brew tap homebrew/python
brew install pymummer
```
### Using pip
```
pip3 install pymummer
```
### Running the tests
The test can be run from the top level directory:
```
python setup.py test
```
## Usage (for developers)
Example showing how pymummer can be used to run nucmer on a fasta file and parse the output file to produce a set of alignment objects:
```
from pymummer import coords_file, alignment, nucmer
...
runner = nucmer.Runner(reference_file, query_file, results_file)
runner.run()
file_reader = coords_file.reader(results_file)
alignments = [coord for coord in file_reader if not coord.is_self_hit()] #Remove self hits
...
```
### pymummer nucmer class
Wraps the `nucmer`, `delta-filter`, `show-coords` and `show-snps` commands.
Arguments:
```
__ref__ reference file
__query__ query file
__outfile__ output file
__min\_id__ min\_id for delta-filter command (default None)
__min\_length__ min\_length for delta-filter command (default None)
__breaklen__ breaklen for nucmer command (nucmer's default is 200)
__coords\_header__ print header in show-coords output (default True)
__maxmatch__ maxmatch for nucmer (default False)
__show\_snps__ run show-snps (default False)
__snps\_header__ print header in show-snps output (default True)
```
### pymummer coords_file class
Parses the nucmer output and populate an alignment object for each hit in the output
### pymummer alignment class
Check attributes of a hit, swap the reference and query, check if it's a self hit and so on
## License
pymummer is free software, licensed under [GPLv3](https://github.com/sanger-pathogens/pymummer/blob/master/LICENSE).
## Feedback/Issues
Please report any issues to the [issues page](https://github.com/sanger-pathogens/pymummer/issues) or email path-help@sanger.ac.uk.
|