Notes for Developers

Current Status

Below you can find information on the currently available branches.

If you plan to add a new feature or extension, please create your own branch, as to not implicate other developers.

main

Our first development release of SPECIMEN. Please feel free to test and leave issues on GitHub if you encounter bugs or have suggestions. The version in this release has as of yet only be tested on prokaryote genomes.

Note

The workflow has yet to be tested on different species and specifically Eukarya, if it works without problems on those as well.

dev: ONGOING

Development branch.
Place to fix errors, chase bugs and polish the code.
Additionally, features marked as future update throughout the documentation are actively being worked on.

Further branches

Currently, there are no more branches.

Developer Information

More developer-relevant information can be found in the dev folder on the github page.

Updating the requirements.txt

To create the requirements.txt adjust the requirements.in file as needed in the folder docs.
Then navigate to the folder docs in the command line:
cd docs

and use the following command to automatically generate the new requirements.txt:

python3 -m piptools compile --strip-extras --output-file=requirements.txt requirements.in

To bump to the newest versions possible, use the following command in the docs directory:

pip-compile --upgrade

Documentation Notes

The documentation is generated based on the Sphinx sphinx.ext.autodoc extension. A mustache-file with additional formatting can be found in the dev folder (ready to integrate in e.g. VSCode). For further information refer to the refineGEMS documentation notes.

Please annotate new functions with restructured text for them to be included into this documentation. Furthermore, please use type hinting for the functions, e.g.:

def func(num:int, square:bool=True) -> int:
    ...
    return x