工欲善其事必先利其器
easyBio是一个由上海交通大学 shilei 维护的基于Python的生物信息学软件项目,提供了多个小工具,旨在简便生物信息学数据的分析和处理。
最初看到easyBio只知道可以用来下载GEO数据,摸索之后发现其还有一些很有意思的功能,不过就是目前还不是很成熟。
【github目前提供的不是软件最新版】
目前来说,安装起来有一点麻烦。且最新版的不能用conda安装。所以我们用conda配置好分析环境后,可以用pip安装easyBio
mamba create -n easybio
mamba activate easybio
mamba install -c hcc aspera-cli -y
mamba install sra-tools cutadapt fastqc multiqc hisat2 parallel-fastq-dump
pip install easybio
## 检测是否安装成功
easyBio --help
直接使用 pip
安装,会发现安装速度很慢,也容易失败,尝试添加镜像安装
## 测试发现,豆瓣和阿里云的镜像都没有
pip install easybio -i https://pypi.douban.com/simple/
pip install easybio -i http://mirrors.aliyun.com/pypi/simple/
## 清华镜像可以,说明清华镜像更新还是很及时的
pip install easybio -i https://pypi.tuna.tsinghua.edu.cn/simple
失败镜像
清华镜像可以成功
安装成功
从作者公众号获取安装包(见 https://mp.weixin.qq.com/s/6MVjI4r9MWs3zw-ZLoA3Dg ),上传到服务器,先配置好conda环境后,采用conda本地安转
conda create -n easyBio
conda activate easyBio
# conda包安装
conda install --use-local ./easybio-0.3.5-py310_0.tar.bz2
可用功能
通过GSE编号下载相应的数据集
easydownloadSRA -g GSE144024 -d ~/easybio_test/ -t 8
-g #GSE编号
-d #指定下载目录,默认当前目录
-t #指定线程数(默认使用计算机的CPU核心数)
##建议下载提交后台
nohup easydownloadSRA -g GSE144024 -d ~/easybio_test/ -t 8 1>down.log 2>&1 &
下载测试
下载GEO数据非常丝滑方便
用于处理.sra
文件的工具,它使用parallel-fastq-dump进行文件的拆分
~/.local/bin/easysplitSRA -t 8 -f ../SRR23582359/ -o ./
-f # 指定包含`.sra`文件的文件夹,默认是当前目录
-t # 设置使用的线程数,默认为计算机的CPU核心数
-o # 指定输出目录,默认为`out`
-k # 拆分的类型,默认是(--split-files)
-k
参数按说明是可以指定拆分类型的,但是应该是有bug,参数传递并不成功(使用说明太简陋,也许是我没有给对参数)
-k 参数失败
自动重命名SRA文件
easychangeSRAName -l sample_change_info.txt -f ~/easybio_test/
-l #列表文件,包含了原始文件名与期望更改后的文件名的匹配信息
-f #要处理的文件的目录路径
如果是多泳道请使用--list_fill(-l)参数,如果--list_fill参数为空,则默认使用单泳道模式
改名前
重命名后
可以看到对于一个样本对应多个fastq文件的改名还是很方便的。
不过有一点需要注意的是,该脚本仅仅是根据GEO的SRR文件命名来写的,如果对于非标准的文件改名就失效了,有需要的朋友可以尝试去修改一下源码
比如下面这种情况:
改名失效
对于单细胞数据样本的重命名也可以参考:聊聊改名——哪个更优雅?
其余一键上游处理功能还没有用到,感兴趣的用户可以去学习工具包作者的相关推文:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg4Mzk3MDM2Ng==&action=getalbum&album_id=2892585908611514372&scene=173&subscene=&sessionid=svr_314ec4580b2&enterid=1710246028&from_msgid=2247483855&from_itemidx=1&count=3&nolastread=1#wechat_redirect
这里简单贴一下代码
处理与Cell Ranger相关的输入参数,以便进行单细胞测序数据的分析
easycellranger -db /home/data/user/lei/pipeline/rna/homo_38 -fq /home/data/user/lei/SRAData/GSE/GSE152048/raw/fq
-db # 指定基因参考文件的路径,是必需的参数。
-fq # 指定fastq文件所在的文件夹的路径,是必需的参数。
-ec # 指定运行cellranger时期望的细胞数目,默认值为3000。
一键进行GEO数据库中的单细胞数据的上游处理,目前支持同时多个项目批量下载处理
easyscGEOpipline -g GSE12345,GSE56789,GSE678910 -d /home/data/user/lei/SRAData/GSE -db /home/data/user/lei/pipeline/rna/homo_38 -df True -rmf /home/data/user/lei/pipeline/rna/hg38_rmsk.gtf -gtf /home/data/user/lei/pipeline/rna/Homo_sapiens.GRCh38.109.gtf -vm 350
-g # 必需参数,用于指定GSE项目的编号,输入多个时使用英文逗号隔开。
-d # 用于指定工作目录。如果未指定,将使用当前目录(默认值)。
-t # 非必须,用于指定线程数。如果未指定,将使用计算机的 CPU 内核数(默认值)。
-df # 非必须,默认为False,用于多线程时先下载所有项目的sra数据。
-k # 非必须,用于指定数据拆分类型。默认值为 `--split-files`。
-l # 非必须,用于指定匹配列表文件,如果使用数据为多泳道时,自行构建样本和SRA文件对应列表。
-db # 必需参数,用于指定基因参考文件的路径。
-ec # 非必须,用于指定运行 cellranger 时预期的细胞数量。默认值为 3000。
-oi # 非必须,用于指定cellranger的其他输入参数 。默认值为 `空`。
-rmf # 非必须,用于指定hg38_rmsk.gtf文件的位置,方便计算loom文件使用。默认值为 `空`。
-gtf # 非必须,用于指定Homo_sapiens.GRCh38.109.gtf文件的位置,方便计算loom文件使用。默认值为 `空`。
-vm # 非必须,计算loom文件时所使用的最大内存数,可以自行计算最优并行的线程数。
提醒!!!如果一个GSE数据中同时有不同种属的数据,或有些数据上传的是bam数据有些数据上传的是SRA数据,则无法使用该工具包,这种建议自行一个样本一个样本处理。
一键进行GSA开放数据的单细胞数据的上游处理
easyscGSEpipline -i PRJCA006296 -d /home/data/user/lei/SRAData/GSE -db /home/data/user/lei/pipeline/rna/homo_38 -rmf /home/data/user/lei/pipeline/rna/hg38_rmsk.gtf -gtf /home/data/user/lei/pipeline/rna/Homo_sapiens.GRCh38.109.gtf -vm 300
-i # 必需参数,用于指定GSA项目的编号。
-d # 用于指定工作目录。如果未指定,将使用当前目录(默认值)。
-t # 非必须,用于指定线程数。如果未指定,将使用计算机的 CPU 内核数(默认值)。
-db # 必需参数,用于指定基因参考文件的路径。
-ec # 非必须,用于指定运行 cellranger 时预期的细胞数量。默认值为 3000。
-oi # 非必须,用于指定cellranger 。默认值为 `空`。
-rmf # 非必须,用于指定hg38_rmsk.gtf文件的位置,方便计算loom文件使用。默认值为 `空`。
-gtf # 非必须,用于指定Homo_sapiens.GRCh38.109.gtf文件的位置,方便计算loom文件使用。默认值为 `空`。
-vm # 非必须,计算loom文件时所使用的最大内存数,可以自行计算最优并行的线程数。
参考: