Example in AlignmentEditor changed to a more realistic case.
authorb.stoever <b.stoever@localhost>
Thu, 25 Sep 2014 14:52:55 +0000 (14:52 +0000)
committerb.stoever <b.stoever@localhost>
Thu, 25 Sep 2014 14:52:55 +0000 (14:52 +0000)
.gitattributes
eu.etaxonomy.taxeditor.editor/.project
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/ContigSequenceDataProvider.java [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1 [new file with mode: 0644]
eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1 [new file with mode: 0644]

index 43ef931a80db3d214b5cc227f24f768924689b54..d0ba8c7653d9041bd565f6518ebe40ef0c719e0c 100644 (file)
@@ -429,6 +429,7 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/po
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditorInput.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/CMDAlignmentObjectPlaceholder.java -text
+eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ContigSequenceDataProvider.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/TaxonNameEditor.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractGroup.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/container/AbstractGroupedContainer.java -text
@@ -598,6 +599,8 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/u
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateTaxonUseOperation.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseRecordOperation.java -text
 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/operation/CreateUseSummaryOperation.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/TaonDescriptionEditor.screen -text
 eu.etaxonomy.taxeditor.editor/src/main/resources/TestPherogram_qualityScore.scf -text
 eu.etaxonomy.taxeditor.editor/src/main/resources/log4j.properties -text
index 718c96cd31413a3c4295a68c263b98f3fcffffcf..ce8935ac2072251cf6f225298b65070a1a8fc91e 100644 (file)
@@ -1,40 +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>
-       <linkedResources>
-               <link>
-                       <name>lib/LibrAlign</name>
-                       <type>2</type>
-                       <location>/home/pplitzner/svn/LibrAlign/LibrAlign/main/bin</location>
-               </link>
-               <link>
-                       <name>lib/bioinfweb.commons</name>
-                       <type>2</type>
-                       <location>/home/pplitzner/svn/LibrAlign/commons/main/bin</location>
-               </link>
-       </linkedResources>
-</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 c79dddcc1a0dc55aca2598d57d44e86b323594a9..a2d52d1a405634849d64d47561c553cd0488cec0 100644 (file)
@@ -20,6 +20,8 @@ import info.bioinfweb.libralign.dataarea.implementations.ConsensusSequenceArea;
 import info.bioinfweb.libralign.dataarea.implementations.SequenceIndexArea;
 import info.bioinfweb.libralign.dataarea.implementations.pherogram.PherogramArea;
 import info.bioinfweb.libralign.pherogram.BioJavaPherogramProvider;
+import info.bioinfweb.libralign.pherogram.PherogramProvider;
+import info.bioinfweb.libralign.pherogram.ReverseComplementPherogramProvider;
 import info.bioinfweb.libralign.sequenceprovider.implementations.BioJavaSequenceDataProvider;
 import info.bioinfweb.libralign.sequenceprovider.tokenset.BioJavaTokenSet;
 
@@ -59,22 +61,22 @@ public class AlignmentEditor extends EditorPart {
                        //ResourcesPlugin.getWorkspace().getRoot().getFile("/eu.etaxonomy.taxeditor.editor/src/main/resources/TestPherogram_qualityScore.scf");
                        //System.out.println(AlignmentEditor.class.getResource("/"));
                        //System.out.println(AlignmentEditor.class.getResource("/../resources/TestPherogram_qualityScore.scf"));
-                       BioJavaPherogramProvider pherogramProvider = new BioJavaPherogramProvider(ChromatogramFactory.create(
-                                       new File("D:\\Users\\BenStoever\\Documents\\Studium\\Projekte\\Promotion\\EDITor\\Quelltexte\\LibrAlign branch\\Repository\\eu.etaxonomy.taxeditor.editor\\src\\main\\resources\\TestPherogram_qualityScore.scf")));
+//                     BioJavaPherogramProvider pherogramProvider = new BioJavaPherogramProvider(ChromatogramFactory.create(
+//                                     new File("D:\\Users\\BenStoever\\Documents\\Studium\\Projekte\\Promotion\\EDITor\\Quelltexte\\LibrAlign branch\\Repository\\eu.etaxonomy.taxeditor.editor\\src\\main\\resources\\TestPherogram_qualityScore.scf")));
                    //TODO Replace this absolute path with a path working with every workspace location.
                        
                        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"));
+                       alignment.add("Read 1", new DNASequence("TAAGATACAACAAGGTTTCGGGCA-CCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
+                       alignment.add("Read 2", new DNASequence("TAAGATACAACAAGGTTTCGGGCAACCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
+                       //alignment.add("Consensus edit 1", new DNASequence("TAAGATACAACAAGGTTTCGGGCAACCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
                        
-                       StringBuffer seqBuffer = new StringBuffer(pherogramProvider.getSequenceLength());
-                       for (int i = 1; i <= pherogramProvider.getSequenceLength(); i++) {
-                               seqBuffer.append(pherogramProvider.getBaseCall(i).getUpperedBase());
-                       }
-                       alignment.add("Sequence 4", new DNASequence("-----" + seqBuffer.substring(0, 38) + 
-                                       seqBuffer.substring(39, 49) + "--" + seqBuffer.substring(49)));  // One A is deleted for shift change specified below. 
+//                     StringBuffer seqBuffer = new StringBuffer(pherogramProvider.getSequenceLength());
+//                     for (int i = 1; i <= pherogramProvider.getSequenceLength(); i++) {
+//                             seqBuffer.append(pherogramProvider.getBaseCall(i).getUpperedBase());
+//                     }
+//                     alignment.add("Sequence 4", new DNASequence("-----" + seqBuffer.substring(0, 38) + 
+//                                     seqBuffer.substring(39, 49) + "--" + seqBuffer.substring(49)));  // One A is deleted for shift change specified below. 
                        
                        BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider = 
                                        new BioJavaSequenceDataProvider<DNASequence, NucleotideCompound>(
@@ -89,15 +91,35 @@ public class AlignmentEditor extends EditorPart {
                        //sequenceIndexArea.setHeight(25);
                        result.getDataAreas().getTopAreas().add(sequenceIndexArea);
                        
+//                     PherogramArea pherogramArea = new PherogramArea(result, pherogramProvider);
+//                     pherogramArea.setFirstSeqPos(34 + 5);
+//                     pherogramArea.setLeftCutPosition(34);
+//                     pherogramArea.setRightCutPosition(820);
+//                     pherogramArea.getAlignmentModel().setShiftChange(38, -1);
+//                     pherogramArea.getAlignmentModel().setShiftChange(49, 2);
+//                     result.getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Sequence 4")).add(pherogramArea);
+
+                       PherogramProvider pherogramProvider = new BioJavaPherogramProvider(ChromatogramFactory.create(
+                                   new File("D:\\Users\\BenStoever\\Documents\\Studium\\Projekte\\Promotion\\EDITor\\Quelltexte\\LibrAlign branch\\Repository\\eu.etaxonomy.taxeditor.editor\\src\\main\\resources\\AlignmentTestData\\JR430_JR-P01.ab1")));
                        PherogramArea pherogramArea = new PherogramArea(result, pherogramProvider);
-                       pherogramArea.setFirstSeqPos(34 + 5);
-                       pherogramArea.setLeftCutPosition(34);
-                       pherogramArea.setRightCutPosition(820);
-                       pherogramArea.getAlignmentModel().setShiftChange(38, -1);
-                       pherogramArea.getAlignmentModel().setShiftChange(49, 2);
-                       result.getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Sequence 4")).add(pherogramArea);
-                       
-                       result.getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result));
+                       pherogramArea.setFirstSeqPos(1);
+                       pherogramArea.setLeftCutPosition(13);
+                       pherogramArea.setRightCutPosition(697);
+                       pherogramArea.getAlignmentModel().setShiftChange(14, 1);
+                       pherogramArea.getAlignmentModel().setShiftChange(35, 1);
+                       result.getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Read 1")).add(pherogramArea);
+
+                       pherogramProvider = new ReverseComplementPherogramProvider(new BioJavaPherogramProvider(ChromatogramFactory.create(
+                               new File("D:\\Users\\BenStoever\\Documents\\Studium\\Projekte\\Promotion\\EDITor\\Quelltexte\\LibrAlign branch\\Repository\\eu.etaxonomy.taxeditor.editor\\src\\main\\resources\\AlignmentTestData\\JR444_JR-P05.ab1"))));
+                       pherogramArea = new PherogramArea(result, pherogramProvider);
+                       pherogramArea.setFirstSeqPos(1);
+                       pherogramArea.setLeftCutPosition(267);
+                       pherogramArea.getAlignmentModel().setShiftChange(273, -1);
+                       pherogramArea.setVerticalScale(20 * pherogramArea.getVerticalScale());
+                       result.getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Read 2")).add(pherogramArea);
+
+                       
+                   result.getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result));
                        return result;
                }
                catch (Exception e) {
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ContigSequenceDataProvider.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/ContigSequenceDataProvider.java
new file mode 100644 (file)
index 0000000..d7391a4
--- /dev/null
@@ -0,0 +1,45 @@
+// $Id$\r
+/**\r
+* Copyright (C) 2014 EDIT\r
+* European Distributed Institute of Taxonomy\r
+* http://www.e-taxonomy.eu\r
+*\r
+* The contents of this file are subject to the Mozilla Public License Version 1.1\r
+* See LICENSE.TXT at the top of this package for the full license terms.\r
+*/\r
+package eu.etaxonomy.taxeditor.editor.molecular;\r
+\r
+\r
+import org.biojava3.core.sequence.compound.NucleotideCompound;\r
+\r
+import info.bioinfweb.commons.bio.biojava3.core.sequence.compound.AlignmentAmbiguityDNACompoundSet;\r
+import info.bioinfweb.libralign.sequenceprovider.SequenceDataProvider;\r
+import info.bioinfweb.libralign.sequenceprovider.implementations.PackedSequenceDataProvider;\r
+import info.bioinfweb.libralign.sequenceprovider.tokenset.BioJavaTokenSet;\r
+\r
+\r
+\r
+/**\r
+ * The LibrAlign sequence data provider used to edit contig alignments with the {@link AlignmentEditor}.\r
+ * \r
+ * @author Ben Stöver\r
+ * @date 04.08.2014\r
+ */\r
+public class ContigSequenceDataProvider extends PackedSequenceDataProvider<NucleotideCompound> \r
+        implements SequenceDataProvider<NucleotideCompound> {\r
+\r
+       \r
+       public ContigSequenceDataProvider() {\r
+               super(new BioJavaTokenSet<NucleotideCompound>(AlignmentAmbiguityDNACompoundSet.getAlignmentAmbiguityDNACompoundSet()));\r
+       }\r
+       \r
+       \r
+       public void saveToCMD() {  //TODO Add cmd node as parameter  \r
+               //TODO impl.\r
+       }\r
+       \r
+       \r
+       public void loadFromCMD() {  //TODO Add cmd node as parameter\r
+               //TODO impl.\r
+       }\r
+}\r
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1 b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1
new file mode 100644 (file)
index 0000000..83a3be3
Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1 differ
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1 b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1
new file mode 100644 (file)
index 0000000..be62c7c
Binary files /dev/null and b/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1 differ