GregorySchwartz / too-many-cells

Cluster single cells and analyze cell clade relationships with colorful visualizations.
https://gregoryschwartz.github.io/too-many-cells/
GNU General Public License v3.0
104 stars 19 forks source link

can't install the included projects #39

Closed whateverxzy closed 3 years ago

whateverxzy commented 3 years ago

Dear authors, When I use stack to install the included projects, like birch-beer, it keeps giving me those errors: -- While building package spectral-clustering-0.3.2.2 (scroll up to its section to see the error) using: /home/xzy/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-3.0.1.0 build --ghc-options " -fdiagnostics-color=always" Process exited with code: ExitFailure 1 I tried many ways to fix it, but all failed. I will appreciate it if you tell me how to solve it. Thank you for your time and energy.

GregorySchwartz commented 3 years ago

What is the error?

GregorySchwartz commented 3 years ago

I would like to see the error, but either way I'll provide a nix derivation for reproducibility.

whateverxzy commented 3 years ago

I use nix to install all the packages.

-- While building package spectral-clustering-0.3.2.2 (scroll up to its section to see the error) using: /home/xzy/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-3.0.1.0 build --ghc-options " -fdiagnostics-color=always" Process exited with code: ExitFailure 1

The above is the error, which I couldn't install spectral-clustering, this package.

GregorySchwartz commented 3 years ago

The error is further up (scroll up to its section to see the error), can you paste the entire command and result? I should also mention that birch-beer does have a docker image so you shouldn't need to build it from source unless you have to.

GregorySchwartz commented 3 years ago

I won't necessarily say the error is fixed, but you can workaround it using the just added nix derivation (https://github.com/GregorySchwartz/birch-beer/commit/5496922d2a4f3beb5cc3c0444cdb69814b471735).

whateverxzy commented 3 years ago

“stack install birch-beer“,this was the command that I used. And it began to download the packages that I need, but it exited in the half way.The following is the part of the codes : spectral-clustering > /tmp/stack-410d0d861ff2f281/spectral-clustering-0.3.2.2/src/Math/Clustering/Spectral/Sparse.hs:111:25: error: spectral-clustering > Not in scope: ‘S.imapSM’ spectral-clustering > Perhaps you meant one of these: spectral-clustering > ‘V.imapM’ (imported from Data.Vector), spectral-clustering > ‘U.imapM’ (imported from Data.Vector.Unboxed), spectral-clustering > ‘S.immSM’ (imported from Data.Sparse.Common) spectral-clustering > Module ‘Data.Sparse.Common’ does not export ‘imapSM’. spectral-clustering > | spectral-clustering > 111 | bdToC (B b) (D d) = C . S.imapSM (\ !i _ !x -> (S.lookupDenseSV i d') * x) $ b spectral-clustering > | ^^^^^^^^ spectral-clustering > Progress 1/3

-- While building package spectral-clustering-0.3.2.2 (scroll up to its section to see the error) using: /home/xzy/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_3.0.1.0_ghc-8.8.3 --builddir=.stack-work/dist/x86_64-linux/Cabal-3.0.1.0 build --ghc-options " -fdiagnostics-color=always" Process exited with code: ExitFailure 1

And I don't understand that added nix derivation. I thought stack must need nix, and I already installed nix. I have no idea that what to do next. Should Iuse docker to install too-many-cells ?

GregorySchwartz commented 3 years ago

Ah, this would be because these packages now depend on my fork of sparse-linear-algebra (https://github.com/GregorySchwartz/sparse-linear-algebra) which exposes some of the API used upstream. As I've moved to nix, the stack.yaml has not been updated with the link for my fork. In answer to your questions: stack and nix are separate projects and I intended for the nix installation to completely replace stack. To install too-many-cells from source:

git clone https://github.com/GregorySchwartz/too-many-cells.git
cd too-many-cells
nix-env -f default.nix -i too-many-cells

To install birch-beer if you want to plot any generic tree:

git clone https://github.com/GregorySchwartz/birch-beer.git
cd birch-beer
nix-env -f default.nix -i birch-beer

Let me know if it works out for you!

whateverxzy commented 3 years ago

Sorry to not to reply you timely. The method you mentioned was useful, and I have installed birch-beer successfully.Thank you for your help. But I have a problem now, which is I can't get labels.csv file. I used the codes : cat /home/xzy/文档/DND41_DMSO_scRNA_barcodes.tsv | sed "s/-1/-1,Marrow/" | s/-2/etc... > labels.csv bash: s/-2/etc...: 没有那个文件或目录 the meaning of the Chinaese is the file or directory doesn't exist. I don't know how to fix this.

GregorySchwartz commented 3 years ago

You didn't use another sed command for your second replacement, you just put the argument without quotes. To fix: ...sed "s/-1/-1,Marrow/" | sed "s/-2/...

whateverxzy commented 3 years ago

I used your method, but it seemed that it didn't work. I couldn't find the labels.csv file. Your readme.org said the labels.csv.file can be accomplished with the barcode.tsv file with the command: cat barcodes.tsv | sed "s/-1/-1,Marrow/" | s/-2/etc... > labels.csv But where should I write the directory for the labels.csv file? And if I succeeded, will the original barcode.tsv be changed? Sorry to interrupt you all the time.

GregorySchwartz commented 3 years ago

I think you might be copying and pasting it directly which is not a valid command. It's meant to illustrate how you would use sed commands to generate the files. If you want, to avoid this kind of command line usage, you can specify a label for each matrix with -Z (check out too-many-cells make-tree -h for more information).

whateverxzy commented 3 years ago

Sorry to not reply you in time, I have so many things to do recently that I had no time to apply your method for me. Luckily, I have solved the problem of input files, and I really appreciate your help. However, when I want to do the default run, I run across a problem:it keeps showing" Invalid argument `/home/xzy/文档/output/clusters.csv'" and my codes are as follows: too-many-cells make-tree \

--matrix-path /home/xzy/文档/input \ --labels-file /home/xzy/文档/labels.csv \ --draw-collection "PieRing" \ --output /home/xzy/文档/output \ /home/xzy/文档/output/clusters.csv

Invalid argument `/home/xzy/文档/output/clusters.csv' At first, I thought the problem is that I shouldn't give the directory of clusters.csv. Even though I deleted the directory, it didn't work either.And the codes are: too-many-cells make-tree \

--matrix-path /home/xzy/文档/input \ --labels-file /home/xzy/文档/labels.csv \ --draw-collection "PieRing" \ --output /home/xzy/文档/output \ clusters.csv Invalid argument `/home/xzy/文档/input' I don't know which step is mistaken.

GregorySchwartz commented 3 years ago

I don't know if your formatting is getting messed up by the post to github, but it looks like you didn't pipe into clusters.csv. You want > clusters.csv to pipe it in.