LifeFormulae Blog » Page 'Common Sense to Live By'

Common Sense to Live By

As promised, given below is a list of bioinformatics “horror stories”.    These are a few of the situations and people I have encountered through the years.   Names have been changed to protect the innocent.

 

People Issues

 

The following are “people” problems.  (Just about every discipline has these denizens.)

 

1) Make sure the person selected for the task has the skills required for the task, or at least the desire to learn those skills.

 

We were sent a programmer, Joseph, who was underwritten by another lab, but who would be using our equipment.   We were to assist him in supporting a research lab’s website.  His duties consisted of capturing genomics data from various sites and data resulting from analysis of the research lab’s data.  This data was then to be displayed on the lab’s web site. 

He was given a workstation and access to our support literature and introduced to another programmer, Jay,  that he could turn to for assistance.  

I realized he was in trouble a couple of days later when Jay came to me and said that Joseph was having problems.  He had referred him to the books and manuals we had in the lab that gave him exact examples of what he was trying to do, but Joseph said he couldn’t understand them and that they were basically a waste of time.  Jay even worked out the code that Joseph needed, but Joseph said it didn’t work.  The code consisted of about 10 lines of pretty straight-forward Java.

It didn’t work because Joseph had several “typos” when he typed in the code and tried to compile it.

I tried to help him with batching URL retrievals, but he didn’t understand even after he said he had read the Perl books we had.  I ended up writing the five line of Perl code needed for the Simple HTTP  retrieval because the job had to get done.

I talked to the P.I. of Joseph’s home lab.  Seems that Joseph had a little experience programming on the Windows platform and wanted to learn more about bioinformatics.  The P.I. did acknowledge that Joseph really did have a tendency to get other people to “help” him do his tasks.

Joseph was sent back to his home lab.

 

2) Find out everything you can about the person you are considering

 

My P.I. hired a programmer that had sterling referrals from a previous labs.  Didn’t take long to find out that the lab was giving out glowing references because they wanted to dump this person, Jane, because they said she couldn’t program among other things.  It seems this was the case in all of the other labs she had been with.

I asked my P.I.  why, why??  He said that he thought we would be ones that would finally be able to develop her skills.

I said that I didn’t think so.  She didn’t know the basics, and she tried to cover by saying the other programmers in the lab were out to undermine her.  Consequentially, this caused a lot of unrest in the lab.

She was given a support role and eventually went to another lab.

 

Project Management

 

1)  Set goals

 

There was this five-year grant that was in it’s last year.  The first four years had been spent working out the program design, very little coding had been accomplished other than a demo or two.  I got involved in the final year because they needed to produce something that could be referred to as a product.

The group was situated in a small area of some four offices and three cubicles.  Every wall was covered with white board for my arrival– where we could design the final model!

Design is good, but know when to say enough is enough.

The project was never really finished. The grant was not renewed.

 

2) Let those who can help you, help you

 

I got involved in a project whose purpose was to accumulate data from various sources for storage in an Oracle database.

After determining the data required and gathering that data, I generated the six tables in UML (Universal Modeling Language) and subsequently the SQL that could handle the data.  One table was a sequence identification table, or a table that held the id associated with that sequence in various databases such as GenBank and ENSEMBL. 

One project member, a P.I. of another lab involved in the project, stated that she had read a book on SQL and she knew what to do.

Needless to say, she didn’t understand relational databases at all.

Instead of six tables, the database finally evolved into over 200 tables under her oversight.  Most of these tables were of two entries — an index and a sequence identification tag.

 

3) Ask around, someone might have a better way

 

I was asked to help by a lab who was having trouble with some code developed by a programmer who had moved on.  The lab technician who used the software said that it took 19 hours to assemble the data required to define the wells on a micro array plate.

I took a look at the code.  By using the NCBI toolkit, several Perl scripts, and a database,  I was able to reduce 19 hours to about 20 minutes.

The previous programmer  used this elaborate system of indexed GenBank reports.  By using the toolkit I was able to process the NCBI ASN.1 files directly.

 

Software Issues

 

1) Software has its limits

 

One lab was using FileMaker Pro for data storage.  This was okay at first, but at 500 files growing beyond a 2-Gb file limit, FileMaker was struggling.

Data access proved more timely ported to an Oracle database.

 

 2) Read the Manual

 

A sequence is a string of letters.  As such, there is only so much you can do in searching strings.  The word size of the search is limited.

One lab was analyzing a sequence against the entire genome of a selected organism using open source software.  This software wasn’t intended to search the entire genome, just short pieces of it. 

After the process took some 5 days to partly analyze just one sequence, the lab technician decided that this widely utilized open source  program had to be rewritten.

The request was declined.

 

3) Document your code

 

We were called in to save a pharmacology database developed in Access. The original developer used Access because he “sort of” knew how to develop input screens in Access.  The lab ran into trouble when the developer left. No one in the lab was able to take over the application and everyone else they asked to look at the project, left shaking their heads.  There was no documentation of record.

The data was ported to an Oracle database with web-enabled user input and reporting functions.

 

4) Verify that the process completed

 

One research group created a process that was to automatically archive the day’s research data to backup.  They assumed everything was okay, until they lost a hard drive and found out the the automatic nightly backup never happened because the filename, which explicitly listed the physical location of the data file, was too long for the archiving software.  The backup failed with an error message, but no one ever checked.

 

Some things you just can’t help

 

One morning I arrived at the lab and found everyone on the floor waiting for me.  They couldn’t access the server to read mail, etc.   

I opened the lab, looked in the direction of the server and found an electrical plug pulled out of a socket. 

It seems that the nightly housekeeping need an electrical outlet for the vacuum cleaner and the one that was used by the server was the handiest.

 

One More…

 

Our lab paid the institution’s IT department for a monthly back-up of our computers. 

One morning, I came in, and everything was dead.  I called our lab sys admin, told him to investigate.

Well, turns out IT hadn’t really done a back-up of our system in over 3 years.  Apparently, they tried over the weekend.  (Our lab sys admin wasn’t involved in the process, as he was subsidized by our department and not IT.)

At the start of the process, the date command produced the proper output. At the end of the process, the data command produced the output — no date command found  - anywhere. 

I forget exactly what got deleted or screwed up, but everything had to be rebuilt.

Luckily, I had used one of the seldom-used machines to mirror our data, etc. on a daily basis. So, once the machines were back (2 days), we were okay and didn’t lose much.

 At this time, the average life span of a sys admin in IT was around 6 months.

Theses are just a few of my encounters in field of the life sciences.  I won’t go into the ones from engineering,  but I’ve got some beauts — especially as a woman in engineering.

Like this post? Spread the word!
delicious digg google
stumbleupon technorati Yahoo!

Leave a comment

You need to log in to comment.

Top of page / Subscribe to new Entries (RSS)