Example #1
0
    biom = Biom( generated_by="grinder", matrix_type="sparse" )

    # Set observations count
    for sample_name in args.samples:
        biom.add_sample( sample_name )
        fh_abund = open( args.samples[sample_name] )
        for line in fh_abund: # Content format: "# rank<TAB>seq_id<TAB>rel_abund_perc"
            if not line.startswith('#'):
                fields = line.strip().split()
                try:
                    biom.add_observation( fields[1] )
                except: # already exist
                    pass
                biom.change_count( fields[1], sample_name, int(float(fields[2])*100000000000000) )################## depend de la precision grinder
        fh_abund.close()

    # Set taxonomy metadata
    fh_classif = FastaIO( args.affiliation )
    for record in fh_classif:
        try:
            metadata = biom.get_observation_metadata( record.id )
            if metadata is None or not metadata.has_key( taxonomy_key ):
                taxonomy = getCleanedTaxonomy(record.description)
                biom.add_metadata( record.id, taxonomy_key, taxonomy, "observation" )
        except ValueError: # is not in BIOM
            pass
    fh_classif.close()

    # Write BIOM
    BiomIO.write( args.output, biom )
Example #2
0
        biom.add_sample(sample_name)
        fh_abund = open(args.samples[sample_name])
        for line in fh_abund:  # Content format: "# rank<TAB>seq_id<TAB>rel_abund_perc"
            if not line.startswith('#'):
                fields = line.strip().split()
                try:
                    biom.add_observation(fields[1])
                except:  # already exist
                    pass
                biom.change_count(
                    fields[1], sample_name,
                    int(float(fields[2]) * 100000000000000
                        ))  ################## depend de la precision grinder
        fh_abund.close()

    # Set taxonomy metadata
    fh_classif = FastaIO(args.affiliation)
    for record in fh_classif:
        try:
            metadata = biom.get_observation_metadata(record.id)
            if metadata is None or not metadata.has_key(taxonomy_key):
                taxonomy = getCleanedTaxonomy(record.description)
                biom.add_metadata(record.id, taxonomy_key, taxonomy,
                                  "observation")
        except ValueError:  # is not in BIOM
            pass
    fh_classif.close()

    # Write BIOM
    BiomIO.write(args.output, biom)