try: sample_counts.append(sum(hashobject.read_counts(c+'.'+sample).values())) except: sample_counts.append(0) writer_main.writerow([c[:c.index('.cluster')],asbly.get('N50',0),asbly.get('largest contig',0),asbly.get('total bp',0),asbly.get('num scaffolds',0),BNames.get(algn[0][0],''),algn[0][1],VNames.get(algn_v[0][0],''),algn_v[0][1]]) brow = [c[:c.index('.cluster')]] for a in algn[:10]: brow += [BNames.get(a[0],''),a[1]] writer_bact.writerow(brow) vrow = [c[:c.index('.cluster')]] for a in algn_v[:10]: vrow += [VNames.get(a[0],''),a[1]] writer_vir.writerow(vrow) writer_counts.writerow([c[:c.index('.cluster')]] + sample_counts) try: A = hashobject.phyler_stats(c,level='genus') PGenus[c] = {} for a in A: Genus[a[0]] += a[2] PGenus[c][a[0]] = a[1] except: PGenus[c] = {} try: A = hashobject.phyler_stats(c,level='family') PFamily[c] = {} for a in A: Family[a[0]] += a[2] PFamily[c][a[0]] = a[1] except: PFamily[c] = {} Genus = sorted(Genus.items(),key=itemgetter(1),reverse=True)