diff --git a/modules/bindings/pymod/tmtools.py b/modules/bindings/pymod/tmtools.py index 95589719079af58d34d8dbd13a1086a35423232d..56fd10a8a1eb3839dc2f5f60a504f70c63e2b56a 100644 --- a/modules/bindings/pymod/tmtools.py +++ b/modules/bindings/pymod/tmtools.py @@ -28,7 +28,7 @@ tmalign: Y. Zhang and J. Skolnick, Nucl. Acids Res. 2005 33, 2302-9 Authors: Pascal Benkert, Marco Biasini """ -import subprocess, os, tempfile +import subprocess, os, tempfile, platform from ost import settings, io, geom, seq def _SetupFiles(models): @@ -66,9 +66,9 @@ def _ParseTmAlign(lines): seq1 = seq.CreateSequence("1",lines[20].strip()) seq2 = seq.CreateSequence("2",lines[22].strip()) alignment = seq.CreateAlignment() - alignment.AddSequence(seq1) alignment.AddSequence(seq2) - return TMAlignResult(rmsd, aln_length, tm_score, tf, seq1, alignment) + alignment.AddSequence(seq1) + return TMAlignResult(rmsd, aln_length, tm_score, tf, seq2, alignment) def _RunTmAlign(tmalign, tmp_dir): model1_filename=os.path.join(tmp_dir, 'model01.pdb') diff --git a/modules/gui/pymod/init_context_menu.py b/modules/gui/pymod/init_context_menu.py index 6bb6db8531a0bda9912721881346e9defa80b0fe..b66ab38b045de574c9bb5e27aefd88d8d2f5d1e9 100644 --- a/modules/gui/pymod/init_context_menu.py +++ b/modules/gui/pymod/init_context_menu.py @@ -122,6 +122,7 @@ class ShowResultDialog(QtGui.QDialog): self.list.resizeColumnsToContents() class AlignmentContextMenu(QtCore.QObject): + def __init__(self, context_menu): try: if platform.system() == "Windows": @@ -133,6 +134,7 @@ class AlignmentContextMenu(QtCore.QObject): self.action = QtGui.QAction("Align", self) QtCore.QObject.connect(self.action,QtCore.SIGNAL("triggered()"), self.Align) context_menu.AddAction(self.action, gui.ContextActionType.ENTITY | gui.ContextActionType.MULTI) + self.seq_viewer = None except settings.FileNotFound: return @@ -170,19 +172,25 @@ class AlignmentContextMenu(QtCore.QObject): def __DisplayAlignment(self, res_list): if(len(res_list)>0): - ref_seq = res_list[0].ref_sequence + ref_seq = seq.CreateSequence("REF",res_list[0].ref_sequence.GetGaplessString()) aln_list = seq.AlignmentList() if(ref_seq.IsValid()): for res in res_list: + print res.alignment.GetSequence(0) + print res.alignment.GetSequence(1) + print "----------------" aln_list.append(res.alignment) alignment = alg.MergePairwiseAlignments(aln_list, ref_seq) gosty = gui.GostyApp.Instance() main_area = gosty.perspective.GetMainArea() - seq_viewer = gui.SequenceViewerV2(True) - gosty.AddWidgetToApp(str(ref_seq),seq_viewer) - seq_viewer.AddAlignment(alignment) - main_area.ShowSubWindow(seq_viewer) - + if self.seq_viewer: + main_area.RemoveWidget(self.seq_viewer) + self.seq_viewer.qobject.close() + self.seq_viewer = gui.SequenceViewer(True) + self.seq_viewer.AddAlignment(alignment) + self.seq_viewer.ChangeDisplayMode("Highlight conservation 1") + self.seq_viewer.Show() + def _InitContextMenu(app): cm=app.scene_win.GetContextMenu() AlignmentContextMenu(cm) \ No newline at end of file