Reworked input/output file arguments
* All tools now write to stdout by default. Tools that support writing report files write those to stderr by default. The -o/--output and -r/--report options can be used to override these. * Tools that operated on one sample at a time (bgcorrect, seqconvert, stuttermark) now support batch processing. The new -i/--input argument takes a list of files. In batch mode, the -o/--output argument can be used to specify a list of corresponding output files (which must be the same length). It is also possible to specify a format string to automatically generate file names. -o/--output defaults to "\1-\2.out" which is automatically expanded to "sampletag-toolname.out". The old positional arguments [IN] and [OUT] are maintained and allow for conveniently running the tools on a single sample file. [IN] is mutually exclusive with -i/--input and [OUT] is mutually exclusive with -o/--output. [OUT] now also accepts the filename format, but when not in batch mode, it still defaults to stdout. Note that by default, the sample tag is extracted from the input filenames by simply stripping the extension. This means a minimal batch processing command like "fdstools stuttermark -i *.csv" automatically creates a "...-stuttermark.out" file next to each CSV file in the current working directory. * Libconvert now also supports only specifying an output file. This makes it easier to write the default FDSTools library to a new file. E.g., "fdstools libconvert mynewfile.txt" now creates "mynewfile.txt" if it does not exist, and writes the default library to it. Most helpful.
Showing with 286 additions and 174 deletions