Kevinzjy/ CIRIquant
CIRIquant-cookbook
SciPy 1.2.2
运行过程中报错处理的一些原理:200719 CIRIquant使用记录
安装踩坑
首先,这是个conda上没有的软件,所以只能pip,安装。配合生信别的软件使用,所以使用的是2.7的包:
numexpr==2.6.9
numpy==1.16.4
pysam==0.15.2
PyYAML==5.1.1
scikit-learn==0.20.3
scipy==1.2.2
argparse==1.2.1
坑1:这个scipy1.2.2是针对1.2.1的debug版本,这个软件conda没有,只能去github下了之后通过pip进行本地安装
坑2:conda命令对于环境可以自己识别,你在哪个环境里安装,就安装到哪个环境里,但是pip不是,在创建环境的时候,会在环境里创建新的pip,所以激活环境之后如果想使用pip安装最好which
一下,看看是用的哪个pip,如果是base下的pip可能会影响环境外的包配置。
注3:这儿PyYAML很容易报错,因为版本过高,所以最好建个新环境然后先把5.1.1版本的PyYAML装好
## 可以用这一段命令进行安装
conda install --yes --file requirements.txt
(base) dick@aaa-virtual-machine:~ $ which conda
/home/dick/anaconda3/bin/conda
(rna) dick@aaa-virtual-machine:~ $ which conda
/home/dick/anaconda3/bin/conda
(base) dick@aaa-virtual-machine:~ $ which pip
/home/dick/anaconda3/bin/pip
(rna) dick@aaa-virtual-machine:~ $ which pip
/home/dick/anaconda3/envs/rna/bin/pip
安装本地的tar.bz软件(安装scipy):
这里面是有不同的,有可能比如conda有,但是网络问题没法装,还有就是conda本身没有,这个可以去对应的源看,比如我用的清华源,那我就去清华源看有没有对应的包
conda可以装,但是速度太慢
这种可以把包下下来然后conda install --use-local
conda本身没有
这种use local就不好使了,还是要靠pip,把tar.bz解压后,cd到文件夹里,然后python setup.py install
,这是直接用包里面的setup文件来安装这个包。(注:Python2和Python3要区分一下可能,但是我这儿环境里是Python2所以我就没注意)
注:这儿最好先which python
一下,确定一下python用的是env里面的
CIRIquant
nohup CIRIquant -t 30 \
-1 /home/stu3/data/clean/SRR5635537_1_val_1.fq.gz \
-2 /home/stu3/data/clean/SRR5635537_2_val_2.fq.gz \
--config /home/stu3/data/config.yml \
-o /home/stu3/data/out2log \
-p SRR5635537 >nohup.log 2>&1 &
本次使用,最高内存占用约 120G 多点。之前一直停滞在De novo alignment for circular RNAs
,大概原因是因为内存不够,所以检测的东西没导出,所以就没继续往下了。
以下为输出文件:
[Tue 2020-07-21 05:02:53] [INFO ] Input reads: SRR5635537_1_val_1.fq.gz,SRR5635537_2_val_2.fq.gz
[Tue 2020-07-21 05:02:53] [INFO ] Library type: unstranded
[Tue 2020-07-21 05:02:53] [INFO ] Output directory: /home/stu3/Circ/5_CIRIouput/SRR5635537, Output prefix: SRR5635537
[Tue 2020-07-21 05:02:53] [INFO ] Config: hg19 Loaded
[Tue 2020-07-21 05:02:53] [INFO ] 48 CPU cores availble, using 20
[Tue 2020-07-21 05:02:53] [INFO ] Align RNA-seq reads to reference genome ..
[Tue 2020-07-21 07:02:35] [INFO ] Estimate gene abundance ..
[Tue 2020-07-21 07:17:03] [INFO ] No circRNA information provided, run CIRI2 for junction site prediction ..
[Tue 2020-07-21 07:17:03] [INFO ] Running BWA-mem mapping candidate reads ..
[Tue 2020-07-21 08:20:31] [INFO ] Running CIRI2 for circRNA detection ..
[Tue 2020-07-21 08:48:42] [INFO ] Extract circular sequence
[Tue 2020-07-21 08:49:14] [100% ] [##################################################]
[Tue 2020-07-21 08:49:14] [INFO ] Building circular index ..
[Tue 2020-07-21 08:49:40] [INFO ] De novo alignment for circular RNAs ..
[Tue 2020-07-21 10:01:28] [INFO ] Detecting reads containing Back-splicing signals
[Tue 2020-07-21 10:04:06] [INFO ] Detecting FSJ reads from genome alignment file
[Tue 2020-07-21 10:18:28] [INFO ] Merge bsj and fsj results
[Tue 2020-07-21 10:18:28] [INFO ] Loading annotation gtf ..
[Tue 2020-07-21 10:19:08] [INFO ] Output circRNA expression values
[Tue 2020-07-21 10:19:22] [INFO ] circRNA Expression profile: SRR5635537.gtf
[Tue 2020-07-21 10:19:22] [INFO ] Finished!
差异表达
这一步主要是找到差异基因
Usage:
CIRI_DE [options] -n <control> -c <case> -o <out>
<control> CIRIquant result of control sample
<case> CIRIquant result of treatment cases
<out> Output file
Options (defaults in parentheses):
-p p value threshold for DE and DS score calculation (default: 0.05)
-t numer of threads (default: 4)
Example usage:
CIRI_DE -n control.gtf -c case.gtf -o CIRI_DE.tsv
这里我不是非常理解为啥要导出成tsv,个人感觉csv也行,反正我是直接放到excel里面看差异表达
CIRI_DE -t 10 -n SRR5635535.gtf -c SRR5635537.gtf -o ./output.tsv
[Tue 2020-07-21 15:09:56] [INFO ] Experiment: SRR5635537.gtf
[Tue 2020-07-21 15:09:56] [INFO ] Control: SRR5635535.gtf
[Tue 2020-07-21 15:09:56] [INFO ] Threads: 10
[Tue 2020-07-21 15:09:56] [INFO ] Threshold: 0.05
[Tue 2020-07-21 15:09:56] [INFO ] Loading CIRIquant result: /home/stu3/Circ/6_allgtf/SRR5635537.gtf
[Tue 2020-07-21 15:09:56] [INFO ] Loading CIRIquant result: /home/stu3/Circ/6_allgtf/SRR5635535.gtf
[Tue 2020-07-21 15:11:43] [INFO ] Output csv: /home/stu3/Circ/6_allgtf/output.tsv
[Tue 2020-07-21 15:11:43] [INFO ] Finished!
多样本分析
顺便记录一下多样本的分析吧,如果有很多样本,就要把样本分成control组和case组把所有的路径整理成如下,记录在sample_gene.lst
注:这个samplelist
里的文件和擀面那个sample
的不一样,这儿的文件是每个输出文件夹里有个gene
文件夹里的,应该是单纯做个count
CONTROL1 ./c1/gene/c1_out.gtf
CONTROL2 ./c2/gene/c2_out.gtf
CONTROL3 ./c3/gene/c3_out.gtf
CASE1 ./t1/gene/t1_out.gtf
CASE2 ./t2/gene/t2_out.gtf
CASE3 ./t3/gene/t3_out.gtf
接着使用命令prepDE.py -i sample_gene.lst
获得gene_count_matrix.csv
文件,这个文件后面会用到。
这儿要安装R
环境,以及edgeR包
所以使用命令安装一下
conda install r-base=3.6 #安装R语言
# 220104更新一点小问题
conda install r-optparse # R包 以 r- 开头
#这儿用conda总是有问题,所以我打开R,在R里面装
install.packages("BiocManager")
install.packages("statmod")
library(BiocManager)
BiocManager::install("edgeR")
接着使用CIRI_DE_replicate
命令来完成分析
Usage:
CIRI_DE_replicate [options]
--lib library information by CIRIquant
--bsj circRNA expression matrix
--gene gene expression matrix
--out output differential expression result
Example:
CIRI_DE_replicate --lib library_info.csv \
--bsj circRNA_bsj.csv \
--gene gene_count_matrix.csv \
--out circRNA_de.tsv
至此Circ的上游分析已经告一段落了,回头可能会整理一下RnaSeq不一样的地方