Skip to content

Commit

Permalink
Merge 4f76584 into ea9df81
Browse files Browse the repository at this point in the history
  • Loading branch information
nathandunn committed Nov 14, 2018
2 parents ea9df81 + 4f76584 commit 9ad3e92
Show file tree
Hide file tree
Showing 12 changed files with 54 additions and 5 deletions.
7 changes: 7 additions & 0 deletions client/apollo/css/webapollo_track_styles.css
Expand Up @@ -321,6 +321,13 @@ div.annot-sequence {
top: 10%;
}

.black-80pct,
.plus-black-80pct,
.minus-black-80pct {
background-color: #222;
height: 80%;
top: 10%;
}

.brightgreen-80pct,
.plus-brightgreen-80pct,
Expand Down
2 changes: 2 additions & 0 deletions client/apollo/js/SequenceOntologyUtils.js
Expand Up @@ -22,6 +22,7 @@ SequenceOntologyUtils.neverHasCDS = {
alignment: true,
repeat: true,
repeat_region: true,
terminator: true,
transposable_element: true
};

Expand All @@ -40,6 +41,7 @@ SequenceOntologyUtils.neverHasExons = {
alignment: true,
repeat: true,
repeat_region: true,
terminator: true,
transposable_element: true
};

Expand Down
9 changes: 9 additions & 0 deletions client/apollo/js/View/Track/DraggableHTMLFeatures.js
Expand Up @@ -1276,6 +1276,15 @@ var draggableTrack = declare( HTMLFeatureTrack,
atrack.createGenericOneLevelAnnotations(selFeats, "repeat_region", true);
})
}));
createAnnotationMenu.addChild(new dijitMenuItem( {
label: "terminator",
onClick: dojo.hitch(this, function() {
var selection = this.selectionManager.getSelection();
var selFeats = this.selectionManager.getSelectedFeatures();
this.selectionManager.clearSelection();
atrack.createGenericOneLevelAnnotations(selFeats, "terminator", true);
})
}));
createAnnotationMenu.addChild(new dijitMenuItem( {
label: "transposable_element",
onClick: dojo.hitch(this, function() {
Expand Down
7 changes: 7 additions & 0 deletions client/apollo/js/View/Track/WebApolloCanvasFeatures.js
Expand Up @@ -112,6 +112,13 @@ return declare( CanvasFeaturesTrack,
atrack.createGenericOneLevelAnnotations([this.feature], "repeat_region", true);
}
},
{
"label" : "terminator",
"action" : function() {
var atrack=thisB.webapollo.getAnnotTrack();
atrack.createGenericOneLevelAnnotations([this.feature], "terminator", true);
}
},
{
"label" : "transposable element",
"action" : function() {
Expand Down
4 changes: 4 additions & 0 deletions client/apollo/json/annot.json
Expand Up @@ -22,6 +22,10 @@
},
"arrowheadClass" : "annot-arrowhead",
"alternateClasses" : {
"terminator" : {
"renderClassName" : "black-80pct annot-apollo",
"className" : "black-80pct"
},
"transposable_element" : {
"renderClassName" : "blue-ibeam-render annot-apollo",
"className" : "blue-ibeam"
Expand Down
Expand Up @@ -314,6 +314,8 @@ class AnnotatorController {
break
case "repeat_region": viewableTypes.add(RepeatRegion.class.canonicalName)
break
case "terminator": viewableTypes.add(Terminator.class.canonicalName)
break
case "transposable_element": viewableTypes.add(TransposableElement.class.canonicalName)
break
case "sequence_alteration": viewableTypes.add(SequenceAlteration.class.canonicalName)
Expand Down
9 changes: 9 additions & 0 deletions grails-app/domain/org/bbop/apollo/Terminator.groovy
@@ -0,0 +1,9 @@
package org.bbop.apollo

class Terminator extends BiologicalRegion{
static constraints = {
}
static String cvTerm = "Terminator"
static String ontologyId = "SO:0000141"
static String alternateCvTerm = "terminator"
}
Expand Up @@ -36,7 +36,7 @@ class ChadoHandlerService {
private static final String SEQUENCE_ONTOLOGY = "sequence"
private static final String RELATIONSHIP_ONTOLOGY = "relationship"
private static final String FEATURE_PROPERTY = "feature_property"
private static final def topLevelFeatureTypes = [Gene.cvTerm, Pseudogene.cvTerm, TransposableElement.cvTerm, RepeatRegion.cvTerm,
private static final def topLevelFeatureTypes = [Gene.cvTerm, Pseudogene.cvTerm, Terminator.cvTerm, TransposableElement.cvTerm, RepeatRegion.cvTerm,
InsertionArtifact.cvTerm, DeletionArtifact.cvTerm, SubstitutionArtifact.cvTerm]
private static final ontologyDb = ["SO", "GO", "RO"]
Map<String, org.gmod.chado.Organism> chadoOrganismsMap = new HashMap<String, org.gmod.chado.Organism>()
Expand Down
5 changes: 4 additions & 1 deletion grails-app/services/org/bbop/apollo/FeatureService.groovy
Expand Up @@ -36,7 +36,7 @@ class FeatureService {
public static final String MANUALLY_DISSOCIATE_TRANSCRIPT_FROM_GENE = "Manually dissociate transcript from gene"
public static final
def rnaFeatureTypes = [MRNA.cvTerm, MiRNA.cvTerm, NcRNA.cvTerm, RRNA.cvTerm, SnRNA.cvTerm, SnoRNA.cvTerm, TRNA.cvTerm, Transcript.cvTerm]
public static final def singletonFeatureTypes = [RepeatRegion.cvTerm, TransposableElement.cvTerm]
public static final def singletonFeatureTypes = [RepeatRegion.cvTerm, TransposableElement.cvTerm,Terminator.cvTerm]

@Timed
@Transactional
Expand Down Expand Up @@ -1527,6 +1527,7 @@ public void setTranslationEnd(Transcript transcript, int translationEnd) {
case Pseudogene.ontologyId: return new Pseudogene()
case Transcript.ontologyId: return new Transcript()
case TransposableElement.ontologyId: return new TransposableElement()
case Terminator.ontologyId: return new Terminator()
case RepeatRegion.ontologyId: return new RepeatRegion()
case InsertionArtifact.ontologyId: return new InsertionArtifact()
case DeletionArtifact.ontologyId: return new DeletionArtifact()
Expand Down Expand Up @@ -1570,6 +1571,8 @@ public void setTranslationEnd(Transcript transcript, int translationEnd) {
case Pseudogene.cvTerm.toUpperCase(): return Pseudogene.ontologyId
case TransposableElement.alternateCvTerm.toUpperCase():
case TransposableElement.cvTerm.toUpperCase(): return TransposableElement.ontologyId
case Terminator.alternateCvTerm.toUpperCase():
case Terminator.cvTerm.toUpperCase(): return Terminator.ontologyId
case RepeatRegion.alternateCvTerm.toUpperCase():
case RepeatRegion.cvTerm.toUpperCase(): return RepeatRegion.ontologyId
case InsertionArtifact.cvTerm.toUpperCase(): return InsertionArtifact.ontologyId
Expand Down
@@ -1,7 +1,6 @@
package org.bbop.apollo

import grails.transaction.Transactional
import org.bbop.apollo.gwt.shared.FeatureStringEnum

@Transactional
class FeatureTypeService {
Expand Down Expand Up @@ -29,6 +28,8 @@ class FeatureTypeService {
createFeatureTypeForFeature(NcRNA.class,NcRNA.cvTerm)
createFeatureTypeForFeature(RRNA.class,RRNA.cvTerm)
createFeatureTypeForFeature(RepeatRegion.class,RepeatRegion.cvTerm)
createFeatureTypeForFeature(Terminator.class,Terminator.alternateCvTerm)
createFeatureTypeForFeature(TransposableElement.class,TransposableElement.cvTerm)
return true
}
}
Expand Up @@ -46,6 +46,7 @@ class RequestHandlingService {

public static final List<String> viewableAnnotationFeatureList = [
RepeatRegion.class.name,
Terminator.class.name,
TransposableElement.class.name
]
public static final List<String> viewableAnnotationTranscriptParentList = [
Expand Down Expand Up @@ -2339,7 +2340,7 @@ class RequestHandlingService {
User user = permissionService.getCurrentUser(inputObject)
JSONObject featureContainer = createJSONFeatureContainer()

def singletonFeatureTypes = [RepeatRegion.cvTerm, TransposableElement.cvTerm]
def singletonFeatureTypes = [RepeatRegion.cvTerm, TransposableElement.cvTerm, Terminator.cvTerm]
def rnaFeatureTypes = [MRNA.cvTerm, MiRNA.cvTerm, NcRNA.cvTerm, RRNA.cvTerm, SnRNA.cvTerm, SnoRNA.cvTerm, TRNA.cvTerm, Transcript.cvTerm]

for (int i = 0; i < features.length(); i++) {
Expand Down
6 changes: 5 additions & 1 deletion src/gwt/org/bbop/apollo/gwt/client/AnnotatorPanel.java
Expand Up @@ -428,6 +428,7 @@ private void initializeTypes() {
typeList.addItem("Gene");
typeList.addItem("Pseudogene");
typeList.addItem("Transposable Element", "transposable_element");
typeList.addItem("Terminator", "terminator");
typeList.addItem("Repeat Region", "repeat_region");
typeList.addItem("Variant", "sequence_alteration");
}
Expand Down Expand Up @@ -481,6 +482,7 @@ private static void updateAnnotationInfo(AnnotationInfo annotationInfo) {
tabPanel.getTabWidget(3).getParent().setVisible(false);
tabPanel.getTabWidget(4).getParent().setVisible(false);
break;
case "terminator":
case "transposable_element":
case "repeat_region":
repeatRegionDetailPanel.updateData(annotationInfo);
Expand Down Expand Up @@ -606,6 +608,8 @@ public String getValue(AnnotationInfo annotationInfo) {

String type = annotationInfo.getType();
switch (type) {
case "terminator":
return "term elem";
case "repeat_region":
return "repeat rgn";
case "transposable_element":
Expand Down Expand Up @@ -764,7 +768,7 @@ public void displayTranscript(int geneIndex, String uniqueName) {
public void displayFeature(int featureIndex) {
AnnotationInfo annotationInfo = dataGrid.getVisibleItem(Math.abs(dataGrid.getVisibleRange().getStart() - featureIndex));
String type = annotationInfo.getType();
if (type.equals("transposable_element") || type.equals("repeat_region")) {
if (type.equals("transposable_element") || type.equals("repeat_region") || type.equals("terminator")) {
// do nothing
} else {
exonDetailPanel.updateData(annotationInfo);
Expand Down

0 comments on commit 9ad3e92

Please sign in to comment.