What Bioinformatics Software Is There, Written In D?
3
7
Entering edit mode
12.7 years ago
Samuel Lampa ★ 1.3k

The D programming language seem to be slowly but steadily picking up (The D book out for a year now, and discussions increasing on different forums).

I've been planning to pick up a language like C or C++ to be able to write high performance bioinformatics software, but after I found D, that seems a much more promising choice to me, having all the modern features like (optional) Garbage collector, clean productive syntax, (so-claimed) strong concurrency features etc, while still being fast and allow optional close-to-hardware coding.

Thus, it would be interesting to know what bioinformatics software is out there already, written in D (to use as examples and helpful starting points), except from the only one I found so far, the CnD (copynumber) software from Sanger institute.

Do you know of other software, or are you writing something on your own? Even smallish script-like tools could be helpful to know about, if you're sharing as open source. And, if you wrote the software yourself, what is your impressions of the usefulness of D for bioinformatics? (Of course, authors of CnD are free to share their impressions! :) ).

(Not sure how to choose the right answer on this one ... but there's always the voting of course ^^ ...)

programming software • 5.3k views
ADD COMMENT
6
Entering edit mode
12.7 years ago
lh3 33k

I really like D. It is IMHO far better than C++ and at present better than Go. It corrects nearly all the major faults in C++ (such as with string, hash table and GC), while achieving nearly the same efficiency as C++ most of time.

However, although given the exceptional advantages of D, my feeling is the D community is shrinking rather than growing. The lack of the support of a big company (such MS behind C++/C#, Apple behind Objective-C, Google behind Go and Sun/Oracle/IBM/Google behind Java) is the key reason in my opinion. The incompatibility between tango and phobos and between D1 and D2 gives it another deadly blow. The inefficient official compiler (DMD) and the lack of community efforts in other more competitive compilers (GDC and LDC) are also at times frustrating. It is a great pity that such an elegant programming language cannot be widely adopted for other reasons.

Using D means you are confined to a small community. If your project is in D, you are basically working alone. If you do not care, D is a decent choice; if not, C++/Java is better. BTW, Jared Simpson, the developer behind CnD and the famous Abyss, has moved back to C++ in his latest project SGA.

EDIT: Someone gave me this link just now. Perhaps I was wrong that "the D community is shrinking", but I would not recommend it anyway.

ADD COMMENT
2
Entering edit mode

lh3 has covered the most important issues but as the author of cnd I will comment. The language itself is great and fixes most of the issues I have with C++ (ugly template syntax, not being context free) and adds many nice features. The reason I switched back to C++ for my next project is due to the tools. DMD could only generate 32-bit code when I was using D so I had to use GDC, which was infrequently updated at the time (I think both of these issues have been improved). Also, I would be forced to make binary releases of my software as installing a D compiler is asking a lot from the users.

ADD REPLY
2
Entering edit mode

If we have a SeqAn library in D, or if someone can come up with a BioD and get it approved by OBF, D will quickly become popular.

ADD REPLY
0
Entering edit mode

Thanks for sharing these insights! I'm kind of hoping that there will soon be a break-through, where the DDT Eclipse plugin project [1] gets fully functional etc :) ... but I realize we're not there yet, so I gess I'll keep myself to smaller test projects for the time being ... [1] http://code.google.com/a/eclipselabs.org/p/ddt/

ADD REPLY
0
Entering edit mode

(... actually being into Java already, with some plugins for Bioclipse [1], and suppose I'll stay with Java as main language for the foreseeable future, but would be nice to develop skills in some more closer-to-the-iron and non-oracle-hijacked alternative language too ...) [1] http://bioclipse.net

ADD REPLY
0
Entering edit mode

If you would like to explore a new compiled programming language while are loath to the notorious segfault, you may consider Go. Go for now is less efficient than D in my experience, but I do not see a particular reason why it cannot be as fast as D in future. Go is backed up by google and a few truly genius (well, the creator of D is a genius, too) and in a better shape (open and no such thing as a tango fork).

ADD REPLY
0
Entering edit mode

Thanks again for the input (will give this the mark, as being the most elaborate and informative answer) ... I might have a look at both D and Go, before making any definitive decision ...

ADD REPLY
0
Entering edit mode

Now D2 programming come to Fedora 16, easy for install. ldc support x86_64 x86 arm (need test user for last one) and can do dynamic library. I agree D do not have many bioinformatic project but if anybody start one how you want go forward ?

ADD REPLY
0
Entering edit mode

I agree that support for D is improving, especially the compilers. It is good that distros are starting to include D compilers. When I started my current project nearly 2 years ago, I did not feel D was mature enough to use for a multi-year project. Maybe it is different now. I think projects like dscience are a good idea and will help encourage people to write bioinformatics applications in D.

ADD REPLY
0
Entering edit mode

@jts: Many thanks for the input! I think what you say is quite much in line with my general impression that there we're not really too far from having a very compelling language in D, for many kind of projects (esp. those written from scratch), especially if tools such as DDT gets to the critical point of usefulness. If only the community grow a bit more, I suppose it's a matter of time, before we'll be there ... :) (at least I do hope so).

ADD REPLY
4
Entering edit mode
12.7 years ago

Hi, D programming language is great, community grow day after day. The only thing i can said it is, i have a project named dscience on gitorious. If someguy want help to improve you are welcome. I will update soon to D2

ADD COMMENT
0
Entering edit mode

Thanks! Looks like an interesting little project ... will definitely have a closer look at the code.

ADD REPLY
3
Entering edit mode
12.7 years ago
Neilfws 49k

A quick web search for "D programming language" + bioinformatics revealed:

So there is some, rather limited interest in D. I'd suggest: by all means investigate it "for fun", but bear in mind the far greater amount of support for bioinformatics in other languages, if you want to be productive.

ADD COMMENT

Login before adding your answer.

Traffic: 2503 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6