https://github.com/alleninstitute/npc_lims
Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 4 committers (50.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (17.1%) to scientific vocabulary
Keywords from Contributors
Repository
Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.
Basic Info
- Host: GitHub
- Owner: AllenInstitute
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://alleninstitute.github.io/npc_lims/
- Size: 1.74 MB
Statistics
- Stars: 0
- Watchers: 8
- Forks: 1
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
npc_lims
neuropixels cloud lab information management system Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.
quickstart
- make a new Python >=3.9 virtual environment with conda or venv (lighter option, since this package does not require pandas, numpy etc.):
bash python -m venv .venv - activate the virtual environment:
- Windows
cmd .venv\scripts\activate - Unix
bash source .venv/bin/activate.sh
- Windows
- install the package:
bash python -m pip install npc_lims - setup credentials
- required environment variables:
- AWS S3
AWS_DEFAULT_REGIONAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY- to find and read files on S3
- must have read access on relevant aind buckets
- can be in a standard
~/.awslocation, as used by AWS CLI or boto3
- CodeOcean API
CODE_OCEAN_API_TOKENCODE_OCEAN_DOMAIN- to find processed data in "data assets" via the Codeocean API
- generated in CodeOcean:
- right click on
Account(bottom left, person icon) - click
User Secrets- these are secrets than can be made available as environment variables in CodeOcean capsules - go to
Access Tokensand clickGenerate new token- this is for programatically querying CodeOcean's databases- in
Token NameenterCodeocean API (read)and checkreadon capsules and datasets - a token will be generated: click copy (storing it in a password manager, if you use one)
- in
- head back to
User Secretswhere we'll paste it into a new secret viaAdd secret > API credentials- indescriptionenterCodeocean API (read)- inAPI keyenterCODE_OCEAN_API_KEY- inAPI secretpaste the copied secret from before (should start withcop_...)CODE_OCEAN_DOMAINis the codeocean https address, up to and including.org
- environment variables can also be specified in a file named
.envin the current working directory - example: https://www.dotenv.org/docs/security/env.html
- be very careful that this file does not get pushed to public locations, e.g. github
- if using git, add it to a
.gitignorefile in your project's root directory:gitignore .env*
- if using git, add it to a
- now in Python we can find sessions that are available to work with:
```python >>> import npc_lims;
# get a sequence of SessionInfo dataclass instances, one per session:
>>> trackedsessions: tuple[npclims.SessionInfo, ...] = npclims.getsession_info()
# each SessionInfo instance has minimal metadata about its session:
>>> trackedsessions[0] # doctest: +SKIP
npclims.SessionInfo(id='6267912022-08-15', subject=626791, date='2022-08-15', idx=0, project='DRPilotSession', isephys=True, issync=True, allenpath=PosixUPath('//allen/programs/mindscope/workgroups/dynamicrouting/PilotEphys/Task 2 pilot/DRpilot62679120220815'))
>>> trackedsessions[0].isephys # doctest: +SKIP
False
# currently, we're only tracking behavior and ephys sessions that use variants of https://github.com/samgale/DynamicRoutingTask/blob/main/TaskControl.py: >>> all(s.date.year >= 2022 for s in tracked_sessions) True
```
- "tracked sessions" are discovered via 3 routes:
- https://github.com/AllenInstitute/npclims/blob/main/trackedsessions.yaml
\\allen\programs\mindscope\workgroups\dynamicrouting\DynamicRoutingTask\DynamicRoutingTraining.xlsx\\allen\programs\mindscope\workgroups\dynamicrouting\DynamicRoutingTask\DynamicRoutingTrainingNSB.xlsx
Owner
- Name: Allen Institute
- Login: AllenInstitute
- Kind: organization
- Location: Seattle, WA
- Website: https://alleninstitute.org
- Repositories: 184
- Profile: https://github.com/AllenInstitute
Please visit http://alleninstitute.github.io/ for more information.
GitHub Events
Total
- Issues event: 5
- Issue comment event: 3
- Push event: 51
- Pull request event: 1
- Pull request review event: 1
- Fork event: 1
- Create event: 10
Last Year
- Issues event: 5
- Issue comment event: 3
- Push event: 51
- Pull request event: 1
- Pull request review event: 1
- Fork event: 1
- Create event: 10
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| bjhardcastle | b****e@a****g | 603 |
| github-actions | 4****] | 181 |
| arjun.sridhar12345 | a****8@g****m | 99 |
| egmcbride | e****e@a****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 17
- Total pull requests: 3
- Average time to close issues: 2 months
- Average time to close pull requests: about 2 months
- Total issue authors: 3
- Total pull request authors: 2
- Average comments per issue: 0.88
- Average comments per pull request: 0.33
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- bjhardcastle (11)
- arjunsridhar12345 (3)
- mochic (1)
Pull Request Authors
- mochic (2)
- arjunsridhar12345 (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 3,516 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 183
- Total maintainers: 1
pypi.org: npc_lims
Tools to fetch and update paths, metadata and state for Mindscope Neuropixels sessions, in the cloud.
- Documentation: https://npc_lims.readthedocs.io/
- License: MIT
-
Latest release: 0.1.190
published over 1 year ago
Rankings
Maintainers (1)
Dependencies
- EndBug/add-and-commit v9 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- codecov/codecov-action v3 composite
- pdm-project/setup-pdm v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- aind-codeocean-api >=0.2.4
- npc_session >=0.1.0
- pydbhub-bjh >=0.0.8
- python-dotenv >=1.0.0
- pyyaml >=6.0.1
- redis >=4.1.4
- s3fs >=2023.6.0
- types-PyYAML >=6.0.12.11
- types-redis >=4.6.0.3
- typing-extensions >=4.7.1
- universal-pathlib >=0.1.1