hildebra / lotus2

Amplicon sequencing pipelines suitable for SSU (16S, 18S), LSU (23S, 28S) and ITS.
http://lotus2.earlham.ac.uk/
GNU General Public License v3.0
52 stars 17 forks source link

FR: yaml config file for easy reuse and sharing parameters #30

Closed splaisan closed 1 year ago

splaisan commented 1 year ago

Hi,

Unless I missed it, we have now 'only' files in the config folder which set a number of default parameters for several platforms (using '-c', which is great already but not very easy to parse).

Would it be possible to also allow yaml import of complex parameter sets, made of your >60 available flags, so that users can easily reuse complex commands and share them in papers or protocols?

Another great addition would be to have a file created after submitting a manual command at CLI and that would include all user-defined AND default parameters for that command. This file could be used as template for the next command to increase reproducibility as in my previous paragraph.

If I had the choice, I would favor yaml over xml or jason for readability but the later would also be OK as they can be converted with yq like tools.

Thanks Stephane

hildebra commented 1 year ago

Hey Stephane, LotuS2 prints the complete LotuS2 call command and LotuS2 version at the beginning of each command, this is also stored in the lotus runlog. Please also refer to citations.txt, that reports on the programs used & their version for reproducibility. Would this suffice? Maybe it would be easier to write a wrapper that calls LotuS2 based on a yaml file? However, I see a problem with the yaml command options, that this is likely hardcoded; LotuS2 flags change dynamically based on internal logics. Therefore the yaml would need to be adapted for different scenarios, while the internal logic from lotus often applies to different situations. All in all, I see some problems with implementing a config file for the lotus2 flags (that should have ok defaults). Please note that we have a config file for sdm qual filter, actually several of them for different scenarios. These are in the configs/ folder. best, Falk

splaisan commented 1 year ago

Thanks Falk, Yes that makes sense for the yaml and I will have a look to the log for the last command summary. Best regards, Stephane