Skip to content

Commit

Permalink
Begin paired orientation grabber
Browse files Browse the repository at this point in the history
  • Loading branch information
cmdcolin committed Nov 6, 2018
1 parent 7e0a9e2 commit d381bc5
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/JBrowse/Store/SeqFeature/BAM.js
Expand Up @@ -23,6 +23,11 @@ class PairedBamRead {
return this.read1._get('name')
}
}
getPairOrientation() {
const s1 = this.read1._get('strand') === 1 ? 'F1' : 'R1';
const s2 = this.read2._get('strand') === 1 ? 'F2' : 'R2';
return s1 + s2;
}
pairedFeature() { return true }
children() {}
}
Expand Down Expand Up @@ -287,6 +292,7 @@ return declare( [ SeqFeatureStore, DeferredStatsMixin, DeferredFeaturesMixin, In
featCallback(feat)
}
}
console.log(Object.keys(this.featureCache).length)
Object.entries(this.featureCache).forEach(([k, v]) => {
if(v._get('end') - v._get('start') < 10000 && (v._get('end') > query.start && v._get('start') < query.end)) {
featCallback(v)
Expand Down
2 changes: 2 additions & 0 deletions src/JBrowse/Store/SeqFeature/CRAM.js
Expand Up @@ -66,6 +66,8 @@ class CramSlightlyLazyFeature {
parent() {}

children() {}

pairedFeature() { return false }
}

define( [
Expand Down
26 changes: 25 additions & 1 deletion src/JBrowse/View/Track/Alignments2.js
Expand Up @@ -139,7 +139,31 @@ return declare( [ CanvasFeatureTrack, AlignmentsMixin ], {
thisB.browser.publish('/jbrowse/v1/v/tracks/replace', [thisB.config]);
}
});

displayOptions.push({
label: 'Color by pair orientation',
type: 'dijit/RadioMenuItem',
group: 'g2',
onClick: function(event) {
thisB.config.viewAsPairs = true
thisB.config.style.color = feat => {
if(feat.pairedFeature()) {
const ret = feat.getPairOrientation()
if(ret == 'F1R2') {
return 'green'
} else if(ret == 'R1R2') {
return 'red'
} else if(ret == 'F1F2') {
return 'purple'
} else if(ret == 'R1F2') {
return 'orange'
}
}
return 'grey'
}
thisB.config.glyph = 'JBrowse/View/FeatureGlyph/PairedAlignment'
thisB.browser.publish('/jbrowse/v1/v/tracks/replace', [thisB.config]);
}
});
return all([ this.inherited(arguments), this._alignmentsFilterTrackMenuOptions(), displayOptions ])
.then( function( options ) {
var o = options.shift();
Expand Down

0 comments on commit d381bc5

Please sign in to comment.