Skip to content
Alan Rubin edited this page Oct 26, 2019 · 2 revisions

Project goals

  • Update from Python2.7 to Python3.6+
  • Achieve full unit test coverage and CI testing
  • Move away from the current monolithic structure and shift operations such as plotting and FASTQ/FASTA handling to sensible dependencies
  • Future-proof by adopting high-performance data structures such as Dask DataFrames
  • Add plugins for scoring functions and other core features such as input file handling
  • Support R plugins for scoring functions (via rpy2)
  • Develop a version for Bioconductor (via reticulate)
  • Prioritize usability for non-computational researchers by updating the GUI and improving the deployment/installation process
  • Retain cross-platform support for users on Linux, MacOS, and Windows

Coding guidelines

  • The master branch should always be usable to run analyses
  • Source files should be formatted using black
  • Docstrings should be in numpy format
  • Docstrings should include references and use intersphinx where possible
  • Including workable examples in Jupyter notebooks is a useful style of documentation that we should do more of
  • Type hinting is desirable but this will be an ongoing transition
  • f-strings should be used throughout but this will be an ongoing transition

Code of conduct

This project is governed by the Contributor Covenant Code of Conduct.

Clone this wiki locally