Hi everyone,
I'm running into an issue when trying to run voila modulize on heterogen results from MAJIQ v3.
If I combine all my WT replicates and all my KO replicates into
combined psicov files and then run
majiq heterogen,
voila modulize runs without any errors.
example of the working script
majiq-v3 sj star_2pass.KO1.Aligned.sortedByCoord.out.bam KO1.sj --prefix KO1 -- --overwrite
majiq-v3 sj star_2pass.KO2.Aligned.sortedByCoord.out.bam KO2.sj --prefix KO2 -- --overwrite
majiq-v3 sj star_2pass.KO3.Aligned.sortedByCoord.out.bam KO3.sj --prefix KO3 -- --overwrite
majiq-v3 sj star_2pass.WT1.Aligned.sortedByCoord.out.bam WT1.sj --prefix WT1 -- --overwrite
majiq-v3 sj star_2pass.WT2.Aligned.sortedByCoord.out.bam WT2.sj --prefix WT2 -- --overwrite
majiq-v3 sj star_2pass.WT3.Aligned.sortedByCoord.out.bam WT3.sj --prefix WT3 -- --overwrite
majiq-v3 psi-coverage sg.zarr WT.psicov WT1.sj WT2.sj WT3.sj --overwrite
majiq-v3 quantify WT.psicov --min-experiments 0.01 --splicegraph sg.zarr --output-tsv WT.tsv --overwrite
majiq-v3 psi-coverage sg.zarr KO.psicov KO1.sj KO2.sj KO3.sj --overwrite
majiq-v3 quantify KO.psicov --min-experiments 0.01 --splicegraph sg.zarr --output-tsv KO.tsv --overwrite
majiq-v3 heterogen --stats infoscore mannwhitneyu ttest tnom \
--splicegraph sg.zarr --output-voila KO_WT.hetcov --output-tsv KO_WT.tsv \
-psi1 KO.psicov -psi2 WT.psicov --overwrite
voila modulize sg.zarr KO_WT.hetcov KO1.sgc KO2.sgc KO3.sgc WT1.sgc WT2.sgc WT3.sgc \
-d voila_modulizer --debug --debug-num-genes 100
If I instead generate
separate psicov and tsv files per replicate and run heterogen using them, the
voila modulize step
fails for all genes with the following error:
WARNING - Some error processing gene ENSMUSG00000102269.1 , turn on --debug for more info
Traceback (most recent call last):
...
ValueError: 'star_2pass.WT1.Aligned.sortedByCoord.out' is not in list
majiq-v3 psi-coverage sg.zarr WT1.psicov WT1.sj --overwrite
majiq-v3 psi-coverage sg.zarr WT2.psicov WT2.sj --overwrite
majiq-v3 psi-coverage sg.zarr WT3.psicov WT3.sj --overwrite
majiq-v3 quantify WT1.psicov --min-experiments 0.01 --splicegraph sg.zarr --output-tsv WT1.tsv --overwrite
majiq-v3 quantify WT2.psicov --min-experiments 0.01 --splicegraph sg.zarr --output-tsv WT2.tsv --overwrite
majiq-v3 quantify WT3.psicov --min-experiments 0.01 --splicegraph sg.zarr --output-tsv WT3.tsv --overwrite
majiq-v3 heterogen --stats infoscore mannwhitneyu ttest tnom \
--splicegraph sg.zarr --output-voila KO_WT.hetcov --output-tsv KO_WT.tsv \
-psi1 KO1.psicov KO2.psicov KO3.psicov \
-psi2 WT1.psicov WT2.psicov WT3.psicov --overwrite
voila modulize sg.zarr KO_WT.hetcov KO1.sgc KO2.sgc KO3.sgc WT1.sgc WT2.sgc WT3.sgc \
-d voila_modulizer --debug --debug-num-genes 100
This gives the error shown above (ValueError: 'star_2pass.WT1.Aligned.sortedByCoord.out' is not in list).
Question
-
What is causing voila modulize to fail when using separate per-replicate psicov files for heterogen, while it works fine when using combined psicov files?
-
Conceptually, what are the expected result differences (if any) between running heterogen on:
-
combined psicov files per condition (WT.psicov vs KO.psicov)
-
versus using each replicate’s psicov file separately (WT1, WT2, WT3 vs KO1, KO2, KO3)?
Thanks a lot for any help or clarification!