ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
116 stars 30 forks source link

"Kingfisher" OR "easyBio":单细胞转录组原始测序数据下载完全指南 #3854

Closed ixxmu closed 1 year ago

ixxmu commented 1 year ago

https://mp.weixin.qq.com/s/WI8u__rXxMdXiX9daItInQ

ixxmu commented 1 year ago

"Kingfisher" OR "easyBio":单细胞转录组原始测序数据下载完全指南 by TOP生物信息

"Kingfisher" OR "easyBio":单细胞转录组原始测序数据下载完全指南🎯

嗨,小伙伴们🎈!你是不是在单细胞转录组学研究中深感数据下载的繁琐?别担心,今天我为大家带来两款超级好用的下载神器 —— "Kingfisher""easyBio"!相信在这两个工具的帮助下,我们能够打开通往高速下载单细胞转录组原始测序数据的大门。🤩

需要注意的是,在大多数的情况下,我们都会使用服务器来下载和处理单细胞上游数据呦。👻

如果还没有服务器,可以看看这个:谈谈租生信服务器的一点体会

Kingfisher:经典的高速下载

下载安装kingfisher

在安装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单细胞原始数据进行下载。

查看SRA号码👀

一键快速下载🤩

嘻嘻。单细胞原始测序数据大多很大很大,因此我们会使用后台下载的方式。下面的代码都改好了,可一键复制拿来用呦👻!

aspera单通道下载(速度较快,推荐首先使用)
## 下载路径
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下载数据,建议你使用旧版的呦。

旧版下载可参考:测序数据大文件怎么下?Aspera工具ascp下载NCBI数据常见问题解决方案

为什么不用新版,因为aspera自4.2版本以后需要使用微软加的OpenSSH,参见可能是最好的生信数据下载软件aspera,小果踩坑合集

下载完成后重命名📌

嘻嘻。这里我推荐你使用easyBio的一键重命名命令,方法参见10X单细胞上游 | 一个样本对应多个SRR ID怎么办?

Cellranger count进行定量喽!!!🎉

在下载安装好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最后一定要有空行,不然就会少一个样本呜呜。大轩的血泪教训😭。

easyBio:GEO ID一键下载

相较于KingfishereasyBio是针对常规下载方案可能会出现各种的问题,比如下载网络速度等,而开发的一个优秀的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的更多教程,请参考如下文章(偷个懒,嘻嘻:

单细胞上游:四、震惊!不需要构建SRR样本列表,仅需要GEO号就能下载上游数据,当前最完美的GEO上游数据下载方案

单细胞上游:七、GEO单细胞数据一键上游

单细胞上游:十、指定GSM文件下载

结尾啦🎉

"Kingfisher" 和 "easyBio"是大轩在下载单细胞原始数据的过程中,用起来得心应手的两款宝藏工具。大轩把这两款工具都分享给大家,是希望大家在使用一款工具出现难以解决的bug时,能够快速使用另外一个工具高效的下载数据,不要在一开始花费太多时间,把重心和精力放在真正有价值的事情上。🎯

嘿嘿。希望你在科研的道路上越走越远,取得一个又一个的小成就!有问题随时找我们哦,我们永远在这里为你加油打气!🎈🎈🎈

😘喜欢的话,别忘了给我们点个赞👍,分享给更多的小伙伴,我们一起一起加油呀!冲冲冲!🔥

参考资料📚

  1. 单细胞|JCI insight 文献复现(一)——SRA原始数据下载到上游分析
  2. 单细胞|JCI insight 文献复现(二)—— 上游分析之CellRanger count
  3. 来吧,加速你的下载
  4. 最近aspera下载受阻
  5. 🎉嗯?听说你想要更改服务器/Linux系统中的R版本🐣
  6. Oit3, a promising hallmark gene for targeting liver sinusoidal endothelial cells(PMID:37696816)
  7. 测序数据大文件怎么下?Aspera工具ascp下载NCBI数据常见问题解决方案
  8. 可能是最好的生信数据下载软件aspera,小果踩坑合集
  9. 10X单细胞上游 | 一个样本对应多个SRR ID怎么办?
  10. 单细胞上游:四、震惊!不需要构建SRR样本列表,仅需要GEO号就能下载上游数据,当前最完美的GEO上游数据下载方案
  11. 单细胞上游:七、GEO单细胞数据一键上游
  12. 单细胞上游:十、指定GSM文件下载

往期精彩🏰

  1. 来玩!FlowUs AI🤖:生信代码注释神器~
  2. 【ChatGPT】
  3. 【单细胞系统教程,基于Python】
  4. 【单细胞高级绘图】
  5. 空间转录组定义肝癌的侵袭前沿
  6. 在肿瘤空转数据中,使用SpaCET进行细胞类型占比估计
  7. 【空间转录组】MIA分析