Janus provides a gateway to a cBioPortal instance. It is named for the Roman god of doorways and transitions.
Janus takes as its input pipeline data and metadata, as generated at the Ontario Institute for Cancer Research. Its core (and for now, only) function is to prepare a study directory for upload, as specified in the cBioPortal documentation.
This document provides a general introduction to Janus. Further documentation is in the doc subdirectory. Janus has a changelog in CHANGELOG.md.
Janus is primarily implemented in Python, with a few ancillary scripts in R and some third-party tools. Requirements:
awk
and grep
Janus has a setup.py
script and can be installed using pip:
pip install $JANUS_SOURCE_DIR
Alternatively, to install to a specific directory:
pip install --prefix $INSTALL_ROOT $JANUS_SOURCE_DIR
To run tests from the source directory, assuming all prerequisites are installed:
export PYTHONPATH=${JANUS_SOURCE_DIR}/src/lib:$PYTHONPATH
${JANUS_SOURCE_DIR}/src/test/test.py
Example study input appears in the study_input
subdirectory.
The main script is janus.py
, which is copied to the bin
subdirectory of the installation. Run janus.py --help
for usage information.
Study generation requires a master config file, and a number of subsidiary config files. Config file format is CSVY, documented in config_format.md.
Config file structure may be specified using a schema, documented in schema.md.
Example config files for various pipelines are in study_input
.
The config files may specify additional data and metadata files specific to a given analysis pipeline. Examples appear in the test data.
Human genome reference for the MUTATION_EXTENDED
pipeline is set as follows, in descending order of priority:
ref_fasta
parameter in the pipeline config file (if any)HG38_ROOT
environment variable, as set by the hg38
moduleHG19_ROOT
environment variable, as set by the hg19
moduleThe prototype version of Janus in release 0.0.1 required modification to be ready for production. Deprecated code retained from the prototype is referred to as "legacy".
Python modules in src/lib
:
constants
: Legacy constantsgenerate
: Code to generate study directories, ready for upload.generate/analysis_pipelines
: Generation code specific to analysis pipelines. Includes Python and R scripts from the legacy version.support
: Legacy support and utility functionsutilities
: Non-legacy support and utility functionsCHANGELOG.md
setup.py
Janus may later be extended to:
Janus prototype developed by OICR co-op students Kunal Chandan and Allan Liang.
Subsequent development by Iain Bancarz.
Copyright (C) 2019, 2020 by Genome Sequence Informatics, Ontario Institute for Cancer Research.
Licensed under the GPL 3.0 license.