This package provides convenient scripts for performing inference and learning regarding the lymphatic spread of head & neck cancer. Essentially, it provides a command line interface (CLI) to the lymph library and the lydata repository that stores lymphatic progression data.
We are making these "convenience" scripts public, because doing so is one necessary requirement to making our research easily and fully reproducible. There exists another repository, lynference, where we stored the pipelines that produced our published results in a persistent way.
These scripts can be installed via pip
:
pip install lyscripts
or installed from source by cloning this repo
git clone https://github.com/lycosystem/lyscripts.git
cd lyscripts
pip install .
This package is intended to be mainly used as a collection of Python scripts that would be scattered throughout my projects, if I didn't bundle them here. Hence, they're mostly command line tools that do basic and repetitive stuff.
Simply run
lyscripts --help
in your terminal and let the output guide you through the functions of the program.
You can also refer to the documentation for a written-down version of all these help texts and even more context on how and why to use the provided commands.
Head over to the documentation for more information on the individual modules, classes, and functions that are implemented in this package.
Most of the CLI commands allow passing a list of --configs
in the form of YAML files. If for a particular CLI argument no value is passed directly, the program looks for the corresponding value in the merged YAML files (if multiple files are provided, later ones may overwrite earlier ones).
For these YAML files we provide a unified schema containing all possible fields that any of the CLIs may accept. It is located at schemas/ly.json
in this repository. So, one could configure e.g. VS Code to consider this schema for all *.ly.yaml
files. Here is how that could look like in the JSON settings of VS Code:
{
"yaml.schemas": {
"https://raw.githubusercontent.com/lycosystem/lyscripts/main/schemas/ly.json": "*.ly.yaml"
}
}
Subsequently, all files ending in .ly.yaml
will have helpful autocompletion on the allowed/expected types available.