I have been a professional software developer since 1998 after I got my masters degree in computer science. Yet, when I try to do some simple next-gen analysis, there are so many software tools with different flavors which require different input file formats, different options, with different pros and cons, and most of which are poorly documented. It's really a pain in the ass and a shame for me not being able to just "hookup" (pipelining) such programs together.
My question is: do we have a better solution? Say, one stop shop for NGS analysis? If not, who is interested in building up such a shop? Maybe we can figure out a better way to do NGS for everyone.
Did you look at Galaxy? This isn't as relevant to what you are directly asking but in a sense, it is a "one stop for NGS analysis" for people who don't program. I think the presence of different tools is due to the necessity for different purposes/projects you are working on (i.e. are you looking for SNP? are you doing genome assembly? etc). MSU has a nice NGS analysis workshop that you can look into if you are frustrated.
The problem of galaxy is that you cannot or it's very hard to pipeline with galaxy?
It's in fact very easy to do so and requires 0 computer knowledge. We have our bench scientists doing it.
Yeah? I mean to pipeline with python/perl/sh scripts.
That's certainly doable (the convenient python interface is called bioblend), but most people prefer to create a workflow and run it all within Galaxy.
Maybe, just maybe all this is not as simple as you think it is. Since when are in in bioinformatics? And if you are a pro and don't like it, go and develop software somewhere else, there are many fields that need software developers. I don't know, I just have the feeling you might be a software developer since 1998 but have - sorry - no idea about bioinformatics, could that be the case? And if so - believe me, all this is more complicated than it might seem and not because everybody in the bioinformatics software world is stupid.
How to really help... Don't make another 'better' solution. Use what already exists and improve it! Try really hard not to re-invent the wheel.
Yes. Sometimes a fundamentally different approach will require a new tool (alignment graph calling for example), but most of the proliferation in tools and especially formats is folks reinventing the wheel to implement rather marginal gains/improvements. We'd be far better off if that work went into common existing tools than creating new ones.
BTW: If a tool/project doesn't make improving it relatively easy, then it should die. There are perhaps some exceptions for particular commercial (human) analysis pipelines. However, for research, if you can't fix or improve the code and/or there aren't responsive maintainers, just don't use it. That narrows the choices down quite a bit.
There's diversity of software because there's diversity of requirements. That doesn't excuse poor documentation though but explains (some of) the proliferation. To me, Galaxy is as close to a one stop shop as it's going to get. Have you also read Scientific coding and software engineering: what's the difference and Why bad scientific code beats code following "best practices" ?