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

Reply via email to