bgruening / galaxytools

:microscope::books: Galaxy Tool wrappers
MIT License
115 stars 222 forks source link

ampir Panaroo and Yara ToolFactory generated tools. #1326

Closed fubar2 closed 7 months ago

fubar2 commented 10 months ago

adding first tested and working generated tool from the nf-core module to galaxy tool converter at https://github.com/fubar2/nftoolmaker

It passes planemo tests and lint. Generated by parsing the nf-core module yaml and using the ToolFactory to generate the XML. Will need cleaning up - specific suggestions welcomed - changes will affect all future generated tools as I'd like to make them as consistent as possible with IUC guidelines that make sense for autogenerated tools.

The test data is a real challenge because it has to be extracted from special test descriptions written in their nextflow DDL. Fortunately, most nf-core developers have line oriented habits making it possible to decompose these without needing a proper parser. Mind you, I did try - pyparsing is great but my skills were weak. Where DSL trickery is used, the automation fails and the nextflow source can be fixed if needed so the tool will work. However, in this trivial test case, it works completely automagically. Hope this is useful to someone.

fubar2 commented 10 months ago

Thanks @bgruening! Changed the owner to me for these generated tools in .shed.yml and made all the suggested changes that are easy to automate. Generating tools from nf-core spawn is very different from manually writing tools or manually filling in a ToolFactory form, so some small deficiencies are almost inevitable from the highly variable but generally not great quality of the inputs.

fubar2 commented 10 months ago

@bgruening Yara was relatively easy to generate with the ToolFactory so is now added to this same PR. It is a bugger of an executable because it insists on specific file extensions for information about what's incoming. Painful but I have worked around it and the ToolFactory coped well... Let me know what you want to do so mthang can try Yara out please? It maps :

Anyone know why $foo.ext will return fastqsanger instead of fastq for a fastq in my history? It caused me hours of wasted time even though the data was definitely showing fastq not fastqsanger.. I noticed others have used startswith('fastq') so I used that....but it's a horrible hack for an odd wart.

fubar2 commented 10 months ago

grrrr - vanishing single quotes added back to give bash '$runme'