Skip to main content

Trailblazer Coverage Status

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).

pip install trailblazer

If you would like to install the latest development version:

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.

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.

# 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
{'created_at': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'google_id': 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).

# 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.

# list all users
trailblazer users
Listing users in database:
{'created_at': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'google_id': 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:
{'created_at': datetime.datetime(2017, 6, 22, 8, 49, 44, 685977), 'google_id': 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.

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:

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.

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.

trailblazer delete 4

Metadata

Release files for trailblazer 21.12.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trailblazer 21.12.1
File Size Uploaded
trailblazer-21.12.1.tar.gz 69.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trailblazer 21.12.1
File Interpreter ABI Platform
trailblazer-21.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 140.4 kB

Release files / trailblazer-21.12.1.tar.gz

Download URL trailblazer-21.12.1.tar.gz
Size 69.9 kB
Tags Source
SHA-256 checksum
How to use checksums
03b3ce5b878932f988ccbcda7b9aa155ff3c80b557a0458d6f988edea35f69dc
BLAKE2b-256 checksum
How to use checksums
d51adca3af481b3504d08ba5bde11d513d30551de8490de0b3aaadc4de4d843a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure

Release files / trailblazer-21.12.1-py3-none-any.whl

Download URL trailblazer-21.12.1-py3-none-any.whl
Size 70.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cebaf19f0b1d247553bc0b2fca07bf333212aa008582df182c943d3116575d51
BLAKE2b-256 checksum
How to use checksums
fc7de271857e5e3e6d56bd08f34d8a067fa735f6bed0d3594facd1c39c952c04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure

Release history Release notifications | RSS feed

This release

21.12.1 This release

2 release files

21.6.4

2 release files

21.6.0

2 release files

21.5.3

2 release files

21.4.4

2 release files

21.4.3

2 release files

21.4.2

2 release files

21.4.1

2 release files

21.4.0

2 release files

21.3.3

2 release files

21.3.2

2 release files

21.3.1

2 release files

21.3.0

2 release files

21.2.3

2 release files

21.2.2

2 release files

21.2.1

2 release files

21.2.0

2 release files

21.1.0

2 release files

21.0.4

2 release files

21.0.3

2 release files

21.0.2

2 release files

21.0.1

2 release files

21.0.0

2 release files

20.4.8

2 release files

20.3.2

2 release files

20.3.1

2 release files

20.3.0

2 release files

20.2.7

2 release files

20.2.6

2 release files

20.2.5

2 release files

20.2.4

2 release files

20.2.3

2 release files

20.2.2

2 release files

20.2.1

2 release files

20.2.0

2 release files

20.1.3

2 release files

20.1.2

2 release files

20.1.1

2 release files

20.1.0

2 release files

20.0.3

2 release files

20.0.2

2 release files

20.0.1

2 release files

20.0.0

2 release files

19.1.9

2 release files

19.1.8

2 release files

19.1.7

2 release files

19.1.6

2 release files

19.1.0

2 release files

19.0.9

2 release files

19.0.8

2 release files

19.0.7

2 release files

19.0.6

2 release files

19.0.5

2 release files

19.0.4

2 release files

19.0.3

2 release files

18.0.8

2 release files

18.0.7

2 release files

18.0.6

2 release files

18.0.5

2 release files

18.0.4

2 release files

18.0.3

2 release files

18.0.2

2 release files

17.0.7

2 release files

17.0.6

2 release files

17.0.5

2 release files

17.0.4

2 release files

17.0.3

2 release files

17.0.2

2 release files

17.0.1

2 release files

17.0.0

2 release files

16.0.5

2 release files

16.0.4

2 release files

16.0.3

2 release files

16.0.2

2 release files

16.0.1

2 release files

16.0.0

2 release files

15.2.1

2 release files

15.2.0

2 release files

15.0.7

2 release files

15.0.6

2 release files

15.0.5

2 release files

15.0.4

2 release files

15.0.3

2 release files

15.0.2

2 release files

15.0.1

2 release files

15.0.0

2 release files

14.1.0

2 release files

14.0.0

2 release files

13.1.0

2 release files

13.0.2

2 release files

13.0.1

2 release files

13.0.0

2 release files

12.0.4

2 release files

12.0.3

2 release files

12.0.2

2 release files

12.0.1

2 release files

12.0.0

2 release files

11.0.5

2 release files

11.0.3

2 release files

11.0.2

2 release files

11.0.1

2 release files

11.0.0

2 release files

10.8.1

2 release files

10.8.0

2 release files

10.7.0

2 release files

10.6.2

2 release files

10.6.1

2 release files

10.4.0

2 release files

10.3.7

2 release files

10.3.6

2 release files

10.3.5

2 release files

10.3.4

2 release files

10.3.3

2 release files

10.3.2

2 release files

10.3.1

2 release files

10.3.0

2 release files

10.1.2

2 release files

10.1.1

2 release files

10.1.0

2 release files

10.0.0

2 release files

9.2.2

2 release files

9.2.1

2 release files

9.2.0

2 release files

9.1.2

2 release files

9.1.1

2 release files

9.1.0

2 release files

9.0.2

2 release files

9.0.1

2 release files

9.0.0

2 release files

8.1.2

2 release files

8.1.1

2 release files

8.1.0

2 release files

8.0.0

2 release files

7.0.0

2 release files

6.8.6

2 release files

6.8.5

2 release files

6.8.4

1 release file

6.8.3

1 release file

6.8.2

1 release file

6.8.1

1 release file

6.8.0

1 release file

6.1.0

1 release file

6.0.3

1 release file

6.0.0

1 release file

5.0.0

1 release file

4.3.3

1 release file

4.3.2

1 release file

4.3.1

1 release file

4.3.0

1 release file

4.2.0

1 release file

4.1.0

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.2.4

1 release file

3.2.3

1 release file

3.2.2

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.7

1 release file

3.1.6

1 release file

3.1.5

1 release file

3.1.4

1 release file

3.1.2

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.0

1 release file

2.2.1

1 release file

2.2.0

1 release file

2.1.2

1 release file

2.1.1

1 release file

2.0.0

2 release files

1.4.0

1 release file

1.1.1

1 release file

1.0.0

1 release file

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page