tools-iuc: tbl2asn "expires" preventing older versions of Prokka to work
% ./tbl2asn
[tbl2asn] This copy of tbl2asn is more than a year old. Please download the current version.
[tbl2asn] You must supply either an input file (-i) or an input directory (-p).
Use -p . to specify the current directory.
Hit Return
This is, of course, bad for reproducibility.
Two potential solutions:
-
Assuming tbl2asn is only needed to generate the .sqn output (and assuming the tool is still useful to people without the .sqn output), drop the .sqn output option from the wrapper (or make it optional and disabled by default), if @tseemann would accept a PR making it optional in Prokka. Note that in this case, the tool itself remains usable but the .sqn output option effectively “expires.”
-
Use wolfcw/faketime, assuming Prokka and all its dependent tools don’t depend on the time being correct. And assuming that the tbl2asn license allows for this - I cannot seem to find a license for tbl2asn.
faketime isn’t in Conda, but if it were added, it could be a separate requirement of the wrapper, and then prokka could be invoked with something like
faketime "@$(stat $(command -v prokka) --printf='%Y')" prokka -
Assuming the license allows and @tseemann would accept a PR for it, modify Prokka to take an argument that causes Prokka to run tbl2asn with faketime. Faketime then becomes an optional dependency of Prokka.
I labeled this a bug for lack of a more accurate label, but it’s not a bug per se (in that it’s not really the wrapper’s fault, nor Prokka’s)
xref tseemann/prokka#96
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 15 (14 by maintainers)
Running prokka recently I noticed https://github.com/audy/tbl2asn-forever in the log outputs.
It seems that the conda package at least has replaced tbl2asn with the forever version https://github.com/bioconda/bioconda-recipes/commit/162e9be9ac76d05db9de4464d1a3badf86238e69 (thanks so much @dfornika!!!)
So we can finally close this 🎉🎉🎉
I think the path of least resistance would be to package
tbl2asnwith a patch to downgrade the expiry error to a warning on stderr [edited, typed stdout initially by mistake] (and check Prokka etc and associated Galaxy wrappers cope with that).Doing this for the BioConda package ought not to be too difficult technically, however currently the recipe does not compile from source - it uses the NCBI provided binary:
https://github.com/bioconda/bioconda-recipes/tree/master/recipes/tbl2asn