Skip to content

Commit 34e67b1

Browse files
update UniverSC module
updates metadata, docker container source, licensing, and citations
1 parent 9ef4cfc commit 34e67b1

File tree

7 files changed

+430
-9
lines changed

7 files changed

+430
-9
lines changed

modules/universc/CITATION.cff

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
cff-version: 1.2.0
2+
message: "If you use this software, please cite it as below."
3+
authors:
4+
- given-names: "S. Thomas"
5+
family-names: "Kelly"
6+
email: "tom.kelly@riken.jp"
7+
affiliation: "Center for Integrative Medical Sciences, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
8+
orcid: "https://orcid.org/0000-0003-3904-6690"
9+
- family-names: "Battenberg"
10+
given-names: "Kai"
11+
email: "kai.battenberg@riken.jp"
12+
affiliation: "Center for Sustainable Resource Science, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
13+
orcid: "http://orcid.org/0000-0001-7517-2657"
14+
version: 1.2.3
15+
doi: 10.1101/2021.01.19.427209
16+
date-released: 2021-02-14
17+
url: "https://github.com/minoda-lab/universc"
18+
preferred-citation:
19+
type: article
20+
authors:
21+
- given-names: "S. Thomas"
22+
family-names: "Kelly"
23+
email: "tom.kelly@riken.jp"
24+
affiliation: "Center for Integrative Medical Sciences, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
25+
orcid: "https://orcid.org/0000-0003-3904-6690"
26+
- family-names: "Battenberg"
27+
given-names: "Kai"
28+
email: "kai.battenberg@riken.jp"
29+
affiliation: "Center for Sustainable Resource Science, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
30+
orcid: "https://orcid.org/http://orcid.org/0000-0001-7517-2657"
31+
- family-names: "Hetherington"
32+
given-names: "Nicola A."
33+
affiliation: "Center for Integrative Medical Sciences, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
34+
orcid: "http://orcid.org/0000-0001-8802-2906"
35+
- family-names: "Hayashi"
36+
given-names: "Makoto"
37+
affiliation: "Center for Sustainable Resource Science, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
38+
orcid: "http://orcid.org/0000-0001-6389-4265"
39+
- given-names: "Aki"
40+
family-names: "Minoda"
41+
email: "akiko.minoda@riken.jp"
42+
affiliation: Center for Integrative Medical Sciences, RIKEN, Suehiro-cho-1-7-22, Tsurumi Ward, Yokohama, Japan"
43+
orcid: "http://orcid.org/0000-0002-2927-5791"
44+
doi: "10.1101/2021.01.19.427209"
45+
title: "UniverSC: a flexible cross-platform single-cell data processing pipeline"
46+
year: "2021"
47+
journal: "bioRxiv"
48+
start: 2021.01.19.427209
49+
volume:
50+
issue:
51+
month: 1
52+
year: 2021

modules/universc/CITATION.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
### Citation <span id="Citation"><span>
2+
3+
A submission to a journal and biorXiv is in progress. Please cite these when
4+
they are available. Currently, the package can be cited
5+
as follows:
6+
7+
Kelly, S.T., Battenberg, Hetherington, N.A., K., Hayashi, K., and Minoda, A. (2021)
8+
UniverSC: a flexible cross-platform single-cell data processing pipeline.
9+
bioRxiv 2021.01.19.427209; doi: [https://doi.org/10.1101/2021.01.19.427209](https://doi.org/10.1101/2021.01.19.427209)
10+
package version 1.2.3. [https://github.com/minoda-lab/universc](https://github.com/minoda-lab/universc)
11+
12+
```
13+
@article {Kelly2021.01.19.427209,
14+
author = {Kelly, S. Thomas and Battenberg, Kai and Hetherington, Nicola A. and Hayashi, Makoto and Minoda, Aki},
15+
title = {{UniverSC}: a flexible cross-platform single-cell data processing pipeline},
16+
elocation-id = {2021.01.19.427209},
17+
year = {2021},
18+
doi = {10.1101/2021.01.19.427209},
19+
publisher = {Cold Spring Harbor Laboratory},
20+
abstract = {Single-cell RNA-sequencing analysis to quantify RNA molecules in individual cells has become popular owing to the large amount of information one can obtain from each experiment. We have developed UniverSC (https://github.com/minoda-lab/universc), a universal single-cell processing tool that supports any UMI-based platform. Our command-line tool enables consistent and comprehensive integration, comparison, and evaluation across data generated from a wide range of platforms.Competing Interest StatementThe authors have declared no competing interest.},
21+
eprint = {https://www.biorxiv.org/content/early/2021/01/19/2021.01.19.427209.full.pdf},
22+
journal = {{bioRxiv}},
23+
note = {package version 1.2.3},
24+
URL = {https://github.com/minoda-lab/universc},
25+
}
26+
27+
```
28+
29+
```
30+
@Manual{,
31+
title = {{UniverSC}: a flexible cross-platform single-cell data processing pipeline},
32+
author = {S. Thomas Kelly, Kai Battenberg, Nicola A. Hetherington, Makoto Hayashi, and Aki Minoda},
33+
year = {2021},
34+
note = {package version 1.2.3},
35+
url = {https://github.com/minoda-lab/universc},
36+
}
37+
```

modules/universc/Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Dockerfile to create container with Cell Ranger v3.0.2 and Universc v1.2.3
2+
# Push to nfcore/universc:<VER>
3+
4+
FROM tomkellygenetics/universc:1.2.3
5+
LABEL authors="Tom Kelly <tomkellygenetics [at] gmail.com>" \
6+
description="Docker image containing UniverSC and an open-source implmentation of Cell Ranger"
7+
# Disclaimer: this container is not provided nor supported by Illumina or 10X Genomics
8+
# This container is not subject to the 10X Genomics End User License Agreement (EULA)
9+
# It is free to use on data generated by any technology
Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Dockerfile to create container with Cell Ranger v3.0.2
2+
# source code: https://github.com/TomKellyGenetics/cellranger_clean
3+
4+
FROM ubuntu:bionic
5+
6+
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
7+
8+
# Install dependencies for cellranger
9+
RUN apt-get update \
10+
&& apt-get upgrade -y \
11+
&& apt-get install -y \
12+
apt-utils \
13+
clang-6.0 \
14+
cython \
15+
dialog \
16+
gcc-multilib \
17+
gzip \
18+
libbz2-dev \
19+
liblzma-dev \
20+
libcairo2-dev \
21+
libcurl4-openssl-dev \
22+
libgfortran-5-dev \
23+
libffi-dev \
24+
libhdf5-dev \
25+
libhts-dev \
26+
liblz4-dev \
27+
liblz4-tool \
28+
libncurses-dev \
29+
libopenblas-dev \
30+
libpixman-1-dev \
31+
libpng-dev \
32+
libsodium-dev \
33+
libssl-dev \
34+
libtiff5-dev \
35+
libtiff-tools \
36+
libxml2-dev \
37+
libxslt1-dev \
38+
libzmq3-dev \
39+
llvm \
40+
lzma-dev \
41+
python-cairo \
42+
python-h5py \
43+
python-matplotlib \
44+
python-nacl \
45+
python-numpy \
46+
python-pip \
47+
python-libxml2 \
48+
python-lz4 \
49+
python-redis \
50+
python-ruamel.yaml \
51+
python-sip \
52+
python-sqlite \
53+
python-tables \
54+
python-tk \
55+
samtools \
56+
tar \
57+
wget \
58+
zlib1g-dev
59+
60+
RUN pip install Cython==0.28.0
61+
62+
RUN pip install libtiff
63+
64+
RUN wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz \
65+
&& tar -xvf go1.11.linux-amd64.tar.gz \
66+
&& mv go /usr/local
67+
68+
ENV GOROOT=/usr/local/go
69+
ENV GOPATH=$HOME/go
70+
ENV PATH=$GOPATH/bin:$GOROOT/bin:$PATH
71+
72+
RUN ln -s /usr/lib/go-1.11/bin/go /usr/bin/go
73+
74+
RUN apt-get remove -y python-openssl \
75+
&& apt-get install -y --reinstall python-openssl
76+
77+
RUN wget https://files.pythonhosted.org/packages/40/d0/8efd61531f338a89b4efa48fcf1972d870d2b67a7aea9dcf70783c8464dc/pyOpenSSL-19.0.0.tar.gz \
78+
&& tar -xzvf pyOpenSSL-19.0.0.tar.gz \
79+
&& cd pyOpenSSL-19.0.0 \
80+
python setup.py install \
81+
&& cd ..
82+
83+
COPY requirements.txt /opt/requirements.txt
84+
RUN pip install --upgrade pip
85+
RUN pip install -r /opt/requirements.txt
86+
87+
# RUN easy_install -U pip
88+
# RUN easy_install -U pyOpenSSL
89+
# RUN apt-get install python-dateutil
90+
91+
# Install rust and cargo. Note that installing with apt gets a rust that won't complie
92+
# cellranger.
93+
RUN apt-get install -y \
94+
curl \
95+
git \
96+
&& curl https://sh.rustup.rs -sSf | sh -s -- -y
97+
98+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
99+
100+
#RUN apt-get install -y libstd-rust-1.40 cargo
101+
ENV PATH /root/.cargo/bin/:$PATH
102+
ENV PATH $HOME/.cargo/bin:$PATH
103+
RUN bash $HOME/.cargo/env
104+
105+
RUN rustup install 1.40.0
106+
RUN rustup default 1.40.0
107+
108+
RUN mkdir -p cellranger-3.0.2.9001 \
109+
&& cd cellranger-3.0.2.9001 \
110+
&& mkdir -p cellranger-cs \
111+
&& mkdir -p cellranger-cs/3.0.2.9001 \
112+
&& cd /
113+
114+
# Build cellranger itself
115+
RUN git clone https://github.com/TomKellyGenetics/cellranger.git cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001 \
116+
&& cd cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001 \
117+
&& make && make louvain-clean && make louvain \
118+
&& cd ../..
119+
120+
RUN ln -s /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/bin/cellranger /cellranger-3.0.2.9001/cellranger \
121+
&& cd /
122+
123+
COPY crconverter_open.sh /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin/crconverter
124+
125+
COPY crconverter_open.sh /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin/vlconverter
126+
127+
RUN gunzip -k /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python/cellranger/barcodes/3M-february-2018.txt.gz
128+
129+
RUN curl -sL https://deb.nodesource.com/setup_13.x | bash - \
130+
&& apt-get install -y nodejs
131+
132+
# Install Martian. Note that we're just building the executables, not the web stuff
133+
RUN git clone --recursive https://github.com/martian-lang/martian.git \
134+
&& cd martian \
135+
&& make mrc mrf mrg mrp mrs mrstat mrjob
136+
137+
# Set up paths to cellranger. This is most of what sourceme.bash would do.
138+
ENV PATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/bin/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/bin:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/bin/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/lib/bin:/martian/bin/:$PATH
139+
ENV PYTHONPATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/lib/python:/martian/adapters/python:$PYTHONPATH
140+
ENV MROPATH /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/mro/:/cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/tenkit/mro/
141+
ENV _TENX_LD_LIBRARY_PATH whatever
142+
143+
# Install bcl2fastq. mkfastq requires it.
144+
RUN apt-get update \
145+
&& apt-get install -y alien unzip wget \
146+
&& wget https://support.illumina.com/content/dam/illumina-support/documents/downloads/software/bcl2fastq/bcl2fastq2-v2-19-1-linux.zip \
147+
&& unzip bcl2fastq2*.zip \
148+
&& alien bcl2fastq2*.rpm \
149+
&& dpkg -i bcl2fastq2*.deb \
150+
&& rm bcl2fastq2*.deb bcl2fastq2*.rpm bcl2fastq2*.zip
151+
152+
# Install STAR aligner
153+
RUN wget https://github.com/alexdobin/STAR/archive/2.5.1b.tar.gz \
154+
&& tar xf 2.5.1b.tar.gz \
155+
&& rm 2.5.1b.tar.gz \
156+
&& cd STAR-2.5.1b/source \
157+
&& make \
158+
&& mv ./STAR* /usr/bin \
159+
&& cd .. \
160+
&& rm -rf STAR-2.5.1b
161+
162+
# Install tsne python package. pip installing it doesn't work
163+
RUN git clone https://github.com/TomKellyGenetics/tsne.git \
164+
&& cd tsne \
165+
&& make install \
166+
&& python setup.py install \
167+
&& cd .. \
168+
&& rm -rf tsne
169+
170+
ENV PATH /cellranger-3.0.2.9001:$PATH
171+
172+
COPY run_tests.sh /run_tests.sh
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Dockerfile to create container with Cell Ranger v3.0.2 and UniverSC v1.2.3
2+
# source code: https://github.com/minoda-lab/universc
3+
4+
# FROM ubuntu:bionic
5+
FROM tomkellygenetics/cellranger_clean:3.0.2.9002
6+
7+
RUN apt-get update \
8+
&& apt-get upgrade -y \
9+
&& apt-get install -y \
10+
git \
11+
git-lfs \
12+
make \
13+
gzip \
14+
pigz \
15+
rename
16+
17+
RUN apt-get install -y \
18+
curl \
19+
zsh \
20+
nano \
21+
&& sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --unattended"
22+
23+
RUN git clone "https://github.com/TomKellyGenetics/universc.git"
24+
25+
RUN cd universc/test/cellranger_reference/cellranger-tiny-ref/ \
26+
&& git lfs pull \
27+
&& rm -rf 3.0.0 1.2.0 \
28+
&& cellranger mkref --genome=3.0.0 --fasta=genome-3.0.0.fa --genes=genes-3.0.0.gtf \
29+
&& cellranger mkref --genome=1.2.0 --fasta=genome-1.2.0.fa --genes=genes-1.2.0.gtf
30+
31+
COPY .version universc/.version
32+
COPY CHANGELOG universc/CHANGELOG
33+
COPY README.Rmd universc/README.Rmd
34+
COPY README.md universc/README.md
35+
COPY README.html universc/README.html
36+
COPY inst/CITATION universc/inst/CITATION
37+
COPY launch_universc.sh universc/launch_universc.sh
38+
COPY sub/FilterSmartSeqReadUMI.pl universc/sub/FilterSmartSeqReadUMI.pl
39+
40+
RUN cd universc \
41+
&& make reference \
42+
&& cd ..
43+
44+
RUN mkdir -p /cellranger-3.0.2.9001/cellranger-tiny-fastq \
45+
&& ln -s /universc/test/shared/cellranger-tiny-fastq/1.2.0 /cellranger-3.0.2.9001/cellranger-tiny-fastq \
46+
&& ln -s /universc/test/shared/cellranger-tiny-fastq/3.0.0 /cellranger-3.0.2.9001/cellranger-tiny-fastq
47+
48+
RUN mkdir -p /cellranger-3.0.2.9001/cellranger-tiny-ref \
49+
&& ln -s /universc/test/cellranger_reference/cellranger-tiny-ref/1.2.0 /cellranger-3.0.2.9001/cellranger-tiny-ref \
50+
&& ln -s /universc/test/cellranger_reference/cellranger-tiny-ref/3.0.0 /cellranger-3.0.2.9001/cellranger-tiny-ref
51+
52+
ENV PATH universc:$PATH
53+
54+
RUN ln -s /universc/launch_universc.sh /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/bin/universc
55+
56+
ENV LC_ALL C.UTF-8
57+
ENV LANG C.UTF-8
58+
59+
RUN apt-get install -y \
60+
python3-pip \
61+
&& python3 -m pip install --upgrade pip setuptools wheel \
62+
&& pip3 install multiqc
63+
64+
RUN git clone https://github.com/linsalrob/fastq-pair.git \
65+
&& cd fastq-pair \
66+
&& mkdir build \
67+
&& cd build \
68+
&& gcc -std=gnu99 ../main.c ../robstr.c ../fastq_pair.c ../is_gzipped.c -o fastq_pair \
69+
&& cp fastq_pair /bin/fastq_pair
70+
71+
# Install STAR aligner
72+
RUN wget https://github.com/alexdobin/STAR/archive/2.5.1b.tar.gz \
73+
&& tar -xf 2.5.1b.tar.gz \
74+
&& rm 2.5.1b.tar.gz \
75+
&& cd STAR-2.5.1b \
76+
&& make \
77+
&& mv bin/Linux_x86_64/STAR* /usr/bin \
78+
&& cd source \
79+
&& make \
80+
&& cd /
81+
82+
RUN cp /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python/cellranger/chemistry.py /cellranger-3.0.2.9001/cellranger-cs/3.0.2.9001/lib/python/cellranger/check.py
83+

0 commit comments

Comments
 (0)