参考
1. 安装环境#
1
2
3
|
conda create -n mageck-vispr python=3.7
conda activate mageck-vispr
conda install -c bioconda -c conda-forge mageck-vispr
|
经过实际操作,部分源代码需要修改
1
2
3
4
5
6
7
8
9
|
# ***/miniconda3/envs/mageck-vispr/lib/python3.7/site-packages/vispr/server.py
# (1) 注释第13行代码
## from jinja2 import Markup
# (2) CAPTIONS = yaml.load(f) 替换为 CAPTIONS = yaml.safe_load(f)
# ***/miniconda3/envs/mageck-vispr/lib/python3.7/site-packages/vispr/cli.py
# (1) config = yaml.load(f) 同样替换为 config = yaml.safe_load(f)
|
2. 下载示例数据#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
tar xvf esc.testdata.step2.tar.bz2
ls esc-testdata
# designmatrix.txt reads yusa_library.csv
## (1) 原始fastq数据
ls esc-testdata/reads
# ERR376998.subsample.fastq
# ERR376999.subsample.fastq
# ERR377000.subsample.fastq
## (2) sgRNA坐标/序列/靶基因信息
head esc-testdata/yusa_library.csv
# id,gRNA.sequence,Gene
# chr9:21066101-21066124,CCTTCTCAATACCCATTCG,ZGLP1
# chr9:21066102-21066125,CTTCTCAATACCCATTCGC,ZGLP1
# chr9:21066273-21066296,GACCTGGGTGGCCGGCGAA,ZGLP1
## (3) 样本设计(optional)
cat esc-testdata/designmatrix.txt
# samples baseline esc
# plasmid 1 0
# esc1 1 1
# esc2 1 1
|
3. 初始化项目#
1
2
3
4
5
6
7
8
|
mkdir workflow
mageck-vispr init workflow/ \
--reads esc-testdata/reads/ERR376998.subsample.fastq \
esc-testdata/reads/ERR376999.subsample.fastq \
esc-testdata/reads/ERR377000.subsample.fastq
ls workflow
# config.yaml README.txt Snakefile
|
根据需要修改config.yaml,比较关键的有如下
librarry
: 指定sgRNA信息,即上面的yusa_library.csv 文件
species
与assembly
指定物种与参考基因组
sample
: 修改样本名
day0label
: control初始样本(刚加入sgRNA还没产生效应)
要么通过day0label
设置control,要么通过后面的experiments
,指定designmatrix文件。总之,似乎必须要有这个实验设计control–treat。
-
norm_method
默认使用所有sgRNA median norm factor进行标准化。若设置为control
,需要提供文库中的阴性对照sgRNA(one sgrna id per row),即仅使用这些sgRNA median norm factor进行标准化。
-
关于paired
参数适用于双端测序,即提供每一样本的r2的fastq.gz文件路径。不过根据结果来看,似乎还是默认采用的R1。不过一般来说,sgRNA 序列信息一般都在Read1了。
-
关于count
, 即直接提供已经计算好的count矩阵,再进行后续的阳性与阴性筛选分析。
4. 执行snakemake脚本#
1
2
3
4
5
6
|
cd workflow
# dry-run
snakemake -n
# 实际允许
snakemake --cores 8
|
查询结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
ls
# config.yaml logs README.txt results Snakefile
ls results
# count mle.vispr.yaml qc test
# 可视化展示
vispr server results/*.vispr.yaml
# Loading data.
# Starting server.
# Open: go to 127.0.0.1:5000 in your browser.
# Note: Safari and Internet Explorer are currently unsupported.
# Close: hit Ctrl-C in this terminal.
# * Serving Flask app 'vispr.server'
# * Debug mode: off
# 本地端口查看可视化结果
ssh -i 秘钥地址 -p 端口 -N -L localhost:5000:localhost:5000 user@ip
# -N 表示不执行远程命令,仅建立端口转发(即不登录 Shell,只用于端口转发)
|
其他补充
- Mageck在计算Gini-index时,会先对Count进行log转换后,再计算。