From: b.stoever Date: Tue, 5 Aug 2014 09:25:31 +0000 (+0000) Subject: Test version of an AlignmentArea added to AlignmentEditor. X-Git-Tag: 3.8.0^2~59^2~134 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/aafd78b03d2304bee6462efa206ac240020ac334 Test version of an AlignmentArea added to AlignmentEditor. Dependencies of LibrAlign added in provisional form. During initial development stage you need to check out the following two additional project into your workspace: - bioinfweb.commons as "_Lib" from https://secure.bioinfweb.info/Code/svn/commons.java/trunk/main/ - LibrAlign as "LibrAlign" from https://secure.nefertem.bioinfweb.info/private/svn/LibrAlign/trunk/main/ (These dependencies will be replaced by JARs after the initial development phase of this branch.) --- diff --git a/.gitattributes b/.gitattributes index d6e15b3a7..2c5d2340d 100644 --- a/.gitattributes +++ b/.gitattributes @@ -357,6 +357,10 @@ eu.etaxonomy.taxeditor.editor/icons/edit_16x16.gif -text eu.etaxonomy.taxeditor.editor/icons/emblem-photos.png -text eu.etaxonomy.taxeditor.editor/icons/leaf_detail.png -text eu.etaxonomy.taxeditor.editor/icons/xper64.png -text +eu.etaxonomy.taxeditor.editor/lib/biojava3-alignment-3.0.7.jar -text +eu.etaxonomy.taxeditor.editor/lib/biojava3-core-3.0.7.jar -text +eu.etaxonomy.taxeditor.editor/lib/core-1.8.5.jar -text +eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar -text eu.etaxonomy.taxeditor.editor/p2.inf -text eu.etaxonomy.taxeditor.editor/plugin.properties -text eu.etaxonomy.taxeditor.editor/plugin.xml -text diff --git a/eu.etaxonomy.taxeditor.editor/.classpath b/eu.etaxonomy.taxeditor.editor/.classpath index 856e9f909..1b2ee0187 100644 --- a/eu.etaxonomy.taxeditor.editor/.classpath +++ b/eu.etaxonomy.taxeditor.editor/.classpath @@ -1,9 +1,15 @@ - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.editor/.project b/eu.etaxonomy.taxeditor.editor/.project index e25293c2f..ce8935ac2 100644 --- a/eu.etaxonomy.taxeditor.editor/.project +++ b/eu.etaxonomy.taxeditor.editor/.project @@ -1,28 +1,40 @@ - - - eu.etaxonomy.taxeditor.editor - NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.pde.PluginNature - - + + + eu.etaxonomy.taxeditor.editor + NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse. + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + + + lib/LibrAlign + 2 + WORKSPACE_LOC/LibrAlign/bin + + + lib/bioinfweb.commons + 2 + WORKSPACE_LOC/_Lib/bin + + + diff --git a/eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF b/eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF index 0c7bd0160..6e489f2d0 100644 --- a/eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF +++ b/eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF @@ -175,4 +175,10 @@ Bundle-ClassPath: ., jdimodel.jar, pdebuild.jar, compatibility.jar, - junit.jar + junit.jar, + lib/biojava3-alignment-3.0.7.jar, + lib/biojava3-core-3.0.7.jar, + lib/core-1.8.5.jar, + lib/sequencing-1.8.5.jar, + lib/bioinfweb.commons/, + lib/LibrAlign/ diff --git a/eu.etaxonomy.taxeditor.editor/build.properties b/eu.etaxonomy.taxeditor.editor/build.properties index 4c434ef68..506d9dbd5 100644 --- a/eu.etaxonomy.taxeditor.editor/build.properties +++ b/eu.etaxonomy.taxeditor.editor/build.properties @@ -5,4 +5,10 @@ bin.includes = META-INF/,\ plugin.xml,\ plugin.properties,\ icons/,\ - p2.inf + p2.inf,\ + lib/biojava3-alignment-3.0.7.jar,\ + lib/biojava3-core-3.0.7.jar,\ + lib/core-1.8.5.jar,\ + lib/sequencing-1.8.5.jar,\ + lib/bioinfweb.commons/,\ + lib/LibrAlign/ diff --git a/eu.etaxonomy.taxeditor.editor/lib/biojava3-alignment-3.0.7.jar b/eu.etaxonomy.taxeditor.editor/lib/biojava3-alignment-3.0.7.jar new file mode 100644 index 000000000..e5f1d6bad Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/lib/biojava3-alignment-3.0.7.jar differ diff --git a/eu.etaxonomy.taxeditor.editor/lib/biojava3-core-3.0.7.jar b/eu.etaxonomy.taxeditor.editor/lib/biojava3-core-3.0.7.jar new file mode 100644 index 000000000..c9f1f81f4 Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/lib/biojava3-core-3.0.7.jar differ diff --git a/eu.etaxonomy.taxeditor.editor/lib/core-1.8.5.jar b/eu.etaxonomy.taxeditor.editor/lib/core-1.8.5.jar new file mode 100644 index 000000000..c6c7bdc54 Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/lib/core-1.8.5.jar differ diff --git a/eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar b/eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar new file mode 100644 index 000000000..b987ebee8 Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar differ 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 831074009..3d8237456 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 @@ -9,36 +9,78 @@ */ package eu.etaxonomy.taxeditor.editor.molecular; + +import info.bioinfweb.commons.bio.biojava3.alignment.SimpleAlignment; +import info.bioinfweb.commons.bio.biojava3.alignment.template.Alignment; +import info.bioinfweb.commons.bio.biojava3.core.sequence.compound.AlignmentAmbiguityNucleotideCompoundSet; +import info.bioinfweb.libralign.AlignmentArea; +import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea; +import info.bioinfweb.libralign.dataarea.implementations.SequenceIndexArea; +import info.bioinfweb.libralign.sequenceprovider.implementations.BioJavaSequenceDataProvider; +import info.bioinfweb.libralign.sequenceprovider.tokenset.BioJavaTokenSet; + +import org.biojava3.core.sequence.DNASequence; +import org.biojava3.core.sequence.compound.NucleotideCompound; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.part.EditorPart; + + /** + * Editor component to edit a contig alignment used to combine different overlapping pherograms from Sanger sequencing to + * a consensus sequence. + *

+ * The contained GUI components used to edit the alignment come from LibrAlign. + * * @author pplitzner + * @author Ben Stöver * @date 04.08.2014 - * */ public class AlignmentEditor extends EditorPart { - public static final String ID = "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor"; - - + + private AlignmentArea alignmentArea; + + + private AlignmentArea createAlignmentArea() { + Alignment alignment = + new SimpleAlignment(); + alignment.add("Sequence 1", new DNASequence("ATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAG")); + alignment.add("Sequence 2", new DNASequence("AT-GTTG")); + alignment.add("Sequence 3", new DNASequence("AT-GTAG")); + + BioJavaSequenceDataProvider sequenceProvider = + new BioJavaSequenceDataProvider( + new BioJavaTokenSet( + AlignmentAmbiguityNucleotideCompoundSet.getAlignmentAmbiguityNucleotideCompoundSet()), + alignment); + + AlignmentArea result = new AlignmentArea(); + result.setSequenceProvider(sequenceProvider, false); + SequenceIndexArea sequenceIndexArea = new SequenceIndexArea(result); + //sequenceIndexArea.setFirstIndex(5); + //sequenceIndexArea.setHeight(25); + result.getDataAreas().getTopAreas().add(sequenceIndexArea); + result.getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result)); + return result; + } + + /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) */ @Override public void createPartControl(Composite parent) { - Label label = new Label(parent, SWT.NONE); - label.setText("AlignmentEditor under construction!"); - - + alignmentArea = createAlignmentArea(); + Composite alignmentWidget = alignmentArea.createSWTWidget(parent, SWT.NONE); } + /* (non-Javadoc) * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor) */ @@ -48,6 +90,7 @@ public class AlignmentEditor extends EditorPart { } + /* (non-Javadoc) * @see org.eclipse.ui.part.EditorPart#doSaveAs() */ @@ -56,6 +99,7 @@ public class AlignmentEditor extends EditorPart { // TODO Auto-generated method stub } + /* (non-Javadoc) * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput) @@ -65,6 +109,7 @@ public class AlignmentEditor extends EditorPart { setSite(site); setInput(input); } + /* (non-Javadoc) * @see org.eclipse.ui.part.EditorPart#isDirty() @@ -75,6 +120,7 @@ public class AlignmentEditor extends EditorPart { return false; } + /* (non-Javadoc) * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed() */ @@ -83,6 +129,7 @@ public class AlignmentEditor extends EditorPart { // TODO Auto-generated method stub return false; } + /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#setFocus() @@ -92,5 +139,4 @@ public class AlignmentEditor extends EditorPart { // TODO Auto-generated method stub } - } diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java index 31f2a2469..3ec4ae3d3 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java @@ -9,18 +9,21 @@ */ package eu.etaxonomy.taxeditor.editor.molecular; + import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPersistableElement; + + /** * @author pplitzner + * @author Ben Stöver * @date 04.08.2014 - * */ -public class AlignmentEditorInput implements IEditorInput{ - +public class AlignmentEditorInput implements IEditorInput { private static final String name = "AlignmentEditor"; + /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) @@ -31,6 +34,7 @@ public class AlignmentEditorInput implements IEditorInput{ return null; } + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#exists() */ @@ -40,6 +44,7 @@ public class AlignmentEditorInput implements IEditorInput{ return false; } + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#getImageDescriptor() */ @@ -48,6 +53,7 @@ public class AlignmentEditorInput implements IEditorInput{ // TODO Auto-generated method stub return null; } + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#getName() @@ -56,6 +62,7 @@ public class AlignmentEditorInput implements IEditorInput{ public String getName() { return name; } + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#getPersistable() @@ -64,6 +71,7 @@ public class AlignmentEditorInput implements IEditorInput{ public IPersistableElement getPersistable() { return null; } + /* (non-Javadoc) * @see org.eclipse.ui.IEditorInput#getToolTipText() @@ -72,5 +80,4 @@ public class AlignmentEditorInput implements IEditorInput{ public String getToolTipText() { return name; } - } diff --git a/eu.etaxonomy.taxeditor/.classpath b/eu.etaxonomy.taxeditor/.classpath index 7c95b583f..3446faf90 100644 --- a/eu.etaxonomy.taxeditor/.classpath +++ b/eu.etaxonomy.taxeditor/.classpath @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + +