Contributing
Glow began as an industry collaboration between databricks and the Regeneron Genetics Center. Glow enables scientists and engineers work together to solve genomics problems with data.
Contributing is easy, and we will collaborate with you to extend the project.
The sections below detail how to contribute.
Raise Issues
If you get stuck or hit errors when using glow, please raise an issue. Even if you solve the problem, there’s a good chance someone else will encounter it.
Important
Please raise issues!
Contribute to the codebase
To contribute to glow, please fork the library and create a branch. Make your changes and create a pull request. It’s easy to get started.
Important
Please sign off all commits!
git commit -m "initial commit" --signoff
1. Modify or add notebooks
As you work through the example notebooks in the docs, please document issues. If you solve problems or improve code, please help contribute changes back. That way others will benefit and become more productive.
Export your notebook as html into the relevant directory under docs/source/_static/notebooks.
And run this python script (swapping the html file out for your own).
python3 docs/dev/gen-nb-src.py --html docs/source/_static/notebooks/tertiary/pipe-transformer-vep.html
The Glow workflow is tested in a nightly integration test in Databricks. If you add notebooks or rename them, please also edit the workflow definition json located in docs/dev/.
2. Improve the documentation
If you add a notebook, please reference it in the documentation. Either to an existing docs page, or create a new one. Other contributions to the docs include,
Tips for glow
Spark cluster configuration and tuning
glow use cases
Troubleshooting guides and gotchas
Fix typos, hyperlinks or paths
Better explanations of
what code snippets in the docs mean?
what cells in notebooks mean?
Unit tests for notebook code
New use cases
To build the docs locally,
first create the conda environment:
cd docs
conda env create -f source/environment.yml
activate the glow docs conda environment:
conda activate glow-docs
build the docs:
make livehtml
connect to the local server via your browser at: http://127.0.0.1:8000
3. Contribute new features / bug fixes
Here are example pull requests for new features or bug fixes that touch different aspects of the codebase,
Much of the codebase is in Scala, however we are increasingly moving to Python. Near-term focus is around integrating with Delta streaming and sharing.