Follow Pierre Lindenbaum's advice.
:-D
As the title states, what are things that you wish you knew when you first started doing bioinformatics work? This can range from pitfalls that you later learned to avoid, tips and tricks that make life as a bioinformaticist easier, resources that have proved especially helpful, particular philosophies/modes of thinking that have been beneficial, etc. This can range from analysis to software development work.
A few things I can remember off the top of my head:
A few other things after a bit more thought:
I welcome any and all other thoughts and contributions.
Follow Pierre Lindenbaum's advice.
:-D
I just add "communication skills", I often need to explain bioinformatic concepts to developers or biologists, each one need a particular way to understand things.
Doesn't quite fit the bill of "things I wish I knew before" but,
Its great to know a bit of bash and awk and R etc., but its worth getting really comfortable with a language you can confidently do (almost) anything in. For me that's python followed by bash, but I could in principle do basically everything in python I guess.
In no particular order, and with understanding that I am repeating some parts of other people's advice:
$PATH. Remember your frustration when a program goes for hours without printing any progress messages, and add those informative messages to your own programs.Knowing, learning and loving $PATH is sage advice all of its own.
As a bioinformatician you have a (currently) very valuable skill-sets. People will seek you out, hoping that you'll do their analysis for them. I have been burned by this because people don't know what you can and cannot do, so they come to you with insufficient data, with a vaguely defined biological question or no question at all ('we have this Illumina-only genome assembly from 2012 we've always wanted to publish, but....'), expect you to do wonders ('Bioinformatics gets Nature papers, right? just do your computer magic!'), and so on.
I wish I would've known how to recognise time-wasting projects so I could just say no, I've wasted too much time. There are some questions you can ask though!
and surely many more. Sometimes people who cannot answer these questions satisfactorily will still lead to great papers and collaborations. But IMHO it's not the norm.
One thing is missing is to check and double check the data. If you make any assumption check them!
Absolutely true. The importance of never blindly trusting that your script/command did what you expected it to do cannot be overstated.
Related to this: Never, ever believe a result that is either too convenient, too clear-cut or too confusing/unexpected. These should be immediate red flags for you to go over your analysis until you find the bug. There is always a bug. It is not a matter of "if", but of whether it impacted your conclusions.
For the wet/dry lab hybrids (or in general how things imho should go):
Make sure that you validate your main computational findings with experiments. It is tempting to waste a lot of time confirming results in silico, tring different tools, pretty plots, everything wrapped into a nice Markdown, one-click reproducibility etc. Still, eventually this is all meaningless if you cannot show with credible experiments that your in silico predictions actually hold true. Say you find gene signatures suggesting that certain pathways drive your phenotype. If a knockout experiment of your main candidate (say a transcription factor that is on top of the hierarchy) does not create any phenotype, well, then your nice and super reproducible Markdown is nice to have, but worthless in terms of actually explaining biology.
On the other hand, if your experiments confirm your data, but your code is messy, spread out over a dozen scripts on two workstations and you even lost the scripts for the low-level processing, well, it is going to be hard to actually reproduce your analysis.
Take-home message: Learn how to organize your code. Comment as much as possible in your scripts. Workflow managers can help, but are not a must (imho) if your scripts are proper, maybe with Git-based version control, and backed-up somewhere. Run your analysis to create hypothesis, then be sure to validate it. Be sure to have a robust finding first, you can then still continue to make all kinds of nice support figures, but you need a solid biological finding that is backed up with string experimental evidence (beyond the experiments that created the input for the in silico analysis). Pretty figures alone do not make a story unless you are a large consortium that can compensate the lack of biological findings by providing a huge amount of data that the community might use in the future as reference datasets.
Log in to answer this question.
Related: Advice For Newcomers To The Bioinformatics Field
Ah, I searched and somehow didn't stumble upon that. Thanks! An updated revisit may be useful regardless.
Ya, It is very old, definatly needs updates.
There is an old post with some good advice (it is more about how to manage a bioinformatics position or career, and less about technical stuff): A guide for the lonely bioinformatician.
For a core bioinformatician, in addition to the technical-side suggestions above, here are some "mind-frame" tips:
As repeatedly stated, communication skills are very important, but often bioinformaticians are very poor at it - continuously try to improve it, be it to better convey technical aspects of the work, be it to improve your interpersonal relations.