Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 01:46
    jjrozewicki labeled #2562
  • 01:46
    jjrozewicki opened #2562
  • Dec 06 23:37
    codecov[bot] commented #2557
  • Dec 06 23:35
    codecov[bot] commented #2557
  • Dec 06 23:28
    codecov[bot] commented #2557
  • Dec 06 23:27
    peterkxie synchronize #2557
  • Dec 06 23:27

    peterkxie on stats_estimate_protected_statsCache

    Stats estimate mod Code-cosmetic refactorings Merge remote-tracking branch 'o… (compare)

  • Dec 06 23:25
    codecov[bot] commented #2557
  • Dec 06 23:24
    peterkxie synchronize #2557
  • Dec 06 23:24

    peterkxie on stats_estimate_protected_statsCache

    fix test and snapshot issues fo… (compare)

  • Dec 06 22:43
    codecov[bot] commented #2557
  • Dec 06 22:42
    peterkxie synchronize #2557
  • Dec 06 22:42

    peterkxie on stats_estimate_protected_statsCache

    Remove statsStatus Add currentFeatureScreenDensity… (compare)

  • Dec 04 01:13
    cmdcolin commented #80
  • Dec 04 01:09
    cmdcolin synchronize #80
  • Dec 04 01:09

    cmdcolin on add_tsc

    Back to dynamically created cla… (compare)

  • Dec 03 23:31
    codecov[bot] commented #2559
  • Dec 03 23:23
    cmdcolin commented #2559
  • Dec 03 23:18
    github-actions[bot] labeled #2559
  • Dec 03 23:18
    cmdcolin opened #2559
Shellfishgene
@Shellfishgene
Are csi indexes also supported for tabix (gff) files? I have a gff file that tabix won't do an tbi index for for some reason. When I use add-track with --indexFile=foo.gff.gz.csi it still tries to copy a (non existent) .tbi file.
Shellfishgene
@Shellfishgene
If I use inPlace and the csi index it works...
Colin Diesh
@cmdcolin
i think that add track works with indexFile and csi
$ jbrowse add-assembly test_data/volvox/volvox.fa --out t1 --load copy
Added assembly "volvox" to t1/config.json

$ jbrowse add-track test_data/volvox/volvox-sorted.bam --indexFile=test_data/volvox/volvox-sorted.bam.csi --out t1 --load copy
Added track "volvox-sorted" to t1/config.json

$ ls -1 t1
config.json
volvox.fa
volvox.fa.fai
volvox-sorted.bam
volvox-sorted.bam.csi
using jbrowse cli 1.5.1
Colin Diesh
@cmdcolin
some mega ucsc trackhubs/assembly hubs that could be cool to load
Shellfishgene
@Shellfishgene
Yes, it worked with my bam and cram files, but not with gff and csi.
Shellfishgene
@Shellfishgene
Colin Diesh
@cmdcolin
@Shellfishgene ah thanks much
this should get fixed
Colin Diesh
@cmdcolin
possible issue about estimating bytes downloaded, could be possibly a method for stats estimation GMOD/jbrowse-components#2251
Robert Buels
@rbuels
Oh that’s cool, you gonna go?
Colin Diesh
@cmdcolin
perhaps:)
it's free so why not
Robert Buels
@rbuels
Wonder if we can find some synergies between that working with crazy rearrangements
Colin Diesh
@cmdcolin
surely. even "non crazy"stuff benefits
bbimber
@bbimber
Hello - I'm hoping to get some advice. We're trying to make a plugin that filters variants in a VCF track based on whether specific samples are non-wild type. The logic is not hard (make sure the genotype of samples !== '"./." or "0/0"); however, has ~2500 samples. At least how we're doing this makes a very noticeable lag in loading. I experimented with pre-computing an array of the non-WT samples in the getFeatures() method of a custom VcfTabixAdapter; however, this code is called repeatedly whenever any rendering happens. Is there a place I could hook into the processing of VCF features that would let me efficiently pre-compute some information, and let that information persist? Alternately, is there another way I should think about approaching this problem?
Robert Buels
@rbuels
@bbimber I think a custom adapter is a good approach. What would probably help the performance of this a lot would be adding a cache of the features that your custom adapter is creating, so that the calls to getFeatures don't repeat the fetch/parse/filter steps
that cache would be in the custom adapter
bbimber
@bbimber
are there any existing examples of such a cache?
Robert Buels
@rbuels
i did some looking around just now, i don't see any good examples to template from
i can write an implementation sketch of it quickly, just a seec
bbimber
@bbimber
ok, thanks. is there anything particularly react or mobx-specific to this, vs. generic JS?
Robert Buels
@rbuels
no it's pretty generic js
38 replies
bbimber
@bbimber
@cmdcolin on #2554 you said something interesting I hope you could expand on here. you mention lazy parsing of genotypes. As noted above, we have a VCF with ~2400 samples. We previously never had code that did anything with samples until the details panel was opened. We are trying to implement code that lets the user filter sites based on specific samples having non-WT genotypes, and so we're starting to access genotype data much earlier and do this for all variants. What governs whether genotypes are parsed or not?
Colin Diesh
@cmdcolin
in the current code, the genotypes are always parsed and serialized to json, which is fairly slow
with #2554 , if you were accessing the genotypes for filtering, it would parse the genotypes but would not necessarily serialize to json
bbimber
@bbimber
ok
Colin Diesh
@cmdcolin
in some cases it could also (not implemented now, but if and when) only parse a specific genotype column perhaps
Colin Diesh
@cmdcolin
at some point might be interesting to make a bcf adapter too...
(binary vcf format)
bbimber
@bbimber
One more VCF question: in JBrowse 1 we could look up the VCF header, which is useful since it can translate from the INFO field keys into their labels. Can one do this in JB2? If so, is there by chance an example?
Garrett Stevens
@garrettjstevens
@bbimber if you have the adapter config, you can get the raw header string with our "CoreGetInfo" RPC call, example here: https://github.com/GMOD/jbrowse-components/blob/1d22d290b8974ad21f7ddf8787db10f631d05d8f/packages/core/ui/AboutDialog.tsx#L48-L51. A feature will also have the VCF header data stored in it that you can access, example for INFO here: https://github.com/GMOD/jbrowse-components/blob/00c4e05cca8d054ab3456423b43e1bbd0e24be8c/plugins/variants/src/StructuralVariantChordRenderer/ReactComponent.js#L32-L36
bbimber
@bbimber
Another possibly dumb question: when making a plugin/widget, the component is rendered as a modal. Can I call something to close that window? if the user clicks off the modal it closes, but I dont see how to close it with code
Colin Diesh
@cmdcolin
possibly something like getSession(widgetModel).hideWidget(widgetModel.id)
bbimber
@bbimber
hideWidget(model) works, rather than model.id
Scott Cain
@scottcain
@rbuels @hawrobin @cmdcolin : outreach call? I’m in google hangout
Robert Buels
@rbuels
yep coming
Robin Haw
@hawrobin
Sorry I have a clash today!
Scott Cain
@scottcain
@rbuels @cmdcolin are we really having an outreach call Monday at 9:00am? It’s in my calendar, but I am doubting it.
Robert Buels
@rbuels
Hmm no I don’t know how that got on there
I’ll delete it
Scott Cain
@scottcain
👍
Colin Diesh
@cmdcolin
spotted a jb2 svg export in the wild https://twitter.com/ilyavkirov/status/1467854553563512847
bbimber
@bbimber
Hey - i have a question on plugin config. We have a plugin that lets a user choose a custom coloring scheme. This include a custom renderer. By default, renders support the property 'color1', which can be JEXL to set feature color. Our custom renderer has another simple string property called 'palette'. If palette is non-null, we run code that takes that string, builds a JEXL expression, and then sets color1. This works fine if the user picks that interactively. However, I'd like to hook into somewhere such that if the initial rendererConfig JSON has 'palette', we execute code to set color1 right away. Is there a point where I can hook to add this kind of code?
4 replies