Hoohm / dropSeqPipe

A SingleCell RNASeq pre-processing snakemake workflow
Creative Commons Attribution Share Alike 4.0 International
147 stars 47 forks source link

migrate to Seurat version 3 #93

Closed TomKellyGenetics closed 4 years ago

TomKellyGenetics commented 4 years ago

Compatible with the latest version of Seurat available on bioconda. No longer needed to set older version in environment.

seb-mueller commented 4 years ago

Thanks! We were planning to do this conversion for a bit, so this is really helpful. I'm surprised only so few changes are required to get it to run with Seurat 3. I'll review them very soon and get back. @Hoohm ,what's you take?

TomKellyGenetics commented 4 years ago

For some reason, setting r-seurat to version 2 didn't work for me in dropSeqPipe 0.4. I tried setting it here and bioconda still required CreateSeuratObject to be counts (not raw.data). Maybe it's an issue with my conda environment. Anyway, the R script works with Seurat version 3, although of course future releases could still be incompatible. See here for details on how to update Seurat codes. https://satijalab.org/seurat/essential_commands.html#seurat-v2x-vs-v3x

seb-mueller commented 4 years ago

Checks have failed, but I don't think it's anything to do with your code. Conda seems to have been to slow which exceeded the time limit. I'm not sure how to get Travis to retry. One way would be doing the Pull request again. I'd ask you to do this anyway since you we are following gitflow mostly, all PRs should be merged into the develop branch (rather than master). Could you therefore redo the PR into the develop? This way it should also check again for errors. Thanks!

TomKellyGenetics commented 4 years ago

I can redo the pull request but I think it is a problem with conda. Installing r-seurat=3 in the conda environment for this rule seems to hang due to conflicts with another library. Maybe because Seurat calls a newer version of the ggplot2 or tidyverse?

seb-mueller commented 4 years ago

Yes, you are right. I've just download your r.yaml and tested it in isolation:

conda env create --file r.yaml --name seurat3                                                                                                                                                                                                   
Collecting package metadata: done
Solving environment: failed

UnsatisfiableError: The following specifications were found to be in conflict:
  - r-ggplot2=2.2.1
  - r-seurat=3 -> r-ggplot2[version='>=3.0.0']
Use "conda search <package> --info" to see the dependencies for each package.

conda env create --file r.yaml --name seurat3  44.01s user 0.85s system 83% cpu 53.867 total

It seems ggplot needs updating. I'll give it another try without specifying the ggplot version.