前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >easyBio — 简化生信上游处理的工具包

easyBio — 简化生信上游处理的工具包

作者头像
生信菜鸟团
发布2024-03-18 14:01:37
2750
发布2024-03-18 14:01:37
举报
文章被收录于专栏:生信菜鸟团

工欲善其事必先利其器

1easyBio

easyBio是一个由上海交通大学 shilei 维护的基于Python的生物信息学软件项目,提供了多个小工具,旨在简便生物信息学数据的分析和处理。

最初看到easyBio只知道可以用来下载GEO数据,摸索之后发现其还有一些很有意思的功能,不过就是目前还不是很成熟。

  • github:https://github.com/xleizi/easyBio_conda

【github目前提供的不是软件最新版】

2如何安装

pip 安装

目前来说,安装起来有一点麻烦。且最新版的不能用conda安装。所以我们用conda配置好分析环境后,可以用pip安装easyBio

代码语言:javascript
复制
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 安装,会发现安装速度很慢,也容易失败,尝试添加镜像安装

代码语言:javascript
复制
## 测试发现,豆瓣和阿里云的镜像都没有
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本地安转

代码语言:javascript
复制
conda create -n easyBio
conda activate easyBio
# conda包安装
conda install --use-local ./easybio-0.3.5-py310_0.tar.bz2

3功能简要

可用功能

4简单使用

easydownloadSRA

通过GSE编号下载相应的数据集

代码语言:javascript
复制
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数据非常丝滑方便

easysplitSRA

用于处理.sra 文件的工具,它使用parallel-fastq-dump进行文件的拆分

代码语言:javascript
复制
~/.local/bin/easysplitSRA -t 8 -f ../SRR23582359/ -o ./

-f # 指定包含`.sra`文件的文件夹,默认是当前目录
-t # 设置使用的线程数,默认为计算机的CPU核心数
-o # 指定输出目录,默认为`out`
-k # 拆分的类型,默认是(--split-files)

-k 参数按说明是可以指定拆分类型的,但是应该是有bug,参数传递并不成功(使用说明太简陋,也许是我没有给对参数)

-k 参数失败

easychangeSRAName

自动重命名SRA文件

代码语言:javascript
复制
easychangeSRAName -l sample_change_info.txt -f ~/easybio_test/

-l #列表文件,包含了原始文件名与期望更改后的文件名的匹配信息
-f #要处理的文件的目录路径

如果是多泳道请使用--list_fill(-l)参数,如果--list_fill参数为空,则默认使用单泳道模式

改名前

重命名后

可以看到对于一个样本对应多个fastq文件的改名还是很方便的。

不过有一点需要注意的是,该脚本仅仅是根据GEO的SRR文件命名来写的,如果对于非标准的文件改名就失效了,有需要的朋友可以尝试去修改一下源码

比如下面这种情况:

改名失效

对于单细胞数据样本的重命名也可以参考:聊聊改名——哪个更优雅?

4其余功能

其余一键上游处理功能还没有用到,感兴趣的用户可以去学习工具包作者的相关推文:

代码语言:javascript
复制
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

这里简单贴一下代码

easycellranger

处理与Cell Ranger相关的输入参数,以便进行单细胞测序数据的分析

代码语言:javascript
复制
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。

easyscGEOpipline

一键进行GEO数据库中的单细胞数据的上游处理,目前支持同时多个项目批量下载处理

代码语言:javascript
复制
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数据,则无法使用该工具包,这种建议自行一个样本一个样本处理。

easyscGSEpipline

一键进行GSA开放数据的单细胞数据的上游处理

代码语言:javascript
复制
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文件时所使用的最大内存数,可以自行计算最优并行的线程数。

参考:

  • 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
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信菜鸟团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1easyBio
  • 2如何安装
    • pip 安装
      • 方法二
      • 3功能简要
      • 4简单使用
        • easydownloadSRA
          • easysplitSRA
            • easychangeSRAName
            • 4其余功能
              • easycellranger
                • easyscGEOpipline
                  • easyscGSEpipline
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档