Fixed bug in TaxAwareLevelAnalysis.analyzeGeneFam
Fixed bug in TaxAwareLevelAnalysis.analyzeGeneFam

DESCRIPTION OF BUG:
speciesCoveredByLevel set object contains xml leaf node objects,
but should contain leaf node labels.

The analyzeGeneFam method augments the summary produced by
BasicLevelAnalysis.analyzeGeneFam with losses ("ANCIENT_BUT_LOST").
To do this it gets the set of species expected below the
level being analysed (speciesCoveredByLevel variable), and cancels
each one that was found in the summary (summary.keys()). Any remaining
species in speciesCoveredByLevel are marked as losses.

The problem is in the cancelling - speciesCoveredByLevel contains
xml leaf node objects, summary.keys() contains the labels (strings),
so they never cancel.

CHANGELOG:

line 622:
+ speciesCoveredByLevel = {l.name for l in self.tax.hierarchy[mostGeneralLevel].iterLeaves()}
- speciesCoveredByLevel = {l for l in self.tax.hierarchy[mostGeneralLevel].iterLeaves()}

DessimozLab/familyanalyzer