This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Forum: What are your "model" examples for bioinformatics programming?

We've talked a lot about good practices here, but I'm wondering what you consider to be "gold standard" examples of coding/programming that bioinformaticians should read to improve their own coding and understanding.

I'll start:

Picard - written in Java

Sickle - written in C++

Cutadapt - written in Python

github rna-seq

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.

1 answer

Bedtools - best docs of all time

+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.

Log in to answer this question.