def codon_usage(self, options): """Codon usage command""" self.logger.info('') self.logger.info('*******************************************************************************') self.logger.info(' [CompareM - codon_usage] Calculating codon usage within each genome.') self.logger.info('*******************************************************************************') self.logger.info('') check_dir_exists(options.gene_dir) # get list of files with called genes gene_files = [] files = os.listdir(options.gene_dir) for f in files: if f.endswith(options.gene_ext): gene_files.append(os.path.join(options.gene_dir, f)) # warn use if no files were found if len(gene_files) == 0: self.logger.warning(' [Warning] No gene files found. Check the --gene_ext flag used to identify gene files.') return # calculate amino acid usage codon_usage = CodonUsage(options.cpus, options.keep_ambiguous) genome_codon_usage, codon_set, _mean_length = codon_usage.run(gene_files) # write out results self._write_usage_profile(genome_codon_usage, codon_set, options.output_file) self.logger.info('') self.logger.info(' Codon usage written to: %s' % options.output_file) self.time_keeper.print_time_stamp()
def stop_usage(self, options): """Stop codon usage command""" gene_files = self._input_files(options.nucleotide_gene_files, options.file_ext) # calculate amino acid usage codon_usage = CodonUsage(options.cpus, keep_ambiguous=False, stop_codon_only=True) genome_codon_usage, codon_set, mean_gene_length = codon_usage.run(gene_files) # write out results if not options.mean_gene_length: self._write_usage_profile(genome_codon_usage, codon_set, options.counts, options.output_file) else: fout = open(options.output_file, 'w') for codon in codon_set: fout.write('\t' + codon) if mean_gene_length: fout.write('\t' + codon + ': avg. seq. length') fout.write('\n') for genome_id, codons in genome_codon_usage.items(): fout.write(genome_id) for codon in codon_set: fout.write('\t%d' % codons.get(codon, 0)) if mean_gene_length: mean_len = mean_gene_length[genome_id].get(codon, None) if mean_len: fout.write('\t%.1f' % mean_len) else: fout.write('\tna') fout.write('\n') self.logger.info('Stop codon usage written to: %s' % options.output_file)
def stop_usage(self, options): """Stop codon usage command""" self.logger.info('') self.logger.info('*******************************************************************************') self.logger.info(' [CompareM - stop_usage] Calculating stop codon usage within each genome.') self.logger.info('*******************************************************************************') self.logger.info('') check_dir_exists(options.gene_dir) # get list of files with called genes gene_files = [] files = os.listdir(options.gene_dir) for f in files: if f.endswith(options.gene_ext): gene_files.append(os.path.join(options.gene_dir, f)) # warn use if no files were found if len(gene_files) == 0: self.logger.warning(' [Warning] No gene files found. Check the --gene_ext flag used to identify gene files.') return # calculate amino acid usage codon_usage = CodonUsage(options.cpus, keep_ambiguous=False, stop_codon_only=True) genome_codon_usage, codon_set, mean_gene_length = codon_usage.run(gene_files) # write out results fout = open(options.output_file, 'w') for codon in codon_set: fout.write('\t' + codon) if mean_gene_length: fout.write('\t' + codon + ': avg. seq. length') fout.write('\n') for genome_id, codons in genome_codon_usage.iteritems(): fout.write(genome_id) for codon in codon_set: fout.write('\t%d' % codons.get(codon, 0)) if mean_gene_length: mean_len = mean_gene_length[genome_id].get(codon, None) if mean_len: fout.write('\t%.1f' % mean_len) else: fout.write('\tna') fout.write('\n') self.logger.info('') self.logger.info(' Stop codon usage written to: %s' % options.output_file) self.time_keeper.print_time_stamp()
def codon_usage(self, options): """Codon usage command""" gene_files = self._input_files(options.nucleotide_gene_files, options.file_ext) # calculate amino acid usage codon_usage = CodonUsage(options.cpus, options.keep_ambiguous) genome_codon_usage, codon_set, _mean_length = codon_usage.run(gene_files) # write out results self._write_usage_profile(genome_codon_usage, codon_set, options.counts, options.output_file) self.logger.info('Codon usage written to: %s' % options.output_file)
def codon_usage(self, options): """Codon usage command""" gene_files = self._input_files(options.nucleotide_gene_files, options.file_ext) # calculate amino acid usage codon_usage = CodonUsage(options.cpus, options.keep_ambiguous) genome_codon_usage, codon_set, _mean_length = codon_usage.run( gene_files) # write out results self._write_usage_profile(genome_codon_usage, codon_set, options.counts, options.output_file) self.logger.info('Codon usage written to: %s' % options.output_file)
def stop_usage(self, options): """Stop codon usage command""" gene_files = self._input_files(options.nucleotide_gene_files, options.file_ext) # calculate amino acid usage codon_usage = CodonUsage(options.cpus, keep_ambiguous=False, stop_codon_only=True) genome_codon_usage, codon_set, mean_gene_length = codon_usage.run( gene_files) # write out results if not options.mean_gene_length: self._write_usage_profile(genome_codon_usage, codon_set, options.counts, options.output_file) else: fout = open(options.output_file, 'w') for codon in codon_set: fout.write('\t' + codon) if mean_gene_length: fout.write('\t' + codon + ': avg. seq. length') fout.write('\n') for genome_id, codons in genome_codon_usage.items(): fout.write(genome_id) for codon in codon_set: fout.write('\t%d' % codons.get(codon, 0)) if mean_gene_length: mean_len = mean_gene_length[genome_id].get(codon, None) if mean_len: fout.write('\t%.1f' % mean_len) else: fout.write('\tna') fout.write('\n') self.logger.info('Stop codon usage written to: %s' % options.output_file)