def init_curr_sdf(self, sdf_name): self.SDF_CHANGED = True self.selected_recs = [] self.btn_sdf_from_selection.setEnabled(False) self.btn_copy_molids.setEnabled(False) self.selected_fields = self.get_selected_fields() self.curr_sdf = self.sdf_dict[sdf_name][:] # make a copy self.curr_sdf_name = sdf_name self.curr_sdf_index = self.sdf_name_order.index(sdf_name) self.curr_sdf_num_of_mols = int(self.sdf_info_dict[sdf_name][3]) self.curr_sdf_fields = sdft.list_fields(self.curr_sdf) self.curr_sdf_num_of_fields = len(self.curr_sdf_fields) self.le_curr_sdf.setText(sdf_name) self.table_props.setRowCount(self.curr_sdf_num_of_fields) self.curr_sdf_mol_index = 0 self.display_mol() self.fill_query_table() self.btn_sdf_save.setEnabled(True) self.btn_select_all.setEnabled(True) self.btn_select_none.setEnabled(True) if len(self.sdf_dict) > 0: self.btn_session_save.setEnabled(True) self.btn_hist.setEnabled(True) self.btn_scatter.setEnabled(True) self.check_lipinski.setEnabled(True) self.check_rec_selected.setEnabled(True) if len(self.sdf_dict) > 1: # scatter2 can only be activated when two sdfs are avail. (after the 1. query) self.btn_scatter2.setEnabled(True) if self.curr_sdf_index == 0: self.btn_del_sdf.setEnabled( False) # the original sdf can not be deleted else: self.btn_del_sdf.setEnabled(True) self.combo_colorby.clear() text_fields = ["<none>"] text_fields.extend( [item for item in self.curr_sdf_fields if item[:2] == "s_"]) self.combo_colorby.addItems(text_fields) self.combo_compareto.clear() compare_sdfs = [ sdf_entry for sdf_entry in self.sdf_dict if sdf_entry != self.curr_sdf_name ] self.combo_compareto.addItems(compare_sdfs)
def create_index(self): self.sdf_mol_index = {} sdf = self.sdf_dict[self.sdf_name_order[0]] fields = sdft.list_fields(sdf) prep_needed = False for field in fields: if field[:2] not in ["n_", "s_", "k_"]: prep_needed = True break if prep_needed: print(" > renaming existing fields for viewer:") sdft.prepare_for_viewer(sdf) if not "k_molid" in fields: print(" * no molid field found!") print(" calculating fields...",) sdft.calc_props(sdf, force2d=prep_needed) print("done.") for index, mol in enumerate(sdf): self.sdf_mol_index[int(mol.GetProp("k_molid"))] = index print(" > index created.") # show final list of available fields: fields = sdft.list_fields(sdf) print(" > available fields:", end="") for idx, field in enumerate(fields): if idx % 4 == 0: # new line print() print(" ", end="") print("{} ".format(field), end="") print()
def create_index(self): self.sdf_mol_index = {} sdf = self.sdf_dict[self.sdf_name_order[0]] fields = sdft.list_fields(sdf) prep_needed = False for field in fields: if field[:2] not in ["n_", "s_", "k_"]: prep_needed = True break if prep_needed: print(" > renaming existing fields for viewer:") sdft.prepare_for_viewer(sdf) if not "k_molid" in fields: print(" * no molid field found!") print(" calculating fields...", ) sdft.calc_props(sdf, force2d=prep_needed) print("done.") for index, mol in enumerate(sdf): self.sdf_mol_index[int(mol.GetProp("k_molid"))] = index print(" > index created.") # show final list of available fields: fields = sdft.list_fields(sdf) print(" > available fields:", end="") for idx, field in enumerate(fields): if idx % 5 == 0: # new line print() print(" ", end="") print("{} ".format(field), end="") print()
def init_curr_sdf(self, sdf_name): self.SDF_CHANGED = True self.selected_recs = [] self.btn_sdf_from_selection.setEnabled(False) self.btn_copy_molids.setEnabled(False) self.selected_fields = self.get_selected_fields() self.curr_sdf = self.sdf_dict[sdf_name][:] # make a copy self.curr_sdf_name = sdf_name self.curr_sdf_index = self.sdf_name_order.index(sdf_name) self.curr_sdf_num_of_mols = int(self.sdf_info_dict[sdf_name][3]) self.curr_sdf_fields = sdft.list_fields(self.curr_sdf) self.curr_sdf_num_of_fields = len(self.curr_sdf_fields) self.le_curr_sdf.setText(sdf_name) self.table_props.setRowCount(self.curr_sdf_num_of_fields) self.curr_sdf_mol_index = 0 self.display_mol() self.fill_query_table() self.btn_sdf_save.setEnabled(True) self.btn_select_all.setEnabled(True) self.btn_select_none.setEnabled(True) if len(self.sdf_dict) > 0: self.btn_session_save.setEnabled(True) self.btn_hist.setEnabled(True) self.btn_scatter.setEnabled(True) self.check_lipinski.setEnabled(True) self.check_rec_selected.setEnabled(True) if len(self.sdf_dict) > 1: # scatter2 can only be activated when two sdfs are avail. (after the 1. query) self.btn_scatter2.setEnabled(True) if self.curr_sdf_index == 0: self.btn_del_sdf.setEnabled(False) # the original sdf can not be deleted else: self.btn_del_sdf.setEnabled(True) self.combo_colorby.clear() text_fields = ["<none>"] text_fields.extend([item for item in self.curr_sdf_fields if item[:2] == "s_"]) self.combo_colorby.addItems(text_fields) self.combo_compareto.clear() compare_sdfs = [sdf_entry for sdf_entry in self.sdf_dict if sdf_entry != self.curr_sdf_name] self.combo_compareto.addItems(compare_sdfs)