Singularity changeo clonotype calling
Dandelion has a pair of functions, ddl.pp.calculate_threshold()
and ddl.tl.define_clones()
, that come together to run the changeo clonotype calling pipeline. However, this can be quite fiddly to properly set up - one part of the process is in R, so it requires an operational rpy2 and appropriate dependencies. Meanwhile the other is a command line script which can be difficult to recognise properly within some virtual
environments. In summary, creating a simple singularity pipeline to circumvent the need for annoying setup creates a user-friendly way to access this functionality.
Once in possession of a .h5ddl
file, a saved form of the Dandelion object, the changeo clonotype calling can be ran like so:
singularity run -B $PWD /path/to/sc-dandelion_latest.sif changeo-clonotypes \
--h5ddl vdj.h5ddl
By default, this will save the changeo clones into a new column called changeo_clone_id
in the output .h5ddl
file. All Dandelion functions that operate on clone calls can be directed to this column by providing clone_id="changeo_clone_id"
as an argument. If wishing to save the clones to a different column, provide its desired name via --key_added
.
If wishing to override the threshold determined by SHazaM, provide it via --manual_threshold
.
The SHazaM plot and Dandelion object with changeo clones identified are saved to files named after the original input file (with _shazam.pdf
and _changeo.h5ddl
appended respectively). These destinations can be controlled via --plot_file
and --h5ddl_out
.