vib-singlecell-nf / scenic

A repository for the scenic module of the vib-singlecell-nf pipeline
0 stars 0 forks source link

Use a fixed seed for all SCENIC steps #13

Closed cflerin closed 4 years ago

cflerin commented 4 years ago

pySCENIC processes that need to have a seed parameter added:

These require edits to the pySCENIC codebase before being implemented here. Related to https://github.com/vib-singlecell-nf/vsn-pipelines/issues/43

cflerin commented 4 years ago

For the pyscenic ctx step, the results are already deterministic, but when csv is used as an export format (as is the case here), the context column is sorted differently based on which module type was calculated first. For instance:

frozenset({'activating', 'top50', 'genome-ranking'})

vs:

frozenset({'genome-ranking', 'top50', 'activating'})

If the regulons are exported in gmt format, the file hashes will match exactly.

cflerin commented 4 years ago

For pyscenic aucell, https://github.com/aertslab/pySCENIC/pull/143 adds the ability to use a fixed seed in both AUCell and the regulon threshold calculation step. This produces loom files that are identical except for last_modified attribute.