GregorySchwartz/too-many-cells

nix version code error when running differential analysis between one and many

kuang-da opened this issue · 1 comments

Hi,
My OS is Pop!_OS 19.10, which is a derivation of Ubuntu 19.10. After generating the tree, I tried to run the DE analysis as follows:

    too-many-cells differential \
    --matrix-path \
        /home/derek/research/Kim-Lab/traf6-tooManyCells/data/wt \
    --prior \
        /home/derek/research/Kim-Lab/traf6-tooManyCells/exp-2/out/ \
    --feature-column 2 \
    --labels-file \
        /home/derek/research/Kim-Lab/traf6-tooManyCells/data/ko-labels.csv \
    --nodes "([2], [10, 17, 22])" \
    > ko_2_vs_10_17_22_differential.csv

I got error as follows:

too-many-cells: R Runtime Error: Error: package or namespace load failed for ‘edgeR’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘locfit’

But if I change the nodes to --nodes "([],[])", there will be no error.


I tried to fix the error by updating the beginning of default.nix as following and reinstall the package.

# default.nix
{ compilerVersion ? "ghc865", pkgsLink ? (builtins.fetchTarball https://github.com/NixOS/nixpkgs/archive/1e90c46c2d98f9391df79954a74d14f263cad729.tar.gz)}:
let
  # Packages
  config = { allowBroken = true;
             allowUnfree = true;
             packageOverrides = super: let self = super.pkgs; in {
                Renv = super.rWrapper.override {
                  packages = with self.rPackages; [
                    ggplot2
                    devtools
                    cowplot
                    dplyr
                    jsonlite
                    reshape2
                    locfit
                    limma
                    edgeR 
                  ];
                };
              };
           };

But I got an error:

too-many-cells: R Runtime Error: Error in library(edgeR) : there is no package called ‘edgeR’

If I remove 'limma' from the above code of default.nix, I got

too-many-cells: R Runtime Error: Error: package ‘limma’ required by ‘edgeR’ could not be found

Now I have to switch to docker but is it possible to fix this? Thank you very much!

Solved by 8eb7de9, try the new default.nix.