-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Give UUID to artifact interval #993
Conversation
I agree that the use of
So, I think it's worth removing If we just need to fix this case, I would add LFP electrode group to the concatenated string. If we can solve the general case mentioned in the issue, I'd like to apply that solve to all cases. I'm happy with using uuids as interval list name, but I recall @edeno advocating for a human-readable name |
I'm okay with non-human readable as long as it is clear what a particular interval is attached to. We also need to be consistent with these things. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eric and I discussed this our meeting - we'd ask that this case be resolved by adding to the interval_list_name
concatenation. We can discuss solving the general case during my next site visit
@CBroz1 what do you mean by 'adding to the interval_list_name concatenation'? what do we add? |
You mentioned that LFP electrode group was not included in the name, despite being a differentiating factor in the analysis. That's the additional component I had in mind |
I see. But that is actually not enough to uniquely define a row (I was just using |
…ab#996) * Add docstrings * update changelog * fix spelling --------- Co-authored-by: Samuel Bray <samuelbray@som-dfvnn9m-lt.ucsfmedicalcenter.org>
* Add Common Errors * Update changelog
* documented some of mua notebook * mua notebook documented * documented some of mua notebook * synced py script
* compile exported files, download dandiset, and organize * add function to translate files into dandi-compatible names * add table to store dandi name translation and steps to populate * add dandiset validation * add function to fetch nwb from dandi * add function to change obj_id of nwb_file * add dandi upload call and fix circular import * debug dandi file streaming * fix circular import * resolve dandi-streamed files with fetch_nwb * implement review comments * add admin tools to fix common dandi discrepencies * implement tool to cleanup common dandi errors * add dandi export to tutorial * fix linting * update changelog * fix spelling * style changes from review * reorganize function locations * fix circular import * make dandi dependency optional in imports * store dandi instance of data in DandiPath * resolve case of pre-existing dandi entries for export * cleanup bugs from refactor * update notebook * Apply suggestions from code review Co-authored-by: Chris Broz <Chris.Broz@ucsf.edu> * add requested changes from review * make method check_admin_privilege in LabMember --------- Co-authored-by: Chris Broz <Chris.Broz@ucsf.edu>
* give analysis nwb new uuid when created * fix function argument * update changelog
If it is within the limit of the number of characters that mysql 8 allows, then yes, that would be consistent with what we have been doing before. I do think a uuid would work here, but I feel like we should as a group discuss doing this as a general pattern. I am mostly concerned about our ability to trace where it came from. |
@edeno I don't know if we will be able to constrain the total number of characters to the mysql limit because the string is made of many parts, each of which can be long. So I think that in this particular case UUIDs can work. I agree with you that it would be good to standardize this. To make it easy to look up where this came from, what if I add Whatever we decide on I'd prefer if this were fixed sooner rather than later because it is holding up some analysis. |
That seems okay to me. Thoughts on this @CBroz1 ? |
Do you mean the
I'm in favor of the former |
* fix bug in change in analysis_file_object_id * update changelog
* LorenFrankLab#976 * Remove notebook reference
@CBroz1 Sorry I'm just returning to this PR. So should I use UUID and populate the |
Please use |
* initial non daemon parallel commit * resolve namespace and pickling errors * fix linting * update changelog * implement review comments * add parallel_make flag to spikesorting recording tables * fix multiprocessing spawn error on mac * move propert --------- Co-authored-by: Samuel Bray <samuelbray@som-dfvnn9m-lt.ucsf.edu>
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
@CBroz1 I have changed the value of the |
Description
Currently the results of artifact detection in LFP V1 pipeline is saved in both
spyglass.lfp.v1.LFPArtifactDetection
table andspyglass.common.IntervalList
table. Theinterval_list_name
field for the entry in the latter is obtained by concatenatingnwb_file_name
,interval_list_name
of the original interval, the stringLFP
, andartifact_params_name
. But this is not unique; e.g. if artifact detection is applied to different LFP electrode groups from the same NWB file and over the same interval, they would all receive the sameinterval_list_name
. This PR proposes replacing it with just a UUID.In addition, the insertion of the rows into
LFPArtifactRemovedIntervalList
andIntervalList
is done with the flagreplace=True
. This is unnecessary and potentially dangerous as it requires deleting and repopulating. I changed this toskip_duplicates=True
.path/file.py
: Description of the changepath/file.py
: Description of the changepath/file.py
: Description of the changepath/file.py
: Description of the changeChecklist:
CITATION.cff
alter
snippet for release notes.CHANGELOG.md
with PR number and description.