コード例 #1
0
    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)
コード例 #2
0
ファイル: sdf_viewer.py プロジェクト: mnowotka/sdf_viewer
    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()
コード例 #3
0
    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()
コード例 #4
0
ファイル: sdf_viewer.py プロジェクト: mnowotka/sdf_viewer
    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)