pirovc / ganon

ganon2 classifies genomic sequences against large sets of references efficiently, with integrated download and update of databases (refseq/genbank), taxonomic profiling (ncbi/gtdb), binning and hierarchical classification, customized reporting and more
https://pirovc.github.io/ganon/
MIT License
86 stars 13 forks source link

Possible missing dependencies with bioconda recipe #245

Closed jfy133 closed 1 year ago

jfy133 commented 1 year ago

When testing ganon build-custom using the bioconda derived docker/singularity container, I hit the following error (output from nf-core modules testing)

           ganon \                                                                                                                                                                
               build-custom \                                                                                                                                                     
               --threads 2 \                                                                                                                                                      
               --input genome.fasta -e fasta --input-target sequence \                                                                                                            
               --db-prefix test \                                                                                                                                                 
                \                                                                                                                                                                 
                \                                                                                                                                                                 
               --verbose                                                                                                                                                          

           cat <<-END_VERSIONS > versions.yml                                                                                                                                     
           "test_ganon_buildcustom:GANON_BUILDCUSTOM":                                                                                                                            
               ganon: $(echo $(ganon --version 2>1) | sed 's/.*ganon //g')                                                                                                        
           END_VERSIONS                                                                                                                                                           

         Command exit status:                                                                                                                                                     
           1                                                                                                                                                                      

         Command output:                                                                                                                                                          
           (empty)                                                                                                                                                                

         Command error:                                                                                                                                                           
           - - - - - - - - - -                                                                                                                                                    
              _  _  _  _  _                                                                                                                                                       
             (_|(_|| |(_)| |                                                                                                                                                      
              _|   v. 1.4.0                                                                                                                                                       
           - - - - - - - - - -                                                                                                                                                    

           Total valid files: 1                                                                                                                                                   

           Downloading and parsing ncbi taxonomy                                                                                                                                  
            - done in 13.07s.                                                                                                                                                     

           Parsing sequences from --input (1 files)                                                                                                                               
            - 1 unique entries                                                                                                                                                    
            - done in 0.04s.                                                                                                                                                      

           Retrieving sequence information from NCBI e-utils                                                                                                                      
           /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found                                                                                                  
           /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found                                                                                                  
           /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found                                                                                                  
           diff: unrecognized option '--changed-group-format=%>'                                                                                                                  
           BusyBox v1.32.1 (2021-04-13 11:15:36 UTC) multi-call binary.                                                                                                           

           Usage: diff [-abBdiNqrTstw] [-L LABEL] [-S FILE] [-U LINES] FILE1 FILE2                                                                                                

           Compare files line by line and output the differences between them.                                                                                                    
           This implementation supports unified diffs only.                                                                                                                       

                 -a      Treat all files as text                                                                                                                                  
                 -b      Ignore changes in the amount of whitespace                                                                                                               
                 -B      Ignore changes whose lines are all blank                                                                                                                 
                 -d      Try hard to find a smaller set of changes                                                                                                                
                 -i      Ignore case differences                                                                                                                                  
                 -L      Use LABEL instead of the filename in the unified header                                                                                                  
                 -N      Treat absent files as empty                                                                                                                              
                 -q      Output only whether files differ                                                                                                                         
                 -r      Recurse                                                                                                                                                  
                 -S      Start with FILE when comparing directories                                                                                                               
                 -T      Make tabs line up by prefixing a tab when necessary                                                                                                      
                 -s      Report when two files are the same                                                                                                                       
                 -t      Expand tabs to spaces in output                                                                                                                          
                 -U      Output LINES lines of context                                                                                                                            
                 -w      Ignore all whitespace                                                                                                                                    
            - done in 6.11s.                                                                                                                                                      

           Validating taxonomy                                                                                                                                                    
            - 1 entries without valid taxonomic nodes skipped                                                                                                                     
            - done in 0.00s.                                                                                                                                                      

           ERROR: Unable to match taxonomy to targets                                                                                                                             
           Total elapsed time: 19.40 seconds.                                                                                                                                     

         Work dir:                                                                                                                                                                
           /tmp/tmp6ccf39w4/4f/8aa996c52ff70ae067e0ec47d8542f                                                                                                                     

         Tip: when you have fixed the problem you can continue the execution adding the option `-resume` to the run command line                                                  

         WARN: Tower request field `workflow.errorMessage` exceeds expected size | offending value: `- - - - - - - - - -                                                          
            _  _  _  _  _                                                                                                                                                         
           (_|(_|| |(_)| |                                                                                                                                                        
            _|   v. 1.4.0                                                                                                                                                         
         - - - - - - - - - -                                                                                                                                                      

         Total valid files: 1                                                                                                                                                     

         Downloading and parsing ncbi taxonomy                                                                                                                                    
          - done in 13.07s.                                                                                                                                                       

         Parsing sequences from --input (1 files)                                                                                                                                 
          - 1 unique entries                                                                                                                                                      
          - done in 0.04s.                                                                                                                                                        

         Retrieving sequence information from NCBI e-utils                                                                                                                        
         /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found                                                                                                    
         /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found                                                                                                    
         /usr/local/bin/ganon-get-seq-info.sh: line 8: curl: command not found  

This implies to me possibly that curl is not set as a requirement in the bioconda recipe (which I don't see it in there, so I assume taht is the issue).

It would be cool if the bioconda recipe could be updated on a next release - I'm also happy to test the bioconda docker image during CI testing of teh bioconda recipe to make sure it's working :)

pirovc commented 1 year ago

Indeed that seems to be the case, will add the curl dependency with the release of #246. Looks like the diff version also do not support some parameters, so I will add the diffutils package as well for good measure. Thanks!

pirovc commented 1 year ago

Fixed with #246 and updated conda recipe https://github.com/bioconda/bioconda-recipes/pull/40685 Let me know if it doesn't work for you once it's up.

jfy133 commented 1 year ago

Thanks and will do! ALso monitoring the recipe to see if I can help out

pirovc commented 1 year ago

Thanks for the help, trying to figure it out what's going wrong

pirovc commented 1 year ago

I had to fix a genome_updater version, the latest is not working properly in the bioconda CI but works locally. I'll solve it in the next release, but GTDB downloads are going to be outdated (R207). in this release. Everything else should work normally though, let me know if the curl requirement did the trick.

jfy133 commented 1 year ago

I can confirm that the new docker image works for the latest bioconda pr so I think this is resolved now - thanks!

pirovc commented 1 year ago

FYI all fixed and running in the latest version 1.6.0 #251, soo up in bioconda

jfy133 commented 1 year ago

:tada:

Literally (as of 2 minutes ago1) just as I finished adding all the ganon tools to nf-core/modules with 1.5.1 :laughing: