Closed ixxmu closed 1 year ago
嗨,小伙伴们🎈!你是不是在单细胞转录组学研究中深感数据下载的繁琐?别担心,今天我为大家带来两款超级好用的下载神器 —— "Kingfisher"
和 "easyBio"
!相信在这两个工具的帮助下,我们能够打开通往高速下载单细胞转录组原始测序数据的大门。🤩
需要注意的是,在大多数的情况下,我们都会使用服务器来下载和处理单细胞上游数据呦。👻
如果还没有服务器,可以看看这个:谈谈租生信服务器的一点体会
在安装kingfisher
之前,你首先需要在你的服务器上面配置好conda
环境,更多细节,你可参考🎉嗯?听说你想要更改服务器/Linux系统中的R版本🐣
# 开始安装 Kingfisher
# Step 1: 创建一个名为 "kingfisher" 的 Conda 环境,并安装必要的软件包
conda create -c conda-forge -c bioconda -n kingfisher pigz python extern curl sra-tools pandas requests aria2
# Step 2: 激活新创建的 Kingfisher 环境
conda activate kingfisher
# 提示: 如果 "conda activate" 命令不起作用,可以尝试以下命令来激活环境
# source activate kingfisher
# Step 3: 在 Kingfisher 环境中安装 bird_tool_utils 包(确保版本为 0.2.17 或更高)
pip install bird_tool_utils'>='0.2.17
# Step 4: 从 GitHub 克隆 Kingfisher 下载工具的仓库到本地
git clone https://github.com/wwood/kingfisher-download
# Step 5: 切换到 "kingfisher-download/bin" 目录
cd kingfisher-download/bin
# Step 6: 将 "kingfisher-download/bin" 目录添加到你的 PATH 环境变量,以便可以从任何位置运行工具
export PATH=$PWD:$PATH
# Step 7: 验证安装 - 运行 Kingfisher 的帮助命令
# 如果能看到帮助文档,则表示 Kingfisher 已成功安装
kingfisher -h
如果你希望在任何地方直接运行kingfisher
,你可以把kingfisher
永久添加到你的环境变量中,使用:
# Step 1: 将 Aspera Connect 的 'ascp' 二进制文件路径添加到用户的 PATH 环境变量中
echo 'export PATH="路径替换成你的:$PATH"' >> ~/.bashrc
# Step 2: 重新加载 .bashrc 配置文件,使之前的更改生效
source ~/.bashrc
下面对2023年9月12日发表在Signal Transduct Target Ther .(IF=39.3,Q1)
杂志上的《Oit3, a promising hallmark gene for targeting liver sinusoidal endothelial cells》中的GSE109774
单细胞原始数据进行下载。
嘻嘻。单细胞原始测序数据大多很大很大,因此我们会使用后台下载的方式。下面的代码都改好了,可一键复制拿来用呦👻!
## 下载路径
cd /home/GSE109774
## 下载数据
nohup kingfisher get -p PRJNA432002 -m ena-ascp > kingfisher.log 2>&1 &
## 下载路径
cd /home/GSE109774
## 下载数据
nohup kingfisher get -p PRJNA432002 -m ena-ascp ena-ftp prefetch aws-http > kingfisher.log 2>&1 &
嘻嘻。如果你仅仅需要这一数据集的部分样本,那你可以指定样本ID进行下载呦。
你可以从这里查看自己需要哪些样本:
下载样本ID的列表后挑选自己需要下载的样本放到目标路径下。运行如下命令一键下载:
cd /home/GSE109774
## 创建脚本
echo 'cat >SRR_Acc_List.txt <<EOF
SRR16947126
SRR16947127
EOF
while IFS= read -r sample; do
prefetch "$sample" -O "$(pwd)" && echo "** ${sampl>e}.sra done **"
done < SRR_Acc_List.txt &' > script.sh
## 运行脚本
nohup bash script.sh > log.txt 2>&1 &
## 将sra转fq
ls SRR* | while read id;do ( nohup fasterq-dump -O ./ --split-files -e 2 ./$id --include-technical & );done
#得到fq.gz文件
ls *fastq |while read id;do (nohup gzip $id &);done
使用aspera
单通道下载原始数据前,你需要提前安装好aspera
。这里我给出可能用于网络问题而导致的下载失败的解决方案:手动下载好后上传服务器。
首先进入网站:https://www.ibm.com/cn-zh/products/aspera/downloads,如图:下载好后手动上传至服务器安装:
# 安装
tar zxvf ibm-aspera-connect_4.2.6.393_linux_x86_64.tar.gz
bash ibm-aspera-connect_4.2.6.393_linux_x86_64.sh
# 然后 cd 到根目录下看看是不是存在了 .aspera 文件夹,有的话表示安装成功
cd && ls -a
# 将 aspera 软件加入环境变量,并激活你同样可以把
aspera
永久设置到你的环境变量中:echo 'export PATH="/home/data/t050446/.aspera/connect/bin/ascp:$PATH"' >> ~/.bashrc
source ~/.bashrc
为什么不用新版,因为aspera自4.2版本以后需要使用微软加的OpenSSH,参见可能是最好的生信数据下载软件aspera,小果踩坑合集
嘻嘻。这里我推荐你使用easyBio的一键重命名命令,方法参见10X单细胞上游 | 一个样本对应多个SRR ID怎么办?
在下载安装好cellranger和参考基因组后,运行如下命令,一键定量:
# 切换到 cellranger 目录并设置 PATH 环境变量
cd /home/GSE109774/cellranger
## 创建run-cellranger.sh脚本
echo '
db=/home/refdata/refdata-gex-mm10-2020-A
fq_dir=/home/SRR
cellranger count --id=$1 \
--localcores=20 \
--transcriptome=$db \
--fastqs=$fq_dir \
--sample=$1 \
--nosecondary \
--chemistry=auto \
--expect-cells=5000 ' > run-cellranger.sh
# 切换到 cellranger 目录
cd /home/GSE109774/cellranger
cat SRR_Acc_List.txt |while read id;do (nohup bash run-cellranger.sh $id 1>log-$id.txt 2>&1 & );done
请注意,SRR_Acc_List.txt最后一定要有空行,不然就会少一个样本呜呜。大轩的血泪教训😭。
相较于Kingfisher
,easyBio
是针对常规下载方案可能会出现各种的问题,比如下载网络速度等,而开发的一个优秀的Python项目。😊
使用
easyBio
,你可以通过输入带有GEO ID、GSM ID、GSA ID等的一行命令来实现高速便捷的原始测序数据下载。同时,easyBio
还支持,全自动获取多泳道对照表,支持一次性下载多个项目。🌱
如果你希望下载我们前面提到的单细胞原始数据,可直接使用:
easyscGEOpipline -g GSE109774 -d /home/data/user/lei/SRAData/GSE -db /home/data/user/lei/pipeline/rna/homo_38
关于
easyBio
的更多教程,请参考如下文章(偷个懒,嘻嘻:
"Kingfisher" 和 "easyBio"是大轩在下载单细胞原始数据的过程中,用起来得心应手的两款宝藏工具。大轩把这两款工具都分享给大家,是希望大家在使用一款工具出现难以解决的bug时,能够快速使用另外一个工具高效的下载数据,不要在一开始花费太多时间,把重心和精力放在真正有价值的事情上。🎯
嘿嘿。希望你在科研的道路上越走越远,取得一个又一个的小成就!有问题随时找我们哦,我们永远在这里为你加油打气!🎈🎈🎈
😘喜欢的话,别忘了给我们点个赞👍,分享给更多的小伙伴,我们一起一起加油呀!冲冲冲!🔥
https://mp.weixin.qq.com/s/WI8u__rXxMdXiX9daItInQ