def update_loop_annotations(): """ Must follow loop clustering because it imports all-against-all search data. """ try: """import loop-level annotations""" LoopLoader = LoopSearchesLoader() LoopLoader.load_loop_positions() """import all-against-all search results from IL and HL clustering""" LoopLoader.load_loop_searches() except: logging.warning(traceback.format_exc(sys.exc_info())) logging.warning('Hairpin loop import failed')
def cluster_motifs(motif_type, nr_release_id=None): """ cluster motifs """ try: c = ClusterMotifs() c.set_loop_type(motif_type) if not c.is_four_weeks_since_last_update(): return c.make_release_directory() c.get_pdb_ids_for_clustering(nr_release_id) c.get_loops_for_clustering() c.make_input_file_for_matlab() c.parallel_exec_commands( c.prepare_aAa_commands() ) c.cluster_loops() l = LoopSearchesLoader() l.load_loop_search_qa_text_file(os.path.join(c.output_dir, 'MM_extraNTs.txt')) l.load_loop_search_qa_text_file(os.path.join(c.output_dir, 'MM_symmetrize.txt')) logging.info('%s loops successfully clustered' % motif_type) except: logging.warning(traceback.format_exc(sys.exc_info())) logging.warning('%s clustering failed' % motif_type)