https://github.com/clinical-genomics/trailblazer
Keep track of and manage analyses
Science Score: 26.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
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.9%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Keep track of and manage analyses
Basic Info
Statistics
- Stars: 6
- Watchers: 7
- Forks: 2
- Open Issues: 7
- Releases: 0
Topics
Metadata Files
README.md
Trailblazer 
Monitor the progress of analysis workflows submitted to SLURM
Trailblazer is a tool that aims to provide: - Monitoring of processes that require submission to a workflow manager - Display metadata for each analysis within a web based user interface
Here you can find a simple web UI for Trailblazer that helps you keep track of the status of multiple runs
Installation
Trailblazer is written in Python 3.11 and is available on the Python Package Index (PyPI).
bash
pip install trailblazer
If you would like to install the latest development version:
bash
git clone https://github.com/Clinical-Genomics/trailblazer
cd trailblazer
pip install --editable .
With each push to GitHub your files will be automatically verified using Black . If you would like to automatically Black format your commits on your local machine:
pre-commit install
Contributing
Trailblazer uses the GitHub flow branching model as described in Atlas GitHub Flow.
Documentation
Here's a brief documentation. Trailblazer functionality can be accessed from the command line interface (CLI), the monitoring web interface, the supporting REST API, as well as using the Python API.
Command line interface
Command: trailblazer init
Setup (or reset) a Trailblazer database. The command will set up all the tables in the database. You can reset an existing database by using the --reset option.
shell
trailblazer --database "sqlite:///tb.sqlite3" init --reset
Delete existing tables? [analysis, info, job, user] [y/N]: y
Success! New tables: analysis, info, job, user
Command: trailblazer user
This command can be used both to add a new user to the database (and give them access to the web interface) and view information about an existing user.
```shell
add a new user
trailblazer user --name "Paul Anderson" paul.anderson@magnolia.com New user added: paul.anderson@magnolia.com (2)
check an existing user
trailblazer user paul.anderson@magnolia.com {'createdat': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'googleid': None, 'name': 'Paul Anderson', 'email': 'paul.anderson@magnolia.com', 'avatar': None, 'id': 2} ```
Command: trailblazer archive-user
This command archives a user in the database (and removes their access to the web interface).
```shell
archive a user
trailblazer archive-user paul.anderson@magnolia.com User archived: paul.anderson@magnolia.com ```
Command: trailblazer users
This command can be used both to list all users in the database and get a filtered list of users.
```shell
list all users
trailblazer users Listing users in database: {'createdat': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'googleid': None, 'name': 'Paul Anderson', 'email': 'paul.anderson@magnolia.com', 'avatar': None, 'id': 2}
list all users named 'Anderson' that has an email with 'magnolia' in it
trailblazer users --name Anderson --email magnolia Listing users in database: {'createdat': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'googleid': None, 'name': 'Paul Anderson', 'email': 'paul.anderson@magnolia.com', 'avatar': None, 'id': 2} ```
Command: trailblazer log
Logs the status of a run to the supporting database. You need to point to the analysis config of a specific run.
shell
trailblazer log path/to/case/analysis/case_config.yaml
You can point to the same analysis multiple times, Trailblazer will detect if the same analysis has been added before and skip it if no information has been updated. If an analysis has been added previously as "running" or "pending", those entries will automatically be removed as soon as the same analysis is logged as either "completed" or "failed".
Command: trailblazer scan
Convenience command to scan an entire directory structure for all analyses and update their status in one go. Assumes the base directory consists of individual case folders:
shell
trailblazer scan /path/to/analyses/dir/
This command can easily be setup in a crontab to run e.g. every hour and keep the analysis statuses up-to-date!
Command: trailblazer ls
Prints the case id for the most recently completed analyses to the console.
shell
trailblazer ls
F0013487
F0013362
F0006106
17083
F0013469
17085
Command: trailblazer delete
Deletes an analysis log from the database. The input is the unique analysis id which is printed ones the analysis is initially logged. It's also displayed in the web interface.
shell
trailblazer delete 4
Owner
- Name: Clinical Genomics
- Login: Clinical-Genomics
- Kind: organization
- Location: Stockholm, Sweden
- Website: https://clinical-genomics.github.io
- Repositories: 67
- Profile: https://github.com/Clinical-Genomics
GitHub Events
Total
- Create event: 23
- Release event: 9
- Issues event: 11
- Delete event: 10
- Issue comment event: 79
- Push event: 53
- Pull request review comment event: 15
- Pull request review event: 25
- Pull request event: 24
Last Year
- Create event: 23
- Release event: 9
- Issues event: 11
- Delete event: 10
- Issue comment event: 79
- Push event: 53
- Pull request review comment event: 15
- Pull request review event: 25
- Pull request event: 24
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Robin Andeer | r****r@g****m | 305 |
| Clinical Genomics Bot | c****m@g****m | 248 |
| Henrik Stranneheim | h****m@s****e | 134 |
| Sebastian Allard | s****s@g****m | 103 |
| Patrik Grenfeldt | p****t@s****e | 77 |
| Maria Ropat | 3****t | 37 |
| Kenny Billiau | k****u@s****e | 30 |
| Eva C | 2****c | 14 |
| Isak Ohlsson Ångnell | 4****n | 13 |
| dependabot[bot] | 4****] | 8 |
| jemten | j****n | 7 |
| Emma Sernstad | e****d@s****e | 7 |
| Vincent Janvid | 6****v | 6 |
| ChristianOertlin | c****n@g****m | 5 |
| Barry Stokman | 2****n | 4 |
| Eleonora | e****o@g****m | 3 |
| Sebastian Diaz | j****a@s****e | 3 |
| Gustav Lagneborg | 1****b | 2 |
| Github CI | m****t@s****e | 2 |
| Anders Lind | 6****y | 1 |
| Daniel Nilsson | d****n@g****m | 1 |
| Gustav Lagneborg | 1****g | 1 |
| Måns Magnusson | m****n@s****e | 1 |
| Rasmus Burge | 8****G | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 95
- Total pull requests: 321
- Average time to close issues: 6 months
- Average time to close pull requests: 8 days
- Total issue authors: 26
- Total pull request authors: 16
- Average comments per issue: 1.78
- Average comments per pull request: 2.49
- Merged pull requests: 271
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 8
- Pull requests: 33
- Average time to close issues: 26 days
- Average time to close pull requests: 7 days
- Issue authors: 5
- Pull request authors: 6
- Average comments per issue: 2.75
- Average comments per pull request: 1.7
- Merged pull requests: 22
- Bot issues: 0
- Bot pull requests: 3
Top Authors
Issue Authors
- seallard (26)
- fevac (9)
- henrikstranneheim (8)
- emmser (8)
- elevu (6)
- ChrOertlin (5)
- diitaz93 (4)
- Vince-janv (3)
- barrystokman (3)
- hassanfa (2)
- keyvanelhami (2)
- emiliaol (2)
- karlnyr (2)
- mathiasbio (2)
- moonso (2)
Pull Request Authors
- seallard (197)
- henrikstranneheim (121)
- Mropat (26)
- islean (25)
- ChrOertlin (15)
- fevac (14)
- Vince-janv (8)
- patrikgrenfeldt (5)
- dependabot[bot] (5)
- diitaz93 (4)
- gustavlagneborg (3)
- RasmusBurge-CG (2)
- elevu (2)
- moonso (1)
- pbiology (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 1,394 last-month
- Total dependent packages: 1
- Total dependent repositories: 1
- Total versions: 312
- Total maintainers: 4
pypi.org: trailblazer
Keep track of and manage analyses
- Documentation: https://trailblazer.readthedocs.io/
- License: MIT
-
Latest release: 21.10.4
published about 1 year ago
Rankings
Maintainers (4)
Dependencies
- docutils * development
- pytest >=5.2 development
- Alchy *
- Click <7
- Flask >=1.1.1
- Flask-Alchy *
- Flask-CORS *
- Flask-Reverse-Proxy *
- Flask-SQLAlchemy ==2.1
- SQLAlchemy <1.4
- coloredlogs *
- cryptography *
- google-auth *
- gunicorn *
- marshmallow *
- pandas *
- pymysql *
- python-dateutil *
- requests *
- ruamel.yaml *
- tabulate *
- actions/checkout v2.5.0 composite
- actions/setup-python v4.3.1 composite
- psf/black stable composite
- actions/checkout v2.5.0 composite
- docker/build-push-action v3.2.0 composite
- docker/login-action v2.1.0 composite
- docker/setup-buildx-action v2.2.1 composite
- actions/checkout v2.5.0 composite
- docker/build-push-action v3.2.0 composite
- docker/login-action v2.1.0 composite
- docker/setup-buildx-action v2.2.1 composite
- Clinical-Genomics/bump2version-ci v3 composite
- actions/checkout v2.5.0 composite
- actions/setup-python v4.3.1 composite
- pypa/gh-action-pypi-publish master composite
- actions/checkout v2.5.0 composite
- actions/setup-python v4.3.1 composite
- python 3.6-slim build
- actions/checkout v3 composite
- actions/setup-python v4 composite