Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for the same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts. This requires not that the writer make all his sentences short, or that he avoid all detail and treat his subjects only in outline, but that every word tell.
There were two required texts for my undergraduate Evolution class: Evolutionary Analysis by Scott Freeman (link is to new edition rather thean the one I used), and The Elements of Style by William Strunk Jr and E.B. White (link to original 1918 edition). The former seemed appropriate at the time while the latter confused me greatly. The course was writing intensive and a large part of our grade was based on our writing clear, concise and substantial analyses of primary literature as well as a 30 page review paper. At the time I am sure that I looked through the style book but I can honestly say that I did not give it the consideration it deserved.
Today, in an act of procrastination, I took the ‘little book’ from the shelf, blew the dust off of the binding and leafed through it over a cup of coffee and realized how relevant it is, even nearly a century after its first publication. The above quote is a great summary of what my advisors have been telling me for years concerning scientific writing. In the version I have (1979) there are 11 elementary rules of usage which I mention below:
- Form the possessive singular of nouns by adding ‘s
- In a series of three or more terms with a single conjunction, use a comma after each term except the last
- Enclose parenthetic expressions between commas
- Place a comma before a conjunction introducing an independent clause
- Do not join independent clauses by a comma
- Do not break sentences in two
- Use a colon after an independent clause to introduce a list of particulars, an appositive, an amplification, or an illustrative quotation
- Use a dash to set off an abrupt break or interruption and to announce a long appositive or summary
- The number of the subject determines the number of the verb
- Use the proper case of pronoun
- A participial phrase at the beginning of a sentence must refer to the grammatical object.
These are timeless rules of grammar. The book includes a few things that have not survived the ages such as the following section discriminating against the use of the suffix “-ize”, that I believe only appears in the White edited version of the text (not in the original)
Do no coin verbs by adding this tempting suffix. Many good and useful verbs do end in –ize: summarize, temporize, fraternize, harmonize, fertilize. But there is a growing list of abominations: containerize, customize, prioritize, finalize, to name four. Be suspicious of –ize; let your ear and your eye guide you. Never tack –ize onto a noun to create a verb. Usually you will discover that a useful verb already exists. Why say “moisturize” when there is the simple, unpretentious word “moisten”.
What a fantastic quote! Needless to say, it seems that society has not agreed with the authors, as evidenced by the inclusion of all of the ‘abominations’ in the MS word dictionary. Not to mention the numerous other –ize words in common usage today. I think that one of my new favorite quotes is the last sentence about the word “moisten”.
Overall, this book is still as relevant and accurate as it was nearly a century ago and I will strive to make my writing follow Strunk’s guidelines to the best of my ability.
Dave Munger over at Cognitive Daily just wrote this post about people’s lack of understanding of error bars in the graphical representation of data. The post is very interesting and I encourage people to take the quiz that he has posted on the correct interpretation of error bars.
A particular comment on that post concerns me, and I am going to use this post to give my two cents on error bars and their importance in the understanding of data. Specifically I will try to address some misconceptions and problems with how people use and read error bars.
The comment that concerns me is:
I may, in the future, forget the exact definition of what the error bars mean, but I will still be capable of saying “Whoo, small error bar, that figure is probably pretty accurate” and “Whoa, look at that huge error bar, I’ll use a bigger grain of salt to look at that figure”.
This comment frightens me. I can’t help but to think about the book How to Lie With Statistics (link to book at powells). The main problem with this reasoning is that there are many ‘types’ of error bars that are often included in scientific graphics, with most researchers choosing some multiple of either the standard error or the standard deviation. One can not just look at the length of the error bars and assume that it means accurate data (to get a bit picky on semantics – also, error bars do not reflect the accuracy of the data, rather it reflects the precision with which you can measure the data). It will all depend on which error measurement is being plotted, and it is highly variable among scientific papers. I tend to use error bars that are the length of 2 * Standard error for reasons I will get to in a bit, and thus relative to other graphics that usually plot 1 SE my data may seem ‘less accurate’ to the reader, and that would be a shame and completely incorrect.
The appropriate use of error bars
Data that is plotted without error bars are data that cannot be put into relevant scientific context. Are two means the same? What is the measurement error on the observations? Is there a pattern of variability among groups? These are all incredibly important scientific questions that cannot be addressed without estimates of errors of one form or another. As such, error bars should ALWAYS be included in scientific graphics. The lack of error bars in figures immediately raises suspicion in my mind as to the appropriateness of any conclusions drawn from the data. There are a few exceptions where a complex graphic would lose all meaning if the error bars were included (say there were too many points and if the error bars were included you would not be able to see any of the data), but under these conditions, the text associated with the figure should make very clear the level of error on the data.
In my publications, I tend to use error bars representing two standard errors (SE) around a mean. This is because the standard two-group t-test (or F-test) has a 95% confidence interval of ~2SE. Therefore you can use this to directly estimate the significance of a difference in means, rather than having to visually double the length of 1SE error bars that most people use (mostly because they make people like the one quoted above more trusting of their data, rather than for any worthwhile reason). With 2 SE error bars, one can look to see if the mean of one group is included in the confidence interval of the other group – if so then there is likely no difference among the groups. Note that it is not relevant whether the error bars ‘overlap’ but whether the mean of one group ‘overlaps’ with the error bars of the other.
Here is fictitious example with some randomly generated data.
In this case the two groups are significantly different using a Students t-test (t =3.59, df = 198, p = 0.0004. I have plotted the same data twice showing that the two samples are different, with the plot on the left-side having 1SE error bars and the one on the right having 2SE error bars. There is not much difference in interpretation of these graphs. In either case they look different (OK, for this example, I have two groups that are highly different to try to make this easier to visualize). The 2SE error bars do not make the data look ‘less accurate’ but they do make it easier to see what is going on. The mean of either sample is not included in within the error bars of the other sample – thus the two samples are different. This is easier and more appropriate to interpret than the left plot with which in order to correctly interpret the error bars, you must first visually double their length. The person quoted above may have less trust in ‘accuracy’ of the data on the right, even though it is the same data, just with a different choice of error bar.
The following example is again randomly generated data, but in this case there is no significant difference among the groups (t = 0.96, df = 198, p = 0.336)
In this case the difference between the left plot (with 1SE error bars) and the right plot (with 2SE error bars) is clear. The right figure yields to the most appropriate interpretation of the data. It is clear with 2SE that the mean of one group ‘overlaps’ with the error bars of the other group, therefore suggesting that there is no difference among groups, which is the case here. If people were incorrectly using the same reasoning in the plot with 1SE error bars, they would incorrectly conclude that the means of the two groups were different.
My main conclusions are the following:
1. Error bars should ALWAYS be included in scientific graphics or at least have associated text describing the error measurements.
2. Do not just look at the width of error bars as an estimate of ‘accuracy’ of the data – it is context dependent on what the data are and which type of error bars the author has decided to use.
3. I encourage the use of 2SE error bars in the majority of cases to improve the clarity of the relationships of the data and to minimize the mis-interpretation of the error bars, even though it may make your data look ‘more noisy’.
4. Teach others what error bars really mean so that they can accurately read scientific figures.
Finding gene sequence data in organisms for which there are no genomic resources available can be a non-trivial task. One of the most common methods for finding such sequence information is through degenerate PCR methods, either using total genomic DNA or a DNA library (genomic or cDNA library) as template. This technique is tedious and its effectiveness requires quite a bit of luck as well as skill. I have never really found a comprehensive resource for optimizing the chances of success so in this post I will outline the techniques I use and give a few tips that have really helped me in the past.
In general, polymerase chain reaction (PCR) requires two primers (short sequences of nucleotides) that specifically bind to a region of the genome that is to be amplified. This requires knowledge of at least a portion of the specific sequence to be amplified. Degenerate PCR involves using primers that allow for some ‘wiggle room’ in the sequence of the primers. For example the 4th nucleotide in the primer sequence may allow it to anneal to template sequence with nucleotides A, T, or G, while excluding those with C. This allows for flexibility in amplification. On the downside, it reduces specificity of the primers.
Degenerate PCR works because, in general, there is far more conservation at the amino acid (AA) level than at the nucleotide level. Conserved portions of AA sequences among organisms closely related ot the focal organisms are likely to be conserved in the focal organism as well. For example, let’s say that there is a gene that has the following amino acid sequence “GCCHCDE” that is conserved among a few closely related organisms. There are 256 nucleotide sequences that will code for this specific AA sequence. It is likely that neutral changes in the nucleotide sequence of these organisms have been accumulated throughout evolutionary time, but if you design primers to take into consideration all of these possibilities, you should be able to use this sequence as a PCR primer, assuming the AA sequence is conserved in your species of interest. Aligning the nucleotide sequences of these organisms is unlikely to yield conserved primers.
I will discuss the design of degenerate primers for ‘finding’ a gene in an organism that has closely related organisms with gene sequences available.
Step 1 – Get the sequence data of the gene-of-interest from related organisms
I work on a mosquito, so I generally start by finding the sequence data from D. melanogaster, a fellow dipteran. I start at Flybase and look up the sequence (usually by name) that I am interested and download the protein sequence (translation) in FASTA format (you can use all of the following methods for non-coding DNA as well). The sequence should be copied into an empty text file. I usually change the beginning of the header line (the line starting with “>”) to be the species name as this is the portion of the header that will be included in the alignment files. The alignment program will read from the character after “>” until the first space, so keep that in mind when you name your sequence.
Next, it is necessary to find sequence data for other related organism (in my case other mosquitos including Culex pipiens, Aedes aegypti and Anopheles gambiae). I usually do this at NCBI using their BLAST program. I usually stick to 3 – 5 species that are closely related to the one you are after. Including more organisms make it a bit harder to work with but are more likely to give you highly conserved regions.
Once you have acquired the protein coding sequence of a variety of closely related organisms, it is time to move on to step 2!
Step 2 – Align the protein sequences
With the text file including the fasta-formatted protein sequences, the next step is to align the sequences to account for gaps. I use ClustalX, but there are web-based interfaces for Clustal available including one here. I usually just leave all of the default options and run the multiple alilgnment, which spits out an alignment file (*.aln) with the aligned protein sequences. Then I print out a copy of the alignment (working on the computer screen is difficult). This is where the tedious part begins.
Step 3 – Finding conserved sequence regions with low degeneracy
The goal here is to come up with stretches of conserved amino acid (AA) sequences that have a low degeneracy. By this I mean that the conserved AA sequence could be generated by a relatively low number of nucleotide sequences. In general the lower the degeneracy you can get (fewer possible nucleotide sequences) the better. At worst, I will use a primer that has a degeneracy of 1000 possible nucleotide sequenes, but I try to make them much smaller than that if possible.
Stare at the printout. Alignment files are nice as they put “*” under all sites that are conserved and “:” under all similar sites. Look for stretches of these symbols and that is a good place to start. Once you find conserved sequences (trying to make primers of ~17 – 24 nucleotides requires 6- 8 AAs) the degeneracy of these sequences must be determined. This can be done by taking the product of the degeneracy of each AA in the sequence. For example, Valine has four codons (GTT GTC GTA GTG) and thus has a degeneracy of 4 while Tryptophan has only one codon (TGG) and thus has a degeneracy of 1. The degeneracy of each AA, along with its codons, is included in the reference table I have linked at the end of this post.
When you find a site with low degeneracy, write out all of the possible sequences using the Degeneracy code found in the reference table and order your primers. Then you can try the PCRs and hope for the best.
Tips and Tricks that will give you the best chances of successful degenerate PCR
- Keep the degeneracy of each primer low. Under 400 is great – under 1000 is ok but not good, and over 1000 isn’t worth your time.
- In general, larger PCR reactions work better – I tend to use 50uL reactions for degenerate PCRs
- Use 3-5 times the amount of primer you would normally use to increase the chances of the appropriate primer being in the reaction at any decent concentration. I tend to use 3 uL of each primer (at 10mM) for each 50 uL reaction.
- I have had the best success with nested degenerate PCR if possible. In this you have a minimum of 3, but best is at least 4 primers within the sequence. In the case of four, you will have two forward and two reverse primers. For the first PCR reaction you use the two “outer” forward and reverse primers. Then you take a portion of this first PCR and use it as template for the second reaction (I usually use 5uL of the first 50 uL reaction as template for the second reaction). This helps to reduce the number of amplicons and makes the reactions more specific to the gene you are looking for.
- The more primers you can design for a given gene, the better the chances that one of the primer sets will work.
- Methionine (M) and Tryptophan are the only amino acids that are coded for by a unique codon. Having these in your primer sequences is great!
- Try to stay away from Serine (S) Arginine (R) and Leucine (L) as they each are coded for by six codons. This said, don’t let the presence of some of thes AAs keep you from using that region. But realize that a sequence of SSRLSR is not going to make a good degenerate primer.
- Amplifying a 200 – 600 bp region seems to be optimal but I have done as few as 80 bp and as much as 1200 bp.
I have created a reference table that will come in very handy for any attempt to design degenerate primers. The table includes the codon list for all amino acids along with the degenerate code for the colleciton of nucleotides in both forward and reverse compliments. The degeneracy of each amino acid is also listed.
As an example, this morning, I worked up some primers for Juvenile Hormone Esterase for mosquitos. In the pdf linked below you can see the alignment file with the primer sequences highlighted along with the details of the associated primers.