Open jakobtroidl opened 8 months ago
Thanks for the report, Jakob!
I hadn't looked at this dataset in a while but it seems the datastacks were updated: for the cortex65
it used to be just minnie65_public_v117
but there are now multiple versions, with minnie65_public_v661
being the latest.
>>> import navis.interfaces.microns as mi
>>> client = mi.get_cave_client(datastack='cortex65')
>>> sorted(client.info.get_datastacks())
['fanc_production_mar2021',
'fanc_sandbox',
'flywire_fafb_production',
'flywire_fafb_public',
'flywire_fafb_sandbox',
'minnie35_public_v0',
'minnie65_public',
'minnie65_public_v117',
'minnie65_public_v343',
'minnie65_public_v661',
'minnie65_sandbox',
'mrgd',
'pinky_sandbox']
I will have to rework the functions to always use the latest but in the meantime, here is a workaround:
>>> import navis.interfaces.microns as mi
>>> client = mi.get_cave_client(datastack='minnie65_public_v661')
>>> client.materialize.get_tables()
['baylor_gnn_cell_type_fine_model_v2',
'nucleus_alternative_points',
'connectivity_groups_v507',
'proofreading_status_public_release',
'allen_column_mtypes_v1',
'allen_v1_column_types_slanted_ref',
'aibs_column_nonneuronal_ref',
'nucleus_ref_neuron_svm',
'aibs_soma_nuc_exc_mtype_preds_v117',
'baylor_log_reg_cell_type_coarse_v1',
'apl_functional_coreg_forward_v5',
'nucleus_detection_v0',
'aibs_soma_nuc_metamodel_preds_v117']
Hi @schlegelp , a related question: I was not able to fetch a neuron from v661
`rid = 864691135162983725
n = mi.fetch_neurons( rid, with_synapses=True, datastack='minnie65_public_v661' ) n`
the message I got:
864691135162983725 generated an exception: GrapheneUnshardedMeshSource.get() got an unexpected keyword argument 'progress'
@wanqingy what version of cloudvolume are you on?
11.0.1
Hi @wanqingy. Your example works for me with navis
1.9.0
and cloud-volume
11.0.1
or 11.0.2
. What version of navis
are you on?
I should add though that it's currently failing if with_synapses=True
but with a different error and that seems to be on the CAVE end.
@bdpedigo: for that datastack, client.materialize.synapse_table
is pointing to "synapses_pni_2"
which doesn't seem to exist for me. Consequently, client.materialize.synapse_query()
is failing. Is that a configuration issue?
@schlegelp hi! Upgrading from navia 1.7.0 -> 1.9.0
solved the issue if with_synapses=False
@bdpedigo added an option to set materialization version in CAVEclient
, so I normally just use
version = 661
datastack = 'minnie65_public'
client = CAVEclient(datastack,version=version)
my understanding is that the 'minnie65_public_v661' syntax is no longer preferred; if I remember correctly, it is hitting a completely different version of the server but @fcollman correct me if I'm wrong. regardless I think providing a passthrough for setting a version of the client like Wan-Qing showed would be more sustainable going forward, and would let people specify arbitrary datastack versions (although, for just getting the mesh from a root ID, this shouldn't matter, but for getting synapses it will).
OK, I see. So minnie65_public
is the preferred datastack and on top of that, the root ID you're querying is not current?
Our package for the FlyWire dataset - fafbseg
- has a bunch of utility functions and guardrails to e.g. match root IDs to materializations. We don't provide the same functionality in the built-in microns interface at the moment but minimally we can provide the option to specify a materialization version and possibly some clever way to find a matching version by default.
I just made a new release. If you update navis
to 1.9.1
this should just work:
>>> import navis.interfaces.microns as mi
>>> n = mi.fetch_neurons(864691135162983725, with_synapses=True, datastack='cortex65', materialization="auto")
>>> n[0].connectors.head()
id x y z type size
0 299725236 1036344 786632 774680 pre 8704
1 332436677 1114904 828216 998200 pre 9088
2 197429586 799496 855720 1013280 pre 4288
3 292971356 1023800 805720 758760 pre 3952
4 330339468 1123520 804848 864360 pre 4612
datastack='cortex65'
now correctly points to minnie65_public
mi.fetch_neurons()
now also accepts a materialization
parameter that lets you specify a version. It defaults to "auto" in which case it just tries to find the latest materialization in which your root ID(s) exist.@schlegelp Thank you!
Description I think caveclient version > 5.15.2 introduces a bug in the microns interface tutorial.
To Reproduce
Traceback for
cavclient==5.17.2
isExpected output
Your system