Question: What Bioinformatics Software Is There, Written In D?
gravatar for Samuel Lampa
8.4 years ago by
Samuel Lampa1.2k
Samuel Lampa1.2k wrote:

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 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 ^^ ...)

software tool programming • 3.5k views
ADD COMMENTlink modified 8.4 years ago by lh331k • written 8.4 years ago by Samuel Lampa1.2k
gravatar for lh3
8.4 years ago by
United States
lh331k wrote:

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 COMMENTlink modified 8.4 years ago • written 8.4 years ago by lh331k

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 REPLYlink written 8.4 years ago by Jts1.2k

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 REPLYlink written 8.4 years ago by lh331k

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]

ADD REPLYlink written 8.4 years ago by Samuel Lampa1.2k

(... 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]

ADD REPLYlink written 8.4 years ago by Samuel Lampa1.2k

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 REPLYlink written 8.4 years ago by lh331k

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 REPLYlink written 8.4 years ago by Samuel Lampa1.2k

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 REPLYlink written 8.4 years ago by Bioinfornatics40

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 REPLYlink written 8.4 years ago by Jts1.2k

@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 REPLYlink written 8.4 years ago by Samuel Lampa1.2k
gravatar for Bioinfornatics
8.4 years ago by
Bioinfornatics40 wrote:

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 COMMENTlink written 8.4 years ago by Bioinfornatics40

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

ADD REPLYlink written 8.4 years ago by Samuel Lampa1.2k
gravatar for Neilfws
8.4 years ago by
Sydney, Australia
Neilfws48k wrote:

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 COMMENTlink modified 18 days ago by RamRS25k • written 8.4 years ago by Neilfws48k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 862 users visited in the last hour