This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Proper Execution of Codon Usage Bias

I want to analyze the codon usage of each individual mitogenome in MEGA and/or DNAsp should I

  1. Not concatenate the CDS genes e.g. in one file

>CDS1

>CDS2

>CDS3

And analyze the file on MEGA/DNAsp that averages over all sequences or

  2. Concatenate all CDS gene so it only produces a long single sequence
dnasp mega codon usage

1 answer

It depends on the level you want, but for a per-genome codon usage profile (one RSCU/ENC/CAI value per mitogenome), option 2 -- concatenate all CDS of that genome into a single sequence -- is the standard approach. Codon usage metrics are just tallies of codon counts, and counts are additive, so concatenating simply pools every codon in the genome into one profile. Feeding a multi-FASTA of separate CDS and letting the tool average is not the same thing: per-gene values then get averaged with equal weight regardless of gene length, which over-weights short genes.

Two things you must get right when concatenating:

  1. Keep every CDS in frame. Each CDS must start at its first codon position and be a whole number of codons (length divisible by 3) before you join them. If one CDS is out of frame at a junction, every codon after it is miscounted. Mitogenome CDS often have incomplete stop codons (a bare T or TA completed by polyadenylation) -- trim or complete those so the reading frame stays intact across the join.

  2. Handle start/stop codons consistently. Most codon-usage tools ignore stop codons; apply the same rule to every genome so cross-genome comparisons stay fair.

Keep the CDS separate only if your actual question is per-gene codon usage (e.g. comparing ND1 vs COI within one genome). For "the codon usage of each mitogenome", concatenate per genome -- one concatenated sequence per mitogenome.

One thing I should have added: before you trust any of the numbers, translate each concatenated sequence and look for internal stops. A frame error at a single junction shows up immediately as stops appearing partway through, which is far easier to spot than a subtly wrong RSCU table at the other end. Just be sure you translate with the mitochondrial code for your taxon (table 2 for vertebrates, table 5 for most invertebrates) rather than the standard one -- under the standard table every TGA reads as a stop and you will spend an afternoon chasing frame errors that were never there.

Log in to answer this question.