code: def create_biom_table(sample_counts, taxa):
      
      data = [[0 if taxid not in sample_counts[sid] else sample_counts[sid][taxid] 
                for sid in sample_counts] 
                  for taxid in taxa]
      data = np.array(data, dtype=int)
      tax_meta = [{'taxonomy': taxa[taxid]} for taxid in taxa]
      
      gen_str = "kraken-biom v{} ({})".format(__version__, __url__)
  
      return Table(data, list(taxa), list(sample_counts), tax_meta, 
                   type="OTU table", create_date=str(dt.now().isoformat()),
                   generated_by=gen_str, input_is_dense=True)
docs: Create a BIOM table from sample counts and taxonomy metadata.
  
      :type sample_counts: dict
      :param sample_counts: A dictionary of dictionaries with the first level
                            keyed on sample ID, and the second level keyed on
                            taxon ID with counts as values.
      :type taxa: dict
      :param taxa: A mapping between the taxon IDs from sample_counts to the
                   full representation of the taxonomy string. The values in
                   this dict will be used as metadata in the BIOM table.
      :rtype: biom.Table
      :return: A BIOM table containing the per-sample taxon counts and full
               taxonomy identifiers as metadata for each taxon.