- For genes use 'genename' when the original allele was recessive and 'Genename' for genes found with a dominant allele. Always italicize.
- Gene abbreviations are similar, e.g. 'gen' or 'Gen'.
- The name for the protein product of that gene is 'Genename' (regardless of capitalization in the gene's name), while the symbol for the protein product is 'Gen'. Never italicize if you are referring to a protein.
- Use the gene name and abbreviation given by Flybase, even if most of the field uses something else.
- A UAS transgene is a gene too, so use 'UAS-genename' or 'UAS-gen' to refer to it, i.e. italicize. The same goes for 'gen-Gal4'.
- Separate chromosomes with a ';' between the names of alleles carried on those chromosomes e.g. "w; gen-Gal4; UAS-gen". If there is ambiguity about the chromosome and it is important, you can add a superfluous semicolon, e.g. "gen-Gal4; ;UAS-gen" to indicate the Gal4 is on the X and the UAS is on III.
- Gene naming rules are different in other species, look up their nomenclature if you have to.
- Please tell me if you catch me breaking these guidelines.
Some notes on gene and protein nomenclature, based on this extensive guide here.
Using Illustrator to make figures give nice results, but is a pain to collate into a single pdf repeatedly during the drafting process, requiring the use of Adobe Acrobat Pro's Create PDF > Merge Files into a Single PDF, clicking "Add Files", then selecting the files you want to collate into a pdf.
A faster way is to use pdftk server, a command line tool that is made for pdfs, but seems to work fine for .ai files also. From the examples given on the pdftk page, doing this is as simple as launching Terminal and typing the relevant version of this:
$ cd yourdirectory
$ pdftk input1.ai input2.ai cat output new.pdf
The resulting pdf files still ends up pretty big (as large as doing the same operation in Acrobat), so one still has to reduce file size in Preview (File > Export... > Quartz Filter: Reduce File Size, click Save).
You can download and install pdftk server here.
For repeated collation, you can save your command lines into a text file for later use.
*Note that you can find yourdirectory by using the Finder to find one of the relevant files and pressing Command-I to get information. Then highlight and copy the path information under "Where" in the information window.
Here is a guide to installing Python for data analysis on a Mac, along with a few extra tips to get going.
The Anaconda distribution is a very convenient version of scientific Python that installs a lot of modules as well as a Launcher that offers three GUI apps:
One of the great things about Anaconda is the ease of updating everything. On one hand, most of what we do doesn't need updating, but on the other the whole SciPy ecosystem is evolving so quickly that it seems silly to update less than twice a year. The GUI apps can be updated by pressing buttons in the Launcher, while Anaconda as a whole can be updated with two lines.
As shown here, you just need to open the command line (e.g. Terminal on Mac) and type
$ conda update conda
$ conda update anaconda
The first line will update the conda package manager, the second line will use conda to update all the modules in Anaconda.
Update: Some packages that are not in Anaconda will require installation with pip. To install pip, follow these instructions here. If you have pip already installed you can update pip:
$pip install --upgrade pip
and then use it to install a bootstrap package:
$pip install scikits.bootstrap
This bootstrap package can then used as per this tutorial.
OK so I needed to import a .csv table into Matlab, but knew it could be tricky. A friend wrote some Matlab code for me once to do this and it was a page-and-half of fiddly code, filled with string trimming and required quite prescriptive column and row names.
I knew pandas could handle csv files nicely, but was keen to keep things in Matlab since the rest of the code was there etc. So I google for the best way to do it and got this. Its a whole blog called Abandon Matlab on how awful Matlab is! Has chapter and verse about how Matlab does not handle csv files with mixed data... I did not go looking for this.
In late 2014, to install Octave and Oct2py for use in IPython on a Mac, take the following steps.
Yes this would have been better as a Notebook ;)
An example of an IPython Notebook that converts Python plots into fun, annotated cartoons, suitable for presenting pseudo-quantitative hypotheses: XKCD plots in Matplotlib. It demonstrates some of the beauty of the IPython Notebook format (.ipynb), by being a blog post as python code (or vice versa?). The dual identity of .ipynb files and their mixed-media format solves many problems with other data analysis software: the lack of narrative, the difficulty of sharing and the challenge of 'provenance' - knowing how a result was arrived at, from what data and which analytic methods.
A post by Fernando Perez, the founder of IPython, describes the philosophical aims of the Notebook model (e.g. transparency, easy shareability), and gives some more substantial examples: "Literate computing" and computational reproducibility: IPython in the age of data-driven journalism. In particular, he describes how massive economic pain was inflicted by governments with support from some economists' buggy Excel spreadsheet (Reinhart-Rogoff), and how that this is something that would not have happened with a shared .ipynb file. Such a file was produced in 3 hours by a member of the Python community!
In my view the clear superiority of Python over Matlab is based on things that did not exist when I first reviewed switching in mid-2011. Both the Notebook interface of IPython and the Pandas data analysis library were released with around the end of 2011, and since then both tools have gathered an incredible ecosystem around them. Furthermore, the IPython Notebook now also has 'magic' functions that allow one to call Octave (a free Matlab-like language) and R (a major language for stats) commands in a notebook, features that have evolved dramatically in recent years. Indeed, the first book about IPython was only released in April 2013.
Update: Other great (new-ish?) features of Python are pip install and StackOverflow - they make things much easier than my experience in 2011.
I am pretty sick of seeing the above, the Matlab license checkout error message. It comes up when my work copy of Matlab is open. Since my Matlab license only gives permission to use a single copy, the license server prevents me from using it on my work laptop at home.
Within 20 minutes of seeing this error message, I had downloaded and installed the Anaconda distribution of Python, and used it to do the calculation I wanted to do (a simple linear regression), even though I am not familiar with the Python language. Google served as my help search tool.
It was fewer lines of code, more straightforward than the Matlab script I was going to use and has a better interface (the IPython Notebook). From now on, the lab will be moving away from Matlab and working to use Python wherever possible. We are installing the Anaconda distribution on the server next to our data - so we also avoid having to move files across the network just to analyze.
Update, 6th December 2014.
I just updated my browser to Yosemite, and now Matlab 2012b is completely broken on my laptop.