Beispiel #1
0
 def create_results_tab(self, ample_dict):
     if self.ccp4i2 or not self.summary_tab_id or not self._got_mrbump_results(
             ample_dict):
         return
     mrb_results = ample_dict.get('mrbump_results')
     if mrb_results == self.old_mrbump_results:
         return
     self.old_mrbump_results = mrb_results
     if not self.results_tab_id:
         self.results_tab_id = "results_tab"
         pyrvapi.rvapi_insert_tab(self.results_tab_id, "Results",
                                  self.summary_tab_id, False)
     # Delete old sections:
     pyrvapi.rvapi_flush()
     for section_id in self.results_tab_sections:
         pyrvapi.rvapi_remove_widget(section_id)
     pyrvapi.rvapi_flush()
     self.results_tab_sections = []
     ensemble_results = ample_dict[
         'ensembles_data'] if 'ensembles_data' in ample_dict[
             'ensembles_data'] else None
     mrbsum = mrbump_util.ResultsSummary(
         results=mrb_results[0:min(len(mrb_results), mrbump_util.TOP_KEEP)])
     mrbsum.sortResults(prioritise="SHELXE_CC")
     self.results_section(
         self.results_tab_id, mrbsum.results, ensemble_results,
         "Top {0} SHELXE Results".format(mrbump_util.TOP_KEEP))
     mrbsum.sortResults(prioritise="PHASER_TFZ")
     # Add seperator between results - doesn't work as not deleted on refresh
     # pyrvapi.rvapi_add_text("<br/><hr/><br/>", self.results_tab_id, 0, 0, 1, 1)
     self.results_section(
         self.results_tab_id, mrbsum.results, ensemble_results,
         "Top {0} PHASER Results".format(mrbump_util.TOP_KEEP))
     return self.results_tab_id
Beispiel #2
0
 def create_results_tab(self, ample_dict):
     if self.ccp4i2 or not self.summary_tab_id or not self._got_mrbump_results(ample_dict):
         return
     mrb_results = ample_dict.get('mrbump_results')
     if mrb_results == self.old_mrbump_results:
         return
     self.old_mrbump_results = mrb_results
     if not self.results_tab_id:
         self.results_tab_id = "results_tab"
         pyrvapi.rvapi_insert_tab(self.results_tab_id,
                                  "Results", self.summary_tab_id, False)
     # Delete old sections:
     pyrvapi.rvapi_flush()
     for section_id in self.results_tab_sections:
         pyrvapi.rvapi_remove_widget(section_id)
     pyrvapi.rvapi_flush()
     self.results_tab_sections = []
     ensemble_results = ample_dict['ensembles_data'] if 'ensembles_data' in ample_dict['ensembles_data'] else None
     mrbsum = mrbump_util.ResultsSummary(results=mrb_results[0:min(len(mrb_results),mrbump_util.TOP_KEEP)])
     mrbsum.sortResults(prioritise="SHELXE_CC")
     self.results_section(self.results_tab_id,
                          mrbsum.results,
                          ensemble_results,
                          "Top {0} SHELXE Results".format(mrbump_util.TOP_KEEP))
     mrbsum.sortResults(prioritise="PHASER_TFZ")
     self.results_section(self.results_tab_id,
                          mrbsum.results,
                          ensemble_results,
                          "Top {0} PHASER Results".format(mrbump_util.TOP_KEEP))
     return self.results_tab_id
Beispiel #3
0
 def create_citation_tab(self, ample_dict):
     if self.citation_tab_id:
         return
     self.citation_tab_id = "citation_tab"
     pyrvapi.rvapi_insert_tab(self.citation_tab_id, "Citation",
                              self.log_tab_id, False)
     refMgr = reference_manager.ReferenceManager(ample_dict)
     bibtex_file = refMgr.save_citations_to_file(ample_dict)
     if self.ccp4i2:
         # The horror of ccp4i2 means that this all gets dumped into xml so we can't use any markup tags
         tdata = refMgr.citations_as_text
     else:
         tdata = refMgr.methods_as_html
         tdata += refMgr.citations_as_html
         tdata += '<hr><p>A bibtex file with the relevant citations has been saved to: {}</p>'.format(
             bibtex_file)
     pyrvapi.rvapi_add_text(tdata, self.citation_tab_id, 0, 0, 1, 1)
     if not self.ccp4i2:
         pyrvapi.rvapi_add_data(
             "bibtex_file",
             "Citations as BIBTEX",
             self.fix_path(bibtex_file),
             "text",
             self.citation_tab_id,
             2,
             0,
             1,
             1,
             True,
         )
     return self.citation_tab_id
Beispiel #4
0
 def _create_summary_tab(self):
     if not self.summary_tab_id:
         self.summary_tab_id = "summary_tab"
         title = "Summary"
         pyrvapi.rvapi_insert_tab(self.summary_tab_id, title, self.citation_tab_id, False)
         # Create pending section until we have data to show
         self.summary_tab_pending_sec_id = 'summary_tab_pending'
         pyrvapi.rvapi_add_section(self.summary_tab_pending_sec_id, "Processing...",
                                   self.summary_tab_id, 0, 0, 1, 1, True)
         rstr = "<p>No results are currently available. Please check back later.</p>"
         pyrvapi.rvapi_add_text(rstr, self.summary_tab_pending_sec_id, 0, 0, 1, 1)
     return
Beispiel #5
0
 def create_citation_tab(self, ample_dict):
     if self.citation_tab_id:
         return
     self.citation_tab_id = "citation_tab"
     pyrvapi.rvapi_insert_tab(self.citation_tab_id, "Citation", self.log_tab_id, False)
     refMgr = reference_manager.ReferenceManager(ample_dict)
     bibtex_file = refMgr.save_citations_to_file(ample_dict)
     if self.ccp4i2:
         # The horror of ccp4i2 means that this all gets dumped into xml so we can't use any markup tags
         tdata = refMgr.citations_as_text
     else:
         tdata = refMgr.methods_as_html
         tdata += refMgr.citations_as_html
         tdata += '<hr><p>A bibtex file with the relevant citations has been saved to: {}</p>'.format(bibtex_file)
     pyrvapi.rvapi_add_text(tdata, self.citation_tab_id, 0, 0, 1, 1)
     if not self.ccp4i2:
         pyrvapi.rvapi_add_data("bibtex_file",
                                "Citations as BIBTEX",
                                self.fix_path(bibtex_file),
                                "text",
                                self.citation_tab_id,
                                2, 0, 1, 1, True)
     return self.citation_tab_id
Beispiel #6
0
    def create_results_tab(self, ample_dict):
        if self.ccp4i2 or not self.summary_tab_id: return
        if not self._got_mrbump_results(ample_dict): return

        mrb_results = ample_dict['mrbump_results']
        if mrb_results == self.old_mrbump_results: return
        self.old_mrbump_results = mrb_results

        if not self.results_tab_id:
            self.results_tab_id = "results_tab"
            # Insert results tab before summary tab
            pyrvapi.rvapi_insert_tab(
                self.results_tab_id, "Results", self.summary_tab_id,
                False)  # Last arg is "open" - i.e. show or hide

        # Delete old sections:
        pyrvapi.rvapi_flush()
        for section_id in self.results_tab_sections:
            pyrvapi.rvapi_remove_widget(section_id)
        pyrvapi.rvapi_flush()
        self.results_tab_sections = []

        ensemble_results = ample_dict[
            'ensembles_data'] if 'ensembles_data' in ample_dict[
                'ensembles_data'] else None
        mrbsum = mrbump_util.ResultsSummary(
            results=mrb_results[0:min(len(mrb_results), mrbump_util.TOP_KEEP)])
        mrbsum.sortResults(prioritise="SHELXE_CC")
        self.results_section(
            self.results_tab_id, mrbsum.results, ensemble_results,
            "Top {0} SHELXE Results".format(mrbump_util.TOP_KEEP))
        mrbsum.sortResults(prioritise="PHASER_TFZ")
        self.results_section(
            self.results_tab_id, mrbsum.results, ensemble_results,
            "Top {0} PHASER Results".format(mrbump_util.TOP_KEEP))

        return self.results_tab_id
Beispiel #7
0
    def _create_summary_tab(self):
        if not self.summary_tab_id:
            self.summary_tab_id = "summary_tab"
            title = "Summary"
            if self.ccp4i2:
                # Create summary tab
                pyrvapi.rvapi_add_tab(
                    self.summary_tab_id, title,
                    True)  # Last arg is "open" - i.e. show or hide
            else:
                # Insert summary tab before log tab
                pyrvapi.rvapi_insert_tab(
                    self.summary_tab_id, title, self.log_tab_id,
                    False)  # Last arg is "open" - i.e. show or hide

            # Create pending section until we have data to show
            self.summary_tab_pending_sec_id = 'summary_tab_pending'
            pyrvapi.rvapi_add_section(self.summary_tab_pending_sec_id,
                                      "Processing...", self.summary_tab_id, 0,
                                      0, 1, 1, True)
            rstr = "<p>No results are currently available. Please check back later. when your structure will have been solved. Honest.</p>"
            pyrvapi.rvapi_add_text(rstr, self.summary_tab_pending_sec_id, 0, 0,
                                   1, 1)
        return
Beispiel #8
0
 def insertTab(self, tabId, tabName, beforeTabId, opened):
     pyrvapi.rvapi_insert_tab(tabId, tabName, beforeTabId, opened)
     return self.setOutputPage([tabId, 0])
Beispiel #9
0
 def _insert_tab_to_pyrvapi(self, id, title, other_tab_id, opened):
     pyrvapi.rvapi_insert_tab(id, title, other_tab_id, opened)
Beispiel #10
0
 def _insert_tab_to_pyrvapi(self, id, title, other_tab_id, opened):
     pyrvapi.rvapi_insert_tab(id, title, other_tab_id, opened)