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.)
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
-<?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
-<?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
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/
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/
*/
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.
+ * <p>
+ * The contained GUI components used to edit the alignment come from <a href="http://bioinfweb.info/LibrAlign/">LibrAlign</a>.
+ *
* @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<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) {
- 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#doSaveAs()
*/
// TODO Auto-generated method stub
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
setSite(site);
setInput(input);
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.part.EditorPart#isDirty()
return false;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
*/
// TODO Auto-generated method stub
return false;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#setFocus()
// TODO Auto-generated method stub
}
-
}
*/
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)
return null;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#exists()
*/
return false;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getImageDescriptor()
*/
// TODO Auto-generated method stub
return null;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getName()
public String getName() {
return name;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getPersistable()
public IPersistableElement getPersistable() {
return null;
}
+
/* (non-Javadoc)
* @see org.eclipse.ui.IEditorInput#getToolTipText()
public String getToolTipText() {
return name;
}
-
}
-<?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