Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
output_file : str
Output file.
"""
fout = open(output_file, 'w')
fout.write('Genome id\tLength (bp)\t# sequences')
for rank in self.rank_labels:
fout.write('\t' + rank + ': taxa')
fout.write('\t' + rank + ': percent of bps')
fout.write('\t' + rank + ': percent of sequences')
fout.write('\t' + rank + ': avg. evalue')
fout.write('\t' + rank + ': avg. perc identity')
fout.write('\t' + rank + ': avg. align length (AA)')
fout.write('\n')
sorted_genome_ids = alphanumeric_sort(self.profiles.keys())
for genome_id in sorted_genome_ids:
self.profiles[genome_id].write_genome_summary(fout)
fout.close()
Output file.
"""
fout = open(output_file, 'w')
fout.write('Genome id\t# scaffolds\t# genes\tCoding bases')
for rank in Taxonomy.rank_labels:
fout.write('\t' + rank + ': taxon')
fout.write('\t' + rank + ': % of scaffolds')
fout.write('\t' + rank + ': % of genes')
fout.write('\t' + rank + ': % of coding bases')
fout.write('\t' + rank + ': avg. e-value')
fout.write('\t' + rank + ': avg. % identity')
fout.write('\t' + rank + ': avg. align. length (aa)')
fout.write('\n')
sorted_genome_ids = alphanumeric_sort(self.profiles.keys())
for genome_id in sorted_genome_ids:
self.profiles[genome_id].write_genome_summary(fout)
fout.close()
def create_html_index(self, plot_dir, genome_plots):
"""Create HTML index for navigating outlier plots.
Parameters
----------
plot_dir : str
Directory containing plots.
genome_plots : d[genome_id] -> [(plot_type, plot_filename), ...]
Hash indicating the plot types and filenames for each genome of interest.
"""
sorted_genome_ids = alphanumeric_sort(genome_plots.keys())
starting_plot_filename = genome_plots[sorted_genome_ids[0]][0][1]
starting_plot_str = sorted_genome_ids[0] + '<br>' + genome_plots[sorted_genome_ids[0]][0][0]
fout = open(os.path.join(plot_dir, 'index.html'), 'w')
fout.write('\n')
fout.write('')
fout.write('<title>RefineM outlier plots</title>\n')
fout.write('\n')
fout.write('\n')
fout.write('\n')
fout.write('\n' % starting_plot_filename)
fout.write('\n')
fout.write('\n')
fout.close()
Parameters
----------
output_file : str
Name of output file.
"""
fout = open(output_file, 'w')
fout.write('Genome id\tGenome size (bp)')
fout.write('\tMean GC\tMedian GC')
fout.write('\tMean scaffold length (bp)\tMedian scaffold length (bp)')
fout.write('\tMean: ' + '\tMean: '.join(self.coverage_headers))
fout.write('\tMedian: ' + '\tMedian: '.join(self.coverage_headers))
fout.write('\t' + '\t'.join(self.signature_headers))
fout.write('\n')
for genome_id in alphanumeric_sort(self.genome_stats.keys()):
stats = self.genome_stats[genome_id]
fout.write(genome_id)
fout.write('\t%d' % stats.genome_size)
fout.write('\t%.2f' % stats.mean_gc)
fout.write('\t%.2f' % stats.median_gc)
fout.write('\t%.2f' % stats.mean_scaffold_length)
fout.write('\t%.2f' % stats.median_scaffold_length)
for cov in stats.mean_coverage:
fout.write('\t%.2f' % cov)
for cov in stats.median_coverage:
fout.write('\t%.2f' % cov)
for freq in stats.mean_signature:
genomes.add(fields[0])
genomes.add(fields[2])
try:
data[fields[0]][fields[2]] = [float(fields[5]), float(fields[7])]
except KeyError:
data[fields[0]] = {}
data[fields[0]][fields[2]] = [float(fields[5]), float(fields[7])]
except IndexError as e:
print(fields)
raise e
self.perc_ids = np_zeros([len(genomes), len(genomes)])
self.perc_aln = np_zeros([len(genomes), len(genomes)])
genome_to_index = {}
self.genomes = [None] * len(genomes)
for n, g in enumerate(alphanumeric_sort(genomes)):
genome_to_index[g] = n
self.genomes[n] = g
self.genomes = np_array(self.genomes)
for g1, g2 in permutations(genomes, 2):
try:
self.perc_ids[genome_to_index[g1]][genome_to_index[g2]] = 100.0 - data[g1][g2][0]
self.perc_aln[genome_to_index[g1], genome_to_index[g2]] = data[g1][g2][1]
except:
self.perc_ids[genome_to_index[g1]][genome_to_index[g2]] = 100.0 - data[g2][g1][0]
self.perc_aln[genome_to_index[g1], genome_to_index[g2]] = data[g2][g1][1]