Hey Robert. I technically did not attend SWC workshop and was already familiar with lot of programing unix-y tools before, but during my PhD the comments from my advisors went from the first year:
- Can't you just do these graph in excel in 1h instead of half a day to the last months: - How did you redo the analysis on 150 experiments with 3 differents models during coffee break ??? (using above graph function, I spent a few hours to make reusable of course) It was in a biophysic lab, the 150 experiments are theses [1] (indentation of a material, force distance curve, similar to AFM) This is the part where I still was supposed to learn how to use matlab (I decided that no, I'll be using Python) and the "physics" part, so maybe not relevant. The biology part, where tools are Excel, ImageJ & copy/past: I have an example where using numerical tool allow you to avoid experimenter bias in measuring an angle on a image [2] (we did a quick internal study across the 3phd/postdoc of my team showing a rough deviation of +/- 8 to 10º in between (people-mood-screen-timeofday combinaison, should have done a paper on that). The automatic measure has probably a bias, but at least constant. Thus we were able to see variation below human intrinsec angular measure noise on same sample through time. Roughly being able to write good code allowed us to do the analysis 1) on 3D images instead of 2D 2) in seconds instead of hours. Combinaison of the two allowing us to get controls measurements[3] we couldn't had otherwise. (Apparently humans are bad at checking that volume is constant in 5D (x,y,z,t, wavelenght) image dataset, for whatever reason). So roughly it changed the workflow from manually adjusting lines on a B&W 2D image with qualitative result to actually image on a confocal spinning disk 2 channel, fit, and get quantitative result. The code itself is complex, but basic unix-tool knowlege make it "usable" (for low value of usable). It taught a few of my teammates that structured way of storing data is nice, predictable filename, don't mix stack directions, dont record once at TIFF once as AVI.... Drawback of that, is if you don't plan to acquire 5D Dataset and planed for 2D then the team(s) you work with suddenly realize that 1Tb HD is not a lot, and that no, you don't work direclty from network drive, and that yes, you 128 Gb HD laptop won't do. This did impact the workflow and the science we were expecting to do a lot. Finally more "pure biology" (from video of maturing in mouse oocyte), we were able to get these[4] representing "cytoplasme agitation" (Proof of concept) in a couple of hours of coding[5] (roughly 250 lines, few minutes of run time), while it would literally take hours to do by hand/macro in ImageJ (famous among biologist to treat images) <insert remark unix allow some usability of tool if not yet a GUI>. The alternative was to get interns point 1 by 1 endogenous vesicle on videos (no particle tracking, as particle can change plane and stuff). This can even be done on a video with a sliding time window, what biologist didn't even dreamed of. This sudently change the mentality from "reducing the number of image taken to not get too much to manually pinpoint, copy in excel and plot" to "get the highest possible frame rate, in order to see differences at shorter timescale" (re-insert upper remark on Disk Space here). The shorter timescale we had with video when I left (~ 0.5Hz) was short enough to overlap with the longuest timescale we could mesure on the same system with Optical Traps (~ 1Hz). And the cell mutants had the same change in behavior in the timescale overlap (0.5 - 1Hz) with both measurement methods, which confort the behavior we have seen. Also Ho&^% Sh@#t we can do curve fitting with a model and get a single number out automatically instead of Handwaving that some curves are above others, and plot this through time. Random, shorter and not written anywhere: The "I know regex"[6] , more known in biology lab as "I've put the concentration, wavelenght and mutation of the protein in the filename, I've planned 2 digit for integer concentration 01,05,10 – but now I need 0.7 and 150". "I know cron", more known in biology lab as "you are the new intern, I dropped that into the Shared folder can you convert them all for me into <mp4, gif, avi, tiff, split by wavelength>". (hint it's already done). And the "wait where is my data I took last month, how did I named it already ?". Anything which is not in data/<year>/<month>/<day>/ is now moved there each day at 23h59. (missing: depending if facebook or grooveshark is open in IE or FF, add name of corresponding coworker to folder) "I know ssh": "do you know where <whoever> is, he has the key of the experiment room and i forgot to put my data one the shared drive." "I know git" (need a "I know cron that autocommits") "It was working yesterday, but <whoever> used the setup changed everything and my cell are already outside the incubator", (after which restore to <whomever> state, which was in the middle of some real improvements). Also help new interns with "run_me_for_experiement_0.7.exe","run_me_for_experiement_0.9_2014.exe", "run_me_for_experiement_0.8.exe", "run_me_for_experiement_0.8_latest_2015.exe" which becomes "runme.exe". "I know heroku", is often appreciated for "i can't type this formula in excel, and I don't understand matlab". Quick webapp with 3 fields – biologist love that, works with url bookmarks, do not need to "mail the new version" to everyone. Sadly I, and the few people that were interested in learning theses with me are gone from the lab, and some of theses tool need to be a bit maintained. I know some of these are "advanced", but it shows that one person that know a few tools might have an impact on many people workflow. Yes, there is a "Programmer" groups in my old lab, but it's mostly theoreticists who don't always understand needs of experimentalists. Curiously I used once anonymous function in matlab to help someone, explained, and the SO was more confortable after with anonymous function + maps, and unable to remember how to do a loop. Discussing is often not enough, you build the tools you need. You are often incapable of explaining what you need , and even worse incapable of knowing what you need if do knot know what can be done. Final anecdote one of my advisors was enough impressed, that he tried using vim **on windows**. Not for long though. Still now he is using git & github a bit, and have matlab code on github with zendo DOI. Sorry for this long probably badly written, with poor english mail, but I needed an excuse not to do other things :-) -- M [1]: http://matthiasphd.herokuapp.com/html/parts/part3.html#reconstitution-of-force-distance-curve [2]: http://matthiasphd.herokuapp.com/html/parts/part4.html#fitting-a-doublet [3]: http://matthiasphd.herokuapp.com/html/parts/part4.html#fig3d [4]: http://matthiasphd.herokuapp.com/html/parts/part5.html#fig-activity-map [5]: windows support and GUI included, https://github.com/Carreau/oocytes [6]: https://xkcd.com/208/ On Wed, Jun 24, 2015 at 3:53 AM, Robert M. Flight <[email protected]> wrote: > Hi Everyone, > > I am asking if there are any individuals in basic sciences labs where > programming is NOT expected who have taken a Software Carpentry workshop and > use the skills introduced, and are willing to detail how Software Carpentry > has impacted their workflow. > > I recently took some time in our Journal Club to give a presentation on why > our university should host a Software Carpentry workshop, and one individual > really pressed me on examples to convince someone like the chair of the > Biology or Molecular Biology department to put money out for this. I think > the example in the introductory shell scripting lesson > (http://swcarpentry.github.io/shell-novice/00-intro.html) is illustrative of > a common problem, but the testimonials on the website > (https://software-carpentry.org/pages/testimonials.html) seem to be mostly > from people in groups where some programming was at least expected. > > Thanks in advance, > > -Robert > > Robert M Flight, PhD > Bioinformatics Research Associate > Resource Center for Stable Isotope Resolved Metabolomics > Markey Cancer Center > University of Kentucky > Lexington, KY > > Twitter: @rmflight > Web: rmflight.github.io > EM [email protected] > PH 502-509-1827 > > The most exciting phrase to hear in science, the one that heralds new > discoveries, is not "Eureka!" (I found it!) but "That's funny ..." - Isaac > Asimov > > > > _______________________________________________ > Discuss mailing list > [email protected] > http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org _______________________________________________ Discuss mailing list [email protected] http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org
