I was cooking my breakfast and started to think about “why hands-on cutting-edge bioinformatics is harder (to teach for non-geeks)?” It reminds me how I learn to do some bench work. Some basic unix tools, e.g., “awk”, “sort”, “python”, etc., are more like those little gadgets, a vortexer, various kinds of pipets, different kind of tubes, centrifuges, growth medium, etc., on a bench. If we are doing cutting-edge molecule biology, we might not want to put everything together before knowing exactly what to do on a larger scale automatic liquid handler. In the physical world, it is easy for people to have the right perception about the scale of the problem. On a computer, it is hard to people to realize doing fundamental image processing research is very different from knowing how to run “Photo Shop”. Don’t get me wrong, I love Photo Shop, but it is not a tool for doing cutting edge image processing research (I believe Matlab and some python/C code are the standard there now.) And it needs a lot of man-hours / capitals from cutting-edge image processing to Photo Shop.
When people start to develop a new molecule biology protocol, they will survey the exist tools they have to see whether some of the tools can help them to do step A, B or C. This is the same for bioinformatics too. When a molecular biologist does not find a tool that can solve their problem, he/she might start to check out VWR or some other catalogs to see if there is a new gadget (e.g. a different kind of gel box, incubator, purification column, etc.) that can make his/her work more efficient. This is the same in bioinformatics too. Some bioinformatics tools are obvious to use. However, for some other tools, reading manual carefully would be essential to full utilize its power. To me, the good thing about computational work is that, most of relevant information are on-line (in the system or on the Internet), so most of time I can be fully self-sufficient. In the meantime, one can still learn a lot from exchanging relevant information/little tricks with each other if there is some common basic understanding how things work. I believe this is the same for bench work too. For example, if one does not understand how different “columns” for filtration/purification work, one can not efficiently develop a strategy using them. (Yes, I had a lot trouble about those. I guess that I did not do enough homework. Maybe that is why I come back doing computational work mostly.)
What Will You Choose?
Dec 2
Posted by Jason Chin in comment | No Comments
Here is the “de-nosing”/”consensus” “algorithm” (A not-very-efficient one, but it takes less than 2 minutes to write..)
pixel = {} for im in rgn_array: for x in range(im.size[0]): for y in range(im.size[0]): pixel.setdefault( (x,y), []) pixel[(x,y)].append( im.getpixel( (x,y) ) ) ... for x in range(im.size[0]): for y in range(im.size[0]): rgb = Counter(pixel[(x,y)]).most_common(1)[0][0]