-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
prodigal to pyrodigal #2306
base: master
Are you sure you want to change the base?
prodigal to pyrodigal #2306
Conversation
currently working, but still unfinished
a double-check for those who will see this code in anvi-dev without having the chance to re-run the `requirements.txt`
Sounds good to me. We should even switch to pyrodigal-gv. We also need to update the rest of the code base that uses "Prodigal" as default gene caller. |
Seems like the pulp dependency is really an issue of snakemake that's on the way to being solved. For now we might want to keep it included, and remove it when fixed upstream in the future. |
@meren what do you think about defaulting to |
I'm happy with that. We should make the change and wait for @FlorianTrigodet to thumbs up and merge the branch if everything is working out well. We also should leave behind a small note (perhaps as a blog post on anvio.org) to mark this important change, to thank the developer of pyrodigal, and explain people what it means. It could be very short but I think it would be responsible to do so. Perhaps Florian would like to do that too since he pushed for it all this far? :) |
Latest updates: There are two flags, I also found this unexpected function in def get_missing_programs_for_hmm_analysis():
missing_programs = []
for p in ['prodigal', 'hmmscan']:
try:
is_program_exists(p)
except ConfigError:
missing_programs.append(p)
return missing_programs It is only used in Last, I need to update all the contigs.db in the tests directory. I will probably just modify the dbs, unless there is a good reason to re-run |
I think it's more user friendly to keep the flags named the same way. The underlying engine is still prodigal after all. |
@FlorianTrigodet I believe the function you removed from utils is also used on line 15 in Only found this because I currently live on the branch, it's my happy place :> |
This PR changes the default gene caller in anvi'o from prodigal to pyrodigal. Gene calling associated flags in
anvi-gen-contigs-database
remain the same, and--prodigal-single-mode
continues to modify single/meta procedures in thepyrodigal
module. I didn't change the names of these flags since pyrodigal uses prodigal code in the background.The current PR does not implement the
--prodigal-translation-table
parameter. Because I couldn't find a way to do it properly at this time, but we can take a look at that once everything else is working and/or until someone complains (the parameter is there, but it produces 'not implemented' error, so there is no way to miss if/when one wants to use it).The PR also adds a new parameter,
--full-gene-calling-report
, which generates a separate TAB-delimited text file with everything imaginable about gene calls (which is way more than the amount of data we store for each gene call at this point).The prodigal driver is still in the codebase and works, although there is no way to invoke prodigal instead of pyrodigal through the CLI at the moment. If we want to keep it for any reason, we can, but I think we should remove it from the codebase.