Code refactor and improvements of the distribution system
If using this version in the cluster, I'd recommend the following flags:
$ gecco -l VERBOSE --traceback run -g <your FASTA>
-l VERBOSE will print more stuff which will improve debugging, while
--traceback will display the full traceback of any uncaught exception (hopefully there will be none but you never know), both of which improving the debugging experience on my end (if some debugging is actually needed).
- Proper project metadata and configuration files to allow installing GECCO and PFam with
pip(closes #1 (closed) and #5 (closed))
- Better command line interface in the form of a
geccocommand with subcommands
- More detailed logging messages at the INFO and VERBOSE levels
mypytype annotations to some parts of the API (the goal is to add them everywhere to hopefully reduce risk of bugs, but for some parts I have no idea about the expected types)
- Proper checks to make sure that
subprocess.runreturns without error when invoking a subcommand (this should improve error reports when something fails)
- Configuration for Gitlab-CI to make sure the
masterbranch is always working (closes #6 (closed)).
- Proper check that the input file given to
--genomeexists before running anything (thus improving the error message you get in such a case)
- Potential bug with literal lists and dict being used as default arguments values (see the Common Gotchas in the Hitchhiker's guide to Python)
--proteinsflag now accepting PRODIGAL files directly as input (GECCO still assumes you use PRODIGAL though, to support other ORFs extractors some more work is needed).
scipy.spatial.distance.jensenshannondirectly instead of the metrics in
gecco.utils(I also renamed the metric name from
jensenshannonin the CLI flags to be more explicit; it would be super easy to allow any metric from
scipy.spatial.distanceto be given to the CLI).
hmmsearchwill now use the threads number given via the
--jobsflag of GECCO (this does not seem to change anything though in terms of performance).
joblibrequirement, replaced by