Prevent an `IndexError` in `bin/sam-reference-read-counts.py` when there are no matching reads.
4.0.76
Fixed (hopefully!) a bug in `bin/fasta-identity-table.py` that could cause a `KeyError` when producing a non-square table, [as described here](https://github.com/acorg/dark-matter/issues/780).
4.0.75
Moved `getNoCoverageCounts` from `bin/fasta-identity-table.py` into `dark/reads.py`. Made it handle an empty set of no-coverage chars. Added tests.
4.0.74
Added `allowedTaxonomicRanks` argument to the `SqliteIndexWriter` class for building a protein database, and corresponding command line argument to `bin/make-protein-database.py`.
4.0.73
Wrap the `savefig` call to make the pathogens panel (in `dark/civ/proteins.py`) in a `try/except` to catch the `ValueError` that results if the image has a dimension exceeding 2^16.
4.0.72
Made `aa-info.py` slightly more useful by identifying stop codons. Added `--details` option to request printing of amino acid property numeric details.