+1 for the doc, but I don't like the way sub-programs are initialized with the constructor. Every time a new parameter is needed, you need to extend the C++ constructor, IMHO a "better" way would be to use the builder pattern https://en.wikipedia.org/wiki/Builder_pattern . Bedtools is a great tool anyway.
• 1 views
•
link
I'm a huge fan of picard/htsjdk, but it is not gold to me. I don't like many things: parameters with annotations, a weird base class, stdin/stdout not default, non standard way of setting parameters, not using interfaces in SamRecord, using getXXXX for boolean in SamRecord instead of isXXXX, etc...
Somewhat off-topic... I find surprising that Java doesn't have a standard command line parser like argparse for python. There are a few libraries out there (I'm happy with argparse4j for that tiny bit of java I write) but none of them seems widely accepted. So many command line tools in java use their home made ways of parsing arguments.
"Minimum standards" has some good advice.