Biostar Handbook, computational genomics, and Julia - to be or not to be?

How many people started to learn bioinformatics with Julia, not Python? I guess not many. There is a unique opportunity to change that - one of the most recommended books for the beginners in this area is Biostar Handbook from the authors of Biostar Q&A site. An amazing piece of concentrated computational biology knowledge, with a focus on processing data in UNIX environment. Or in their words:

The Biostar Handbook introduces readers to bioinformatics, the scientific discipline at the intersection of biology, computer science, and statistical data analytics dedicated to the digital processing of genomic information.
The Biostar Handbook has been developed, improved and refined over more than a half decade in a research university setting while used in an accredited Ph.D. level training program. The contents of this book have provided the analytical foundation to thousands of students, many of whom have become full-time bioinformaticians and work at the most innovative companies in the world.

It even comes with an online course!
At this point, you might want to ask - what this is doing here? Well, unlike many other books and materials this one is updated frequently, based on the readers/students feedback, and as science progresses. Thus, it creates a unique chance to make the Julia flavor of the book. And creating “flavors” for a book is not something ridiculous to say. There is a good example of such thing - Category Theory for Programmers, which comes in Haskell and Scala flavors. What I want to say - it would be wonderful to cooperate with the book authors and editors, bring some Julia knowledge and libraries. It will also help to understand better what crucial parts of the ecosystem are missing in this scientific domain.

12 Likes

I was thinking of doing some tutorials on bioinformatics basic, e.g. how to implement samtools/picard functionalities in Julia (which is quite easy most of the time). Being able to easily write your own routine instead of relying on chaining external tools is one of the big advantage of Julia in bioinformatics imo.

I very much support the sentiment - I also would love to see a bioinformatics handbook using Julia - but I’m afraid you can’t just fork the content of the BioStar Handbook and replace the code examples with Julia.
The BioStar Handbook is not free, see FAQ – The Biostar Handbook for the rationale.
And in the book itself, you find the following clauses:

"2.0.3 What are the licensing terms?
The Handbook’s content is copyrighted material owned by Biostar Genomics LLC . Republishing any part of the Handbook is permitted only on a limited basis and must follow the terms of the Fair Use policy unless other, prior agreements have been made.

2.0.4 What can I reuse from the book?
If you own the book or have an account on this site that means that you have been provided with a license to access, apply, modify and reuse information from the book as it pertains to your own work and research."

2 Likes

I’m designing an introduction to computing course that’s targeted at biologists. It will be much more basic computer science skills rather than bioinformatics specifically, but I’ll be using bioinformatics problems to illustrate concepts.

If there’s interest in this sort of content, I’d be happy to contribute.

3 Likes

We can reach the authors for this work, I don’t think they will be against this, if the overall terms will be kept.

The question is whether maintaining the restrictive licence is worth it. Personally, I’d rather contribute to something with a more permissive license, even if it means coming up with the material from scratch*.

** it probably wouldn’t really have to be from scratch, there’s lots of existing educational material that could be repurposed.

3 Likes

I’ve created a post on BioStars.org in an effort to see if we’re allowed and they’re willing to collaborate.

https://www.biostars.org/p/387809/

If not, I’m in favour of the approch suggested by @kevbonham to create an introductory course unsze a permisive license, targeted at biologists and using Julia (I’m a biologist myself).

2 Likes

It seems like they are not against the idea. Now the question is - will authors publish the new flavor of the book on the official site or not. If yes - it worth the effort.

While creating an introductory course from scratch is a good project too, but this “translation” would bring faster results, will promote the language among existing readers and students, who already work with the handbook, and will be complete enough to cover many essential subjects.

1 Like

It may be. And I should say that I’m 100% supportive of people doing things and expecting to be compensated (that is, I don’t begrudge them their license). I’m only saying that I’m unlikely to put my development effort towards something unless I’m the one being compensated or it’s a more permissive license.

I agree that a course and a textbook are orthogonal efforts. I’m developing the course regardless - I only bought it up because there’s likely to be some overlap and if there is a bioinformatics textbook with problems in Julia, is likely be able to use some of it ( and thus be willing to contribute to it)

2 Likes

I don’t know about computational genomics, but typically, in academia, the main reward for writing a widely used and highly regarded set of teaching notes/tutorials is invitations to teach courses using it.

And, of course, collaborations; similarly for software.

Well, textbook authors also get some cut of copies sold, don’t they? I’m all in favor of open-sourcing textbooks too, and I think it makes extra sense if it’s a code-based book, but I don’t think it’s necessarily the norm.

2 Likes

AFAIK the revenue is significant for high-profile textbooks used in undergrad courses.

I was thinking of resources that may not qualify to become a textbook like that, because they are too narrow interest, change too rapidly, or a lot of the added value is in getting personalized instruction with problem sets, TAs, office hours etc. A lot of graduate-level teaching material belongs in this category.

1 Like

Hi, I subscribe to and use biostars handbook. It is a great resource. I have been interested in learning julia for genomics/bioinformatics for over a year but have not found many resources. I would gladly subscribe to a julia based biostars-like e-book.

Welcome to the community! There’s a bunch of development effort happening in the BioJulia organization, and someone just recently posted a package called Bioinformatics.jl that was used to go through rosalind.info problems.

I don’t know how much of a programming background you have, but it sounds like you’ve been in the field a while. If you know python or R or matlab already, my advice would be to go learn julia in y minutes, then just start using it. I’m guessing most of your questions in the beginning will not be bioinformatics specific, but just general questions about the language. Search/ask here, check out the julia slack, or ping us at the biojulia gitter. Good luck!

4 Likes

So I’ve been playing the the idea of a BioJulia handbook in my mind since this thread started - and trying to convince myself to be motivated. My initial idea was, as I build BioJulia’s new genome graph and assembly framework, to distill the assembly training course we do at EI into the beginnings of a BioJulia handbook. BUT the issue I have in my mind is: a lot of that stuff ought to go into the documentation of the packages anyway, and so how much of a repeat would a handbook be of a lot of the stuff that is in say for example, the BioSequences.jl docs anyway.

1 Like

I agree with you, but you’re assuming people are already interested in using Julia and have access to the code and examples. There’s plenty of biologists who have no idea about Julia, because they not bioinformaticians and will probably benefit from a book that informs them about this other available tool. I think the Julia community would benefit from more examples, Stack Overflow questions, tutorials and books. It’s hard enough today to find information about Julia as a programming noob and we probably could help close that gap.

1 Like

So the question is what would people want to see in a julia bioinformatics book? What should make it in? Given the license of the biostar handbook, I would be hesitant to make another flavour, given they say using the book verbatim with translated code example is not allowed… but that’s what another flavour would entail as far as I can tell.

It might be worth starting a new thread taking suggestions for topics. I’ve never looked at the biostars handbook (that I can recall), so could contribute without worry about violating their license. There’s also the biopython cookbook, which I think has a more permissive licence.

1 Like

Directly creating a GitHub repository might be a way to go. More people would want to join once something started already.

Ok, I’ve made a blank repo here, for people to open issues on with their ideas and continued the discussion.