Overview of Cortexpy

tests
Travis-CI Build Status
Coverage Status Coverage Status
package
PyPI Package latest release PyPI Wheel Supported versions
Supported implementations Commits since latest release
docs
Documentation Status

Cortexpy is a Python package for sequence analysis using linked and colored De Bruijn graphs such as the ones created by Cortex and Mccortex. This project aims to mirror many of the features contained in CortexJDK.

Cortexpy also comes with a command-line tool for basic inspection and manipulation of Cortex graphs with and without links.

Audience

The audience of cortexpy is researchers working with colored De Bruijn graphs and link information in Cortex and Mccortex format.

Free software

Cortexpy is free software; you can redistribute it and/or modify it under the terms of the Apache License version 2.0. Contributions are welcome. Please join us on GitHub.

Installation

pip install cortexpy

Documentation

For more information, please see cortexpy documentation.

Citing cortexpy

If you use cortexpy in your work, please consider citing:

Akhter, Shirin, Warren W. Kretzschmar, Veronika Nordal, Nicolas Delhomme, Nathaniel R. Street, Ove Nilsson, Olof Emanuelsson, and Jens F. Sundström. “Integrative analysis of three RNA sequencing methods identifies mutually exclusive exons of MADS-box isoforms during early bud development in Picea abies.” Frontiers in Plant Science 9 (2018). https://doi.org/10.3389/fpls.2018.01625

Bugs

This code is maintained by Warren Kretzschmar <warrenk@kth.se>. For bugs, please raise a GitHub issue.

Development

  1. Install conda.

  2. Download development and testing tools:

    conda env create -f environment.yml -n my-dev-environment
    
  3. Activate development environment:

    conda activate my-dev-environment
    

All remaining commands in the development section need to be run in an activated conda dev environment.

Tests

make test

Deploy new cortexpy version to pypi

Requires access credentials for pypi.

make deploy

Building the docs

The documentation is automatically built by read-the-docs on push to master. To build the documentation manually:

# install sphinx dependencies
pip install docs/requirements.txt

make docs

Updating the dev environment

This section is experimental because it does not work on travis-CI yet.

# Create a new env from the high-level requirements file
conda env create -f environment.yml -n another-dev-env

# activate the new environment
conda activate another-dev-env

# save new env to environment.lock.yml
make lock