- Sean Fisk
- Gray Gwizdz
A CpG island locator using written in the Python programming language.
This is graduate research project associated with CIS 661 with Professor Jonathan Leidig at Grand Valley State University.
The program's graphical interface depends upon PySide, Python bindings to the Qt libraries. Install this first.
python setup.py install
cpg_islands
The program can be run locally by following these steps:
- Install PySide.
pip install -r requirements/dev.txt
shovel qt
Documentation is generated on Read the Docs at https://cpg-islands.readthedocs.org/. Build it locally by running the following:
cd docs
make html
Then open build/html/index.html
.
Tests are written using pytest and mock. To run unit tests and PEP8 enforcement, run:
shovel test_all
Continuous integration is provided by Travis-CI. Find the build status at https://secure.travis-ci.org/#!/seanfisk/cpg-islands.
To view the test coverage report, run:
shovel coverage
CpG Islands is free software licensed under the GNU General Public License version 3.
CpG Islands makes use of the following libraries/tools/services:
- Python programming language
- Biopython for sequence fetching and parsing
- Qt for graphical interface
- PySide for Python bindings to Qt
- git version control system
- GitHub for git hosting
- pytest test framework
- mock for creating mock objects
- coverage.py and pytest-cov for test coverage statistics
- flake8 as a lint tool: enforced PEP8 compliance, running PyFlakes and McCabe complexity check
- Travis-CI for continuous integration
- Sphinx and docutils for documentation generation
- Read the Docs for documentation hosting
- shovel for running miscellaneous tasks