def network(thresholds, fastas, algorithm = '<STR_LIT>'):
id2desc = get_descriptions(fastas)<EOL>id2desc = self_compare(fastas, id2desc, algorithm)<EOL>hits = compare_genomes(fastas, id2desc, algorithm)<EOL>calc_thresholds(hits, file_name = '<STR_LIT>')<EOL>rbh_network(id2desc, hits, file_name = '<STR_LIT>')<EOL>hits, rbh = find_rbh(hits, id2desc)<EOL>thresholds = calc_thresholds(rbh, '<STR_LIT>', thresholds)<EOL>g = rbh_network(id2desc, rbh, file_name = '<STR_LIT>')<EOL>filtered_g, filtered_rbh = rbh_network(id2desc, rbh, '<STR_LIT>', thresholds)<EOL>calc_thresholds(filtered_rbh, file_name = '<STR_LIT>')<EOL>print_summary(filtered_g, fastas, id2desc, file_name = '<STR_LIT>')<EOL>print_network_matrix(filtered_g, fastas, id2desc, file_name = '<STR_LIT>')<EOL>print_genome_matrix(filtered_rbh, fastas, id2desc, file_name = '<STR_LIT>')<EOL>split_g = split_network(filtered_g, id2desc, file_name = '<STR_LIT>')<EOL>print_summary(split_g, fastas, id2desc, file_name = '<STR_LIT>')<EOL>print_network_matrix(split_g, fastas, id2desc, file_name = '<STR_LIT>')<EOL>return split_g<EOL>
make a rbh network for all pair-wise genome comparisons
- filter network based on normalized bit score (default, automatic) or specified e-value / bit score
- evaluate the scores for each genome pair compared
- build second network that is filtered so that clusters have only one ORF per genome
- evaluate the scores in this network
    - consider including fbhs under threshold if they don't violate cluster
- compare 'connected-ness' for each genome