Project

General

Profile

« Previous | Next » 

Revision 5d868c19

Added by Patrick Plitzner over 9 years ago

  • added experimental key binding for 'a' for the AlignmentEditor

View differences:

.gitattributes
386 386
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditor.java -text
387 387
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/CdmAuthorityEditorInput.java -text
388 388
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/group/authority/handler/EditCdmAuthoritiesHandler.java -text
389
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/AddAHandler.java -text
389 390
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/EditNewTaxonHandler.java -text
390 391
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenAlignmentEditor.java -text
391 392
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/OpenChecklistEditorHandler.java -text
eu.etaxonomy.taxeditor.application/plugin_customization.ini
1 1
org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = true
2 2
org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
3 3
org.eclipse.ui/DOCK_PERSPECTIVE_BAR=top-right
4
org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=true
4
org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=true
5
org.eclipse.ui/KEY_CONFIGURATION_ID=eu.etaxonomy.taxeditor.bindings.scheme.default
eu.etaxonomy.taxeditor.editor/plugin.xml
930 930
            class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
931 931
            commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
932 932
      </handler>
933
      <handler
934
            class="eu.etaxonomy.taxeditor.editor.handler.AddAHandler"
935
            commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.addA">
936
         <activeWhen>
937
            <with
938
                  variable="activePartId">
939
               <equals
940
                     value="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor">
941
               </equals>
942
            </with>
943
         </activeWhen>
944
      </handler>
933 945
   </extension>
934 946
   <extension
935 947
         name="%extension.name"
......
1214 1226
            id="eu.etaxonomy.taxeditor.editor.handler.OpenAlignmentEditor"
1215 1227
            name="Open Alignment Editor">
1216 1228
      </command>
1229
      <command
1230
            id="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.addA"
1231
            name="Add A">
1232
      </command>
1217 1233

  
1218 1234
   </extension>
1219 1235
   <extension
......
1403 1419
            id="eu.etaxonomy.taxeditor.bindings.scheme.default"
1404 1420
            name="%scheme.name">
1405 1421
      </scheme>
1422
      <key
1423
            commandId="eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor.addA"
1424
            schemeId="eu.etaxonomy.taxeditor.bindings.scheme.default"
1425
            sequence="A">
1426
      </key>
1406 1427
   </extension>
1407 1428
    <extension
1408 1429
         point="org.eclipse.ui.importWizards">
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/AddAHandler.java
1
package eu.etaxonomy.taxeditor.editor.handler;
2

  
3
import org.eclipse.core.commands.AbstractHandler;
4
import org.eclipse.core.commands.ExecutionEvent;
5
import org.eclipse.core.commands.ExecutionException;
6
import org.eclipse.ui.IEditorPart;
7

  
8
import eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor;
9
import eu.etaxonomy.taxeditor.model.AbstractUtility;
10
import eu.etaxonomy.taxeditor.model.MessagingUtils;
11

  
12

  
13
public class AddAHandler extends AbstractHandler{
14

  
15
    /* (non-Javadoc)
16
     * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
17
     */
18
    @Override
19
    public Object execute(ExecutionEvent event) throws ExecutionException {
20
        IEditorPart activeEditor = AbstractUtility.getActiveEditor();
21
        if(activeEditor instanceof AlignmentEditor){
22
            AlignmentEditor alignmentEditor = (AlignmentEditor) activeEditor;
23
//            alignmentEditor.getAlignmentArea().getSelection()
24
        }
25
        MessagingUtils.informationDialog("Added A", "Added A");
26
        return null;
27
    }
28

  
29

  
30
}
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/molecular/AlignmentEditor.java
10 10
package eu.etaxonomy.taxeditor.editor.molecular;
11 11

  
12 12

  
13
import java.io.File;
14

  
15 13
import info.bioinfweb.commons.bio.biojava3.alignment.SimpleAlignment;
16 14
import info.bioinfweb.commons.bio.biojava3.alignment.template.Alignment;
17 15
import info.bioinfweb.commons.bio.biojava3.core.sequence.compound.AlignmentAmbiguityNucleotideCompoundSet;
......
25 23
import info.bioinfweb.libralign.sequenceprovider.implementations.BioJavaSequenceDataProvider;
26 24
import info.bioinfweb.libralign.sequenceprovider.tokenset.BioJavaTokenSet;
27 25

  
26
import java.io.File;
27

  
28 28
import org.biojava.bio.chromatogram.ChromatogramFactory;
29 29
import org.biojava3.core.sequence.DNASequence;
30 30
import org.biojava3.core.sequence.compound.NucleotideCompound;
......
43 43
 * a consensus sequence.
44 44
 * <p>
45 45
 * The contained GUI components used to edit the alignment come from <a href="http://bioinfweb.info/LibrAlign/">LibrAlign</a>.
46
 * 
46
 *
47 47
 * @author pplitzner
48 48
 * @author Ben Stöver
49 49
 * @date 04.08.2014
50 50
 */
51 51
public class AlignmentEditor extends EditorPart {
52 52
    public static final String ID = "eu.etaxonomy.taxeditor.editor.molecular.AlignmentEditor";
53
    
53

  
54 54
    private AlignmentArea alignmentArea;
55 55

  
56 56

  
......
62 62
//			BioJavaPherogramProvider pherogramProvider = new BioJavaPherogramProvider(ChromatogramFactory.create(
63 63
//					new File("D:\\Users\\BenStoever\\Documents\\Studium\\Projekte\\Promotion\\EDITor\\Quelltexte\\LibrAlign branch\\Repository\\eu.etaxonomy.taxeditor.editor\\src\\main\\resources\\TestPherogram_qualityScore.scf")));
64 64
		    //TODO Replace this absolute path with a path working with every workspace location.
65
			
66
			Alignment<DNASequence, NucleotideCompound> alignment = 
65

  
66
			Alignment<DNASequence, NucleotideCompound> alignment =
67 67
					new SimpleAlignment<DNASequence, NucleotideCompound>();
68 68
			alignment.add("Read 1", new DNASequence("TAAGATACAACAAGGTTTCGGGCA-CCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
69 69
			alignment.add("Read 2", new DNASequence("TAAGATACAACAAGGTTTCGGGCAACCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
70 70
			//alignment.add("Consensus edit 1", new DNASequence("TAAGATACAACAAGGTTTCGGGCAACCTTATCCACGCAGTAAGGGGATCAGAGGTTTTTCTCTCATTCATGTATCGTGGATCAGTAAGGCAATTTTGCTACCCTGTCTGCTCTTTCTAGCATTTTACTAATGCCCCAGAAATTAGGAATAAAGATTTTATATGAAAGAAAGGGCGAATTAATTCATAAGGGACTGGTATCCATTCTTATTTGATTTGATACATTGTATCCATTAACATTACATTGGCGAATTGGGCGAAGGTGCGGAAAGAGAGGGATTCGAACCCTCGGTAAACAAAAGTCTACATAGCAGTTCCAATGCTACGCCTTGAACCACTCGGCCACCTCTCCTACATAAGGATTTTGGTCCCAAACCAAAAAGAGGGAGTTGTTCAAATTAGATTCTTAGGTAGGTCCGGACAACGAATTCAAATGAATAAGGTAAGGGGACATCCCCCCTCCCTCCCCTTTGTTTTTTTCTTTATTTGGTTAGGGCGGGGGACTCGACTCTTATTGAATTTTCATATGTATCACAGCTCGAAACGAAAGAACTCGTGGGGGGGTCGTTTCCTTTTTGGATCTTGAACGACTAGGTTCAAGAGATGAGAGAATTCAGGATACCCACAAGAAAGACTAATCCAATCCATAACGATGTACCAGAAAAGACAATATTTTTATTACCTGACCA"));
71
			
71

  
72 72
//			StringBuffer seqBuffer = new StringBuffer(pherogramProvider.getSequenceLength());
73 73
//			for (int i = 1; i <= pherogramProvider.getSequenceLength(); i++) {
74 74
//				seqBuffer.append(pherogramProvider.getBaseCall(i).getUpperedBase());
75 75
//			}
76
//			alignment.add("Sequence 4", new DNASequence("-----" + seqBuffer.substring(0, 38) + 
77
//					seqBuffer.substring(39, 49) + "--" + seqBuffer.substring(49)));  // One A is deleted for shift change specified below. 
78
			
79
			BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider = 
76
//			alignment.add("Sequence 4", new DNASequence("-----" + seqBuffer.substring(0, 38) +
77
//					seqBuffer.substring(39, 49) + "--" + seqBuffer.substring(49)));  // One A is deleted for shift change specified below.
78

  
79
			BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider =
80 80
					new BioJavaSequenceDataProvider<DNASequence, NucleotideCompound>(
81 81
							new BioJavaTokenSet<NucleotideCompound>(
82 82
									AlignmentAmbiguityNucleotideCompoundSet.getAlignmentAmbiguityNucleotideCompoundSet()),
83 83
							alignment);
84
			
84

  
85 85
			AlignmentArea result = new AlignmentArea();
86 86
			result.getContentArea().setSequenceProvider(sequenceProvider, false);
87 87
			SequenceIndexArea sequenceIndexArea = new SequenceIndexArea(result.getContentArea());
88 88
			//sequenceIndexArea.setFirstIndex(5);
89 89
			//sequenceIndexArea.setHeight(25);
90 90
			result.getContentArea().getDataAreas().getTopAreas().add(sequenceIndexArea);
91
			
91

  
92 92
//			PherogramArea pherogramArea = new PherogramArea(result, pherogramProvider);
93 93
//			pherogramArea.setFirstSeqPos(34 + 5);
94 94
//			pherogramArea.setLeftCutPosition(34);
......
98 98
//			result.getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Sequence 4")).add(pherogramArea);
99 99

  
100 100
			PherogramProvider pherogramProvider = new BioJavaPherogramProvider(ChromatogramFactory.create(
101
				    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")));
101
				    new File("/home/pplitzner/svn/LibrAlign/taxeditor/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR430_JR-P01.ab1")));
102 102
			PherogramArea pherogramArea = new PherogramArea(result.getContentArea(), pherogramProvider);
103 103
			pherogramArea.setFirstSeqPos(1);
104 104
			pherogramArea.setLeftCutPosition(13);
......
108 108
			result.getContentArea().getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Read 1")).add(pherogramArea);
109 109

  
110 110
	  		pherogramProvider = new ReverseComplementPherogramProvider(new BioJavaPherogramProvider(ChromatogramFactory.create(
111
  				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"))));
111
  				new File("/home/pplitzner/svn/LibrAlign/taxeditor/eu.etaxonomy.taxeditor.editor/src/main/resources/AlignmentTestData/JR444_JR-P05.ab1"))));
112 112
			pherogramArea = new PherogramArea(result.getContentArea(), pherogramProvider);
113 113
			pherogramArea.setFirstSeqPos(1);
114 114
			pherogramArea.setLeftCutPosition(267);
......
116 116
			pherogramArea.setVerticalScale(20 * pherogramArea.getVerticalScale());
117 117
			result.getContentArea().getDataAreas().getSequenceAreas(sequenceProvider.sequenceIDByName("Read 2")).add(pherogramArea);
118 118

  
119
	  		
119

  
120 120
	  	    result.getContentArea().getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result.getContentArea()));
121 121
			return result;
122 122
		}
123 123
		catch (Exception e) {
124 124
			throw new RuntimeException(e);
125 125
		}
126
		
127
//		Alignment<DNASequence, NucleotideCompound> alignment = 
126

  
127
//		Alignment<DNASequence, NucleotideCompound> alignment =
128 128
//				new SimpleAlignment<DNASequence, NucleotideCompound>();
129 129
//		alignment.add("Sequence 1", new DNASequence("ATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAGATCGTAG"));
130 130
//		alignment.add("Sequence 2", new DNASequence("AT-GTTG"));
131 131
//		alignment.add("Sequence 3", new DNASequence("AT-GTAG"));
132
//		
133
//		BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider = 
132
//
133
//		BioJavaSequenceDataProvider<DNASequence, NucleotideCompound> sequenceProvider =
134 134
//				new BioJavaSequenceDataProvider<DNASequence, NucleotideCompound>(
135 135
//						new BioJavaTokenSet<NucleotideCompound>(
136 136
//								AlignmentAmbiguityNucleotideCompoundSet.getAlignmentAmbiguityNucleotideCompoundSet()),
137 137
//						alignment);
138
//		
138
//
139 139
//		AlignmentArea result = new AlignmentArea();
140 140
//		result.setSequenceProvider(sequenceProvider, false);
141 141
//		SequenceIndexArea sequenceIndexArea = new SequenceIndexArea(result);
......
145 145
//		result.getDataAreas().getBottomAreas().add(new ConsensusSequenceArea(result));
146 146
//		return result;
147 147
	}
148
	
149
	
148

  
149

  
150 150
    /* (non-Javadoc)
151 151
     * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
152 152
     */
......
157 157
		//getSite().setSelectionProvider(provider)
158 158
    }
159 159

  
160
    
160

  
161 161
    /* (non-Javadoc)
162 162
     * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
163 163
     */
......
167 167

  
168 168
    }
169 169

  
170
    
170

  
171 171
    /* (non-Javadoc)
172 172
     * @see org.eclipse.ui.part.EditorPart#doSaveAs()
173 173
     */
......
176 176
        // TODO Auto-generated method stub
177 177

  
178 178
    }
179
    
179

  
180 180

  
181 181
    /* (non-Javadoc)
182 182
     * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
......
186 186
        setSite(site);
187 187
        setInput(input);
188 188
    }
189
    
189

  
190 190

  
191 191
    /* (non-Javadoc)
192 192
     * @see org.eclipse.ui.part.EditorPart#isDirty()
......
197 197
        return false;
198 198
    }
199 199

  
200
    
200

  
201 201
    /* (non-Javadoc)
202 202
     * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
203 203
     */
......
206 206
        // TODO Auto-generated method stub
207 207
        return false;
208 208
    }
209
    
209

  
210 210

  
211 211
    /* (non-Javadoc)
212 212
     * @see org.eclipse.ui.part.WorkbenchPart#setFocus()

Also available in: Unified diff