14
$\begingroup$

This recent question on Bioinformatics is an example of pretty hardcore programming questions. An excerpt is given below. Apparently 'Owl' is used for gene sequencing, but I had to google it up with quite specific search terms to find out what it is.

Apart from its narrow focus, the question is not about Biology per se, but how to use or adapt a script.

I, personally, find questions about how to change, improve or generate a script within a programming environment (for biological research or not) out of scope for Biology SE.

However, I find it difficult to place a close-vote, because why would questions about MRI scanners, electrophysiological apparatus or gel-electrophoresis be on-target, given they are tools for biomedical research, just as Owl is? Moreover, as research is being sucked in silico across disciplines, isn't script writing a fundamental practice in Biology in general and should it be encouraged in Biology.SE?

Has there been a consensus reached in the past, or do folks have any ideas on this?

In the meantime I have close-voted the linked question because I find it not to be on topic, and more appropriate for StackOverflow or the likes.

Excerpts from question:

  1. [I] use this example, what is file go-closure.nt and N-TRIPLE ?
  2. how to query and read go.owl and show result in readable format? for example, using GO:0055006, how to find location of cells, which cell is part of which cell, which cell create from which
  3. how to generate rules or create rules for make inference for go.owl for biomedical activity ?
String ruleSrc = "[rule1: (?a eg:p ?b) (?b eg:p ?c) -> (?a eg:p ?c)]";
            List rules = Rule.parseRules(ruleSrc);
            GenericRuleReasoner reasoner = new GenericRuleReasoner(rules);
            reasoner.setMode(GenericRuleReasoner.FORWARD_RETE);

            //trace("create inf model");
            InfModel infModel = ModelFactory.createInfModel(reasoner, dataModel);

            //trace("prepare inferences");
            infModel.prepare();

            [...more code...]
$\endgroup$
  • 2
    $\begingroup$ Your linked question cannot be seen by sub-10000rep users after the site graduated, i.e. most users, since it has been deleted. Can you quote a section of the question for clarity? $\endgroup$ – fileunderwater Jun 23 '15 at 8:11
  • 1
    $\begingroup$ @fileunderwater - consider it done. $\endgroup$ – AliceD Jun 23 '15 at 11:20
  • $\begingroup$ Why not suggest they re-post to BioStars and/or SeqAnswers, two bioinformatics-specifics community-driven gamification Q&A sites? $\endgroup$ – mdperry Jun 24 '15 at 0:09
  • $\begingroup$ @mdperry - that may be a solution, but pointing them to external sites should be one of the last alternatives I guess. $\endgroup$ – AliceD Jun 24 '15 at 0:12
7
$\begingroup$

Programming and bioinformatics can be separated... sometimes...

Could it be that there is a clear difference between programming and bioinformatic questions?

Generally there are questions that I feel focus on the programmatic access to biological resources side (off topic) and those that are rooted in the theory of biology in computation. As pointed out by AliceD in the comments, "good" questions will result in biological answers, "bad" questions will result in programming answers.

Good: "What parameters to use in my Biopython script given the biological context?"

Good: "Could someone explain this alignment output?"

Bad: "How can I iterate through a list of fasta sequences?"

Bad: "How can I filter out long sequences using ruby?"

Obviously those are simple idealistic examples and seldom is it as clear cut as that. For example in the Owl question seems to ask a little bit of good and a little bit of bad. With questions like that the only real option is to refer them to the manual. Also, I vaguely remember reading that asking about specific software is off topic, although I can't seem to track this down...


On other sites.

BioStars has an awesome community with a massive amount of expertise in bioinformatics. Directing people to that site when they don't receive a good answer is helpful, but is not a long term solution. If I was king for a day I would merge the user base of Biostars into the SE (it was offered to them before and politics got in the way as far as I can tell). The users of Biostars would benefit the more polished and refined UX of SE, whilst the SE community would benefit from expertise in a rapidly expanding field of biology.

Long term, we should aim to attract that expertise and the expertise from other bioinformatics sites rather than force a merger. I think we can do this by encouraging bioinformatic questions and answers in the Biology SE.

$\endgroup$
  • $\begingroup$ Great answer and I totally agree with the goods and the bads. I think it might indeed be a very good thing to set a criterion at the presence of at least something having to do with Biology in the answer. Bioinformatics questions contain Bio, obviously, but both your 'goods' will also generate Bio answers, while both of your 'bads' will generate only script answers. Great. $\endgroup$ – AliceD Jun 29 '15 at 0:02
  • $\begingroup$ Agree with your Good and Bad! And you are spot on about other sites thing. Bio SE is neither SO nor BioStars and hence needs some flexibility in questions as this site is still far from "maturing up" $\endgroup$ – Failed Scientist Jan 28 '16 at 15:44
10
$\begingroup$

I agree that there are many borderline cases (and cases where StackOverflow is more suitable), but I'm leaning towards being as inclusive as possible, mainly from the perspective of treating experimental, computational, lab and field approaches in the same way. If we allow Qs on microscopy, lab techniques, MRI (and similar apparatus), sequencing etc that have a relation to biology and biological research, I think we should allow scripting/programming/computational questions as well, as long as they are closely tied to biology or biological research. In many cases, the programmes or software libraries might also be specific to biological subfields, and the chance of finding other users of the software, i.e. people that might be able to answer the question, could be higher here at BioSE than at StackOverflow. However, it is better if questions are framed at a higher conceptual level, and ideally they should not only be pure troubleshooting. The same goes for all other types of methodological/experimental questions though, and I would personally be hesitant to close questions as long as it is clear that they are dealing with an actual problem encountered during biological research.

After all, we claim that BioSE is a "question and answer site for biology researchers", which is all about "getting answers" to "questions about an actual problem you have faced", especially to "practical, answerable questions" where you have shown how the "question is relevant to more people than just you" (all quotes found at the site tour and help pages). Taken together, I think these quotes can serve as a good guide for what kinds of question we should allow.

This is a tricky issue though, and see my answer mostly as a comment and some initial ideas. Generally, I don't want to see on-topicness between sites as either/or, and questions might be on-topic both at BioSE and StackOverflow.

$\endgroup$
  • 2
    $\begingroup$ I agree to include this topics. The main problem that I see is that we don't really have a lot of people with experience in this field. $\endgroup$ – Chris Jun 23 '15 at 8:11
  • 1
    $\begingroup$ @Chris Yes, I agree, but that is a general problem for the site. There are many subfields of biology where we lack users with experience. $\endgroup$ – fileunderwater Jun 23 '15 at 8:13
  • $\begingroup$ There was a BioPerl question on BioSE about 2 weeks ago, but by the time I tried to answer it, it had been put on hold, so I commented. I guess it has been deleted/removed. The query was not about BioPerl at all, it was about using data structures to avoid time and memory-consuming loops. A fairly basic concept in scripting languages. With the advent of microarrays, robotic assays, and next-generation sequencing, biologists being trained now are likely to acquire some data munging skills before they retire--even if it's just using Visual Basic to run a plotter. $\endgroup$ – mdperry Jun 24 '15 at 0:17
  • $\begingroup$ @mdperry yes, I was thinking of answering that one also but, as you point out, it was a purely programming question about speeding up hash lookup. Sure, I've used that type of thing in my work but it's not really biological at all. $\endgroup$ – terdon Jun 26 '15 at 12:19
  • 2
    $\begingroup$ @Chris I disagree. We probably have more bioinformaticians here than any other subfield. The SE sites are full of people who know how to code and they are generally the first to move to new sites as well. Off the top of my head, I know that WYSIWIG, Konrad Rudolf, Shigeta, Michael Kuhn, rg255, fileunderwater and myself all work in or are familiar with bioinformatics. There are certainly more as well. $\endgroup$ – terdon Jun 26 '15 at 12:25
  • $\begingroup$ @terdon Then I wasn't fully aware of it. Good to know that it is different. $\endgroup$ – Chris Jun 26 '15 at 12:33
  • $\begingroup$ @Chris and there is Devon Ryan too. He has a pretty good rep in biostar. $\endgroup$ – WYSIWYG Jul 6 '15 at 4:17
7
$\begingroup$

This is my take on what bioinformatics (or in general any computational) questions should have in order to be on-topic.

  • There should be a clear biological objective: One can ask how to run BLAST to identify homologs but not how to install BLAST (or any other technical specification and bugs). For bugs and technical support one should contact the developer. There can be cases when it is difficult to identify the error generated by a bioinformatics package (or to even know if that is a bug). Such questions are on-topic given all details are mentioned (just like any experimental troubleshooting question). IMO a general rule of thumb should be that one should have tried at least 2 instances with varied parameters.
  • Questions on how a certain tool works, are also on-topic, but one should have at least tried to read the manual. However, if the question goes deep into the computational aspect then it may be considered off-topic. For example "How HMMER works" is on topic but "What is HMM" is not. It is also essential to include a link to the package webpage and/or the associated paper. This may not be necessary for highly popular tools like BLAST but since "popularity" is subjective in many cases, this rule should be followed for all packages/programs for which there are no tag-wikis.
  • Regarding script writing: writing a script is analogous to using a PCR machine. Like different brands of PCR machines have different specs and interfaces, different programming languages will have different specs and syntaxes. Therefore questions related to script writing are off-topic. Questions about how to construct or improve an algorithm to find a biological information are on-topic. This would not be specific to any particular programming language and can be explained using an instruction list, flowchart or pseudo-code. However, a user can exemplify their algorithm with a script if they wish.

A general note on questions on interdisciplinary areas

It is difficult to find forums dedicated to interdisciplinary areas and there won't be many people who will have equal expertise in all aspects of an interdisciplinary area. For such questions, the OP has to fashion the question such that it highlights the aspect that is on-topic in a given forum; they should ask about the other aspects in a different forum. This is essentially splitting the question into multiple parts. Since most interdisciplinary questions are asked by people with a higher level of education and training, it can be expected that they would be able to do this. If not, then the community can indicate which parts of the question are on-topic and may suggest the community that is suitable for the other parts.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .