Test version of an AlignmentArea added to AlignmentEditor.
authorb.stoever <b.stoever@localhost>
Tue, 5 Aug 2014 09:25:31 +0000 (09:25 +0000)
committerb.stoever <b.stoever@localhost>
Tue, 5 Aug 2014 09:25:31 +0000 (09:25 +0000)
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.)

12 files changed:
.gitattributes
eu.etaxonomy.taxeditor.editor/.classpath
eu.etaxonomy.taxeditor.editor/.project
eu.etaxonomy.taxeditor.editor/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.editor/build.properties
eu.etaxonomy.taxeditor.editor/lib/biojava3-alignment-3.0.7.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/lib/biojava3-core-3.0.7.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/lib/core-1.8.5.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java
eu.etaxonomy.taxeditor/.classpath

index d6e15b3a7e7a16e026efdcac72d64679c7f26591..2c5d2340d4d380b39495a818d69388f19e8ee956 100644 (file)
@@ -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/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
 eu.etaxonomy.taxeditor.editor/p2.inf -text
 eu.etaxonomy.taxeditor.editor/plugin.properties -text
 eu.etaxonomy.taxeditor.editor/plugin.xml -text
index 856e9f909acec2ac78d360355e9cb4be88f8eaa3..1b2ee01870a0f3101361da87643d0fd792e18868 100644 (file)
@@ -1,9 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-       <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
-       <classpathentry including="**/*.java" kind="src" path="src/test/java"/>
-       <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
-       <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry exported="true" kind="lib" path="lib/LibrAlign/"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/bioinfweb.commons/"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/biojava3-core-3.0.7.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/core-1.8.5.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/sequencing-1.8.5.jar"/>\r
+       <classpathentry exported="true" kind="lib" path="lib/biojava3-alignment-3.0.7.jar"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>\r
+       <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>\r
+       <classpathentry including="**/*.java" kind="src" path="src/main/java"/>\r
+       <classpathentry including="**/*.java" kind="src" path="src/test/java"/>\r
+       <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r
index e25293c2fcd8c813e182d2540716f7b232713c7e..ce8935ac2072251cf6f225298b65070a1a8fc91e 100644 (file)
@@ -1,28 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>eu.etaxonomy.taxeditor.editor</name>
-       <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.pde.ManifestBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.pde.SchemaBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-               <nature>org.eclipse.pde.PluginNature</nature>
-       </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>eu.etaxonomy.taxeditor.editor</name>\r
+       <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>org.eclipse.jdt.core.javabuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.pde.ManifestBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>org.eclipse.pde.SchemaBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>org.eclipse.jdt.core.javanature</nature>\r
+               <nature>org.eclipse.pde.PluginNature</nature>\r
+       </natures>\r
+       <linkedResources>\r
+               <link>\r
+                       <name>lib/LibrAlign</name>\r
+                       <type>2</type>\r
+                       <locationURI>WORKSPACE_LOC/LibrAlign/bin</locationURI>\r
+               </link>\r
+               <link>\r
+                       <name>lib/bioinfweb.commons</name>\r
+                       <type>2</type>\r
+                       <locationURI>WORKSPACE_LOC/_Lib/bin</locationURI>\r
+               </link>\r
+       </linkedResources>\r
+</projectDescription>\r
index 0c7bd01605402d4bb9cf9ac359d02ed48ca9ff1b..6e489f2d0f4334e5ac3233808930a399f218544c 100644 (file)
@@ -175,4 +175,10 @@ Bundle-ClassPath: .,
  jdimodel.jar,
  pdebuild.jar,
  compatibility.jar,
  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/
index 4c434ef68a020b2f38beb7359a71dbe99cf80aa0..506d9dbd52bf5203ba7bd483baaf048d8fc74e78 100644 (file)
@@ -5,4 +5,10 @@ bin.includes = META-INF/,\
                plugin.xml,\
                plugin.properties,\
                icons/,\
                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 (file)
index 0000000..e5f1d6b
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 (file)
index 0000000..c9f1f81
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 (file)
index 0000000..c6c7bdc
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 (file)
index 0000000..b987ebe
Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/lib/sequencing-1.8.5.jar differ
index 8310740095c8c34d6882aa402cce11fef24018df..3d823745613c20b36ea4465a3caf12f7245809fb 100644 (file)
@@ -9,36 +9,78 @@
 */
 package eu.etaxonomy.taxeditor.editor.molecular;
 
 */
 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.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;
 
 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.
+ * <p>
+ * The contained GUI components used to edit the alignment come from <a href="http://bioinfweb.info/LibrAlign/">LibrAlign</a>.
+ * 
  * @author pplitzner
  * @author pplitzner
+ * @author Ben Stöver
  * @date 04.08.2014
  * @date 04.08.2014
- *
  */
 public class AlignmentEditor extends EditorPart {
  */
 public class AlignmentEditor extends EditorPart {
-
     public static final String ID = "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor";
     public static final String ID = "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor";
-
-
+    
+    private AlignmentArea alignmentArea;
+
+
+       private AlignmentArea createAlignmentArea() {
+               Alignment<DNASequence, NucleotideCompound> alignment = 
+                               new SimpleAlignment<DNASequence, NucleotideCompound>();
+               alignment.add("Sequence 1", new DNASequence("ATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAG"));
+               alignment.add("Sequence 2", new DNASequence("AT-GTTG"));
+               alignment.add("Sequence 3", new DNASequence("AT-GTAG"));
+               
+               BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider = 
+                               new BioJavaSequenceDataProvider<DNASequence, NucleotideCompound>(
+                                               new BioJavaTokenSet<NucleotideCompound>(
+                                                               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) {
     /* (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)
      */
     /* (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()
      */
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#doSaveAs()
      */
@@ -56,6 +99,7 @@ public class AlignmentEditor extends EditorPart {
         // TODO Auto-generated method stub
 
     }
         // TODO Auto-generated method stub
 
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
 
     /* (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);
     }
         setSite(site);
         setInput(input);
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#isDirty()
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#isDirty()
@@ -75,6 +120,7 @@ public class AlignmentEditor extends EditorPart {
         return false;
     }
 
         return false;
     }
 
+    
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
      */
     /* (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;
     }
         // TODO Auto-generated method stub
         return false;
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
@@ -92,5 +139,4 @@ public class AlignmentEditor extends EditorPart {
         // TODO Auto-generated method stub
 
     }
         // TODO Auto-generated method stub
 
     }
-
 }
 }
index 31f2a2469021f85f8ca6939848ac921a7cfae258..3ec4ae3d319acc500929240c6759b7b688f082f8 100644 (file)
@@ -9,18 +9,21 @@
 */
 package eu.etaxonomy.taxeditor.editor.molecular;
 
 */
 package eu.etaxonomy.taxeditor.editor.molecular;
 
+
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IPersistableElement;
 
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IPersistableElement;
 
+
+
 /**
  * @author pplitzner
 /**
  * @author pplitzner
+ * @author Ben Stöver
  * @date 04.08.2014
  * @date 04.08.2014
- *
  */
  */
-public class AlignmentEditorInput implements IEditorInput{
-
+public class AlignmentEditorInput implements IEditorInput {
     private static final String name = "AlignmentEditor";
     private static final String name = "AlignmentEditor";
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
 
     /* (non-Javadoc)
      * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
@@ -31,6 +34,7 @@ public class AlignmentEditorInput implements IEditorInput{
         return null;
     }
 
         return null;
     }
 
+    
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#exists()
      */
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#exists()
      */
@@ -40,6 +44,7 @@ public class AlignmentEditorInput implements IEditorInput{
         return false;
     }
 
         return false;
     }
 
+    
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
      */
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getImageDescriptor()
      */
@@ -48,6 +53,7 @@ public class AlignmentEditorInput implements IEditorInput{
         // TODO Auto-generated method stub
         return null;
     }
         // TODO Auto-generated method stub
         return null;
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getName()
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getName()
@@ -56,6 +62,7 @@ public class AlignmentEditorInput implements IEditorInput{
     public String getName() {
         return name;
     }
     public String getName() {
         return name;
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getPersistable()
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getPersistable()
@@ -64,6 +71,7 @@ public class AlignmentEditorInput implements IEditorInput{
     public IPersistableElement getPersistable() {
         return null;
     }
     public IPersistableElement getPersistable() {
         return null;
     }
+    
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getToolTipText()
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.IEditorInput#getToolTipText()
@@ -72,5 +80,4 @@ public class AlignmentEditorInput implements IEditorInput{
     public String getToolTipText() {
         return name;
     }
     public String getToolTipText() {
         return name;
     }
-
 }
 }
index 7c95b583fcd7040a62be4722c8119d5f1ae50409..3446faf90f1926ee4bb2b230c4ec8ee62efaabbc 100644 (file)
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.application"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.bulkeditor"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.cdmlib"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.editor"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.navigation"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.printpublisher"/>
-       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.store"/>
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-       <classpathentry kind="output" path="target/classes"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>\r
+<classpath>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.application"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.bulkeditor"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.cdmlib"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.editor"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.navigation"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.printpublisher"/>\r
+       <classpathentry kind="src" path="/eu.etaxonomy.taxeditor.store"/>\r
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
+       <classpathentry kind="output" path="target/classes"/>\r
+</classpath>\r