From: b.stoever Date: Tue, 23 Jun 2015 15:58:31 +0000 (+0000) Subject: Some actions for adjusting pherogram displaying added. X-Git-Tag: 3.8.0^2~59^2~50 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/4851a3caf896310d66a234b4085fedcdddc94e4e Some actions for adjusting pherogram displaying added. --- diff --git a/.gitattributes b/.gitattributes index 07f5c4eb6..7c5bea04d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -420,12 +420,16 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handle eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SpecimenPropertyTester.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/TaxonParameterConverter.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/AbstractAlignmentEditorHandler.java -text svneol=unset#text/plain +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/AbstractPherogramComponentHandler.java -text svneol=unset#text/plain +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ChangePherogramQualityOutputType.java -text svneol=unset#text/plain eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/CreateConsensusSequenceHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/CutPherogramLeftHandler.java -text svneol=unset#text/plain eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/CutPherogramRightHandler.java -text svneol=unset#text/plain eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ReverseComplementHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleInsertOverwriteHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleLeftRightInsertionHandler.java -text +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramBaseCallLinesHandler.java -text svneol=unset#text/plain +eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramProbabilitiesHandler.java -text svneol=unset#text/plain eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/UpdateConsensusSequenceHandler.java -text eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/package-info.java -text svneol=unset#text/plain eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/create/NewNameHandler.java -text @@ -652,6 +656,7 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/v eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/validation/ValidatorMessageMarkerField.java -text eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1 -text eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1 -text +eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/Test_qualityScore.scf -text eu.etaxonomy.taxeditor.editor/src/main/resources/TaonDescriptionEditor.screen -text eu.etaxonomy.taxeditor.editor/src/main/resources/TestPherogram_qualityScore.scf -text eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml index 9b1edc9bb..d16220bdc 100644 --- a/eu.etaxonomy.taxeditor.editor/plugin.xml +++ b/eu.etaxonomy.taxeditor.editor/plugin.xml @@ -990,6 +990,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/AbstractPherogramComponentHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/AbstractPherogramComponentHandler.java new file mode 100644 index 000000000..e7b92d605 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/AbstractPherogramComponentHandler.java @@ -0,0 +1,60 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.handler.alignmenteditor; + + +import info.bioinfweb.libralign.alignmentarea.AlignmentArea; +import info.bioinfweb.libralign.dataarea.implementations.pherogram.PherogramArea; +import info.bioinfweb.libralign.pherogram.PherogramComponent; + +import java.util.Iterator; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.ui.IWorkbenchPart; + +import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor; +import eu.etaxonomy.taxeditor.editor.molecular.PherogramViewPart; +import eu.etaxonomy.taxeditor.model.AbstractUtility; + + + +/** + * Abstract handler implementation allows to performs the concrete operation either on an instance of + * {@link PherogramViewPart} or all {@link AlignmentArea}s inside an instance of {@link AlignmentEditor}. + * + * @author Ben Stöver + * @date 23.06.2015 + */ +public abstract class AbstractPherogramComponentHandler extends AbstractHandler { + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + IWorkbenchPart activePart = AbstractUtility.getActivePart(); + + if (activePart instanceof AlignmentEditor) { + AlignmentEditor editor = (AlignmentEditor)activePart; + Iterator idIterator = editor.getReadsArea().getAlignmentModel().sequenceIDIterator(); + while (idIterator.hasNext()) { + PherogramArea area = editor.getPherogramArea(idIterator.next()); + if (area != null) { + doExecute(event, area); + } + } + } + else if (activePart instanceof PherogramViewPart) { + doExecute(event, ((PherogramViewPart)activePart).getPherogramView().getTraceCurveView()); + } + return null; + } + + + public abstract void doExecute(ExecutionEvent event, PherogramComponent component) throws ExecutionException; +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ChangePherogramQualityOutputType.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ChangePherogramQualityOutputType.java new file mode 100644 index 000000000..18fc06f69 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ChangePherogramQualityOutputType.java @@ -0,0 +1,31 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.handler.alignmenteditor; + + +import info.bioinfweb.libralign.pherogram.PherogramComponent; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + + + +/** + * Switches between the quality output types available for components displaying pherograms. + * + * @author Ben Stöver + * @date 19.06.2015 + */ +public class ChangePherogramQualityOutputType extends AbstractPherogramComponentHandler { + @Override + public void doExecute(ExecutionEvent event, PherogramComponent component) throws ExecutionException { + component.getFormats().changeQualityOutputType(); + } +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramBaseCallLinesHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramBaseCallLinesHandler.java new file mode 100644 index 000000000..43ceb3115 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramBaseCallLinesHandler.java @@ -0,0 +1,30 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.handler.alignmenteditor; + + +import info.bioinfweb.libralign.pherogram.PherogramComponent; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + + + +/** + * @author BenStoever + * @date 23.06.2015 + * + */ +public class ToggleShowPherogramBaseCallLinesHandler extends AbstractPherogramComponentHandler { + @Override + public void doExecute(ExecutionEvent event, PherogramComponent component) throws ExecutionException { + component.getFormats().toggleShowBaseCallLines(); + } +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramProbabilitiesHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramProbabilitiesHandler.java new file mode 100644 index 000000000..41b03a010 --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/alignmenteditor/ToggleShowPherogramProbabilitiesHandler.java @@ -0,0 +1,35 @@ +// $Id$ +/** +* Copyright (C) 2015 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.taxeditor.editor.handler.alignmenteditor; + + +import info.bioinfweb.libralign.pherogram.PherogramComponent; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor; +import eu.etaxonomy.taxeditor.editor.molecular.PherogramViewPart; + + + +/** + * Toggles whether probability values (substitution, overcall and undercall) should be displayed + * in pherogram areas of {@link AlignmentEditor} or {@link PherogramViewPart}. + * + * @author Ben Stöver + * @date 23.06.2015 + */ +public class ToggleShowPherogramProbabilitiesHandler extends AbstractPherogramComponentHandler { + @Override + public void doExecute(ExecutionEvent event, PherogramComponent component) throws ExecutionException { + component.getFormats().toggleShowProbabilityValues(); + } +} diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java index 48b7c7f8d..c17ffa41e 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java @@ -217,7 +217,7 @@ public class AlignmentEditor extends EditorPart { } - private AlignmentArea getReadsArea() { + public AlignmentArea getReadsArea() { return getAlignmentsContainer().getAlignmentAreas().get(READS_AREA_INDEX); } @@ -227,7 +227,7 @@ public class AlignmentEditor extends EditorPart { } - private PherogramArea getPherogramArea(int sequenceID) { + public PherogramArea getPherogramArea(int sequenceID) { return (PherogramArea)getReadsArea().getDataAreas().getSequenceAreas(sequenceID).get( PHEROGRAM_AREA_INDEX); } @@ -244,7 +244,8 @@ public class AlignmentEditor extends EditorPart { // Just for testing: try { addRead(new File("D:/Users/BenStoever/ownCloud/Dokumente/Projekte/EDITor/Quelltexte/LibrAlign branch/Repository/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1").toURI(), false); - addRead(new File("D:/Users/BenStoever/ownCloud/Dokumente/Projekte/EDITor/Quelltexte/LibrAlign branch/Repository/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1").toURI(), false); + //addRead(new File("D:/Users/BenStoever/ownCloud/Dokumente/Projekte/EDITor/Quelltexte/LibrAlign branch/Repository/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1").toURI(), false); + addRead(new File("D:/Users/BenStoever/ownCloud/Dokumente/Projekte/EDITor/Quelltexte/LibrAlign branch/Repository/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/Test_qualityScore.scf").toURI(), false); // Add test consensus sequence: AlignmentModel consensusModel = getEditableConsensusArea().getAlignmentModel(); diff --git a/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/Test_qualityScore.scf b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/Test_qualityScore.scf new file mode 100644 index 000000000..e680999a3 Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/Test_qualityScore.scf differ