当前位置: 首页 > article >正文

【从GEO数据库批量下载数据】

从GEO数据库批量下载数据

1:进入GEO DataSets拿到所需要下载的数据的srr.list,上传到linux, 就可以使用prefetch这个函数来下载
2:操作步骤如下:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

conda 安装sra-tools

conda create -n sra-env -c bioconda -c conda-forge sra-tools=3.0.7 -y
conda activate sra-env
which prefetch
>> /data/user/yzhao/miniconda3/envs/sra-env/bin/prefetch

下载

#组织好自己的数据,先进入文件夹
cd /data/user/yzhao/project/2025_hCHD7
mkdir {sra,raw,clean,align,peaks,motif,qc}
cd sra
#prefetch下载数据,SRR_Acc_List.txt就是我命名的包含 SRR ID 列表的文件。也就是srr.list
cat ../rawdata/SRR_Acc_List.txt | while read id; do     echo "Downloading $id...";     nohup prefetch "$id" --max-size 100G -O ./ & done
#实时查看 nohup.out 文件的最新输出内容,通常用于观察后台运行程序的日志,按 Ctrl + C 即可退出 tail -f 实时查看模式。
tail -f nohup.out
#漏下了一个,可用prefetch单独下载
prefetch SRR14107966 -O /data/user/yzhao/project/2025_hCHD7/sra/sra/
#方法1:得到fastq测序数据
vim sra2fastq.sh
#!/bin/bashTHREADS=8
INDIR="/data/user/yzhao/project/2025_hCHD7/sra/sra"
OUTDIR="/data/user/yzhao/project/2025_hCHD7/raw"mkdir -p "$OUTDIR"for sra_dir in "$INDIR"/*; doif [ -d "$sra_dir" ]; thensample=$(basename "$sra_dir")sra_file="$sra_dir/$sample.sra"if [ -f "$sra_file" ]; thenecho "Converting $sample ..."fasterq-dump "$sra_file" -e $THREADS -O "$OUTDIR"# 压缩fastq文件if [ -f "$OUTDIR/${sample}_1.fastq" ]; thengzip "$OUTDIR/${sample}_1.fastq"fiif [ -f "$OUTDIR/${sample}_2.fastq" ]; thengzip "$OUTDIR/${sample}_2.fastq"fiif [ -f "$OUTDIR/${sample}.fastq" ]; thengzip "$OUTDIR/${sample}.fastq"fielseecho "Warning: $sra_file not found!"fifi
done
chmod +x sra2fastq.sh
nohup bash sra2fastq.sh >sra2fastq.sh.log &# 方法2:在获得fastq的过程中完成样品名称的替换
vim sra2fastq.sh2
#!/bin/bashTHREADS=8
INDIR="/data/user/yzhao/project/2025_hCHD7/sra/sra"
OUTDIR="/data/user/yzhao/project/2025_hCHD7/raw"# 建立 SRR -> 样本名 的映射
declare -A NAME_MAP=([SRR14107961]=CHD7_HA1[SRR14107962]=CHD7_HA2[SRR14107963]=CHD7_HA3[SRR14107964]=KO1[SRR14107965]=KO2[SRR14107966]=KO3
)for sra_dir in "$INDIR"/*; doif [ -d "$sra_dir" ]; thensrr_id=$(basename "$sra_dir")sra_file="$sra_dir/$srr_id.sra"# 判断文件是否存在并在映射表中if [ -f "$sra_file" ] && [[ ${NAME_MAP[$srr_id]+_} ]]; thennew_name=${NAME_MAP[$srr_id]}echo "Converting $srr_id to $new_name ..."# 转换为 fastq(会生成 _1.fastq 和 _2.fastq)fasterq-dump "$sra_file" -e $THREADS -O "$OUTDIR"# 重命名并压缩if [ -f "$OUTDIR/${srr_id}_1.fastq" ]; thenmv "$OUTDIR/${srr_id}_1.fastq" "$OUTDIR/${new_name}_1.fastq"gzip "$OUTDIR/${new_name}_1.fastq"fiif [ -f "$OUTDIR/${srr_id}_2.fastq" ]; thenmv "$OUTDIR/${srr_id}_2.fastq" "$OUTDIR/${new_name}_2.fastq"gzip "$OUTDIR/${new_name}_2.fastq"fiif [ -f "$OUTDIR/${srr_id}.fastq" ]; thenmv "$OUTDIR/${srr_id}.fastq" "$OUTDIR/${new_name}.fastq"gzip "$OUTDIR/${new_name}.fastq"fielseecho "Warning: $sra_file not found or no name mapping!"fifi
done
chmod +x sra2fastq.sh2
nohup bash sra2fastq.sh2 > sra2fastq.sh2.log 2>&1 &
http://www.lryc.cn/news/2399285.html

相关文章:

  • day 44
  • 鸿蒙OSUniApp开发跨平台AR扫描识别应用:HarmonyOS实践指南#三方框架 #Uniapp
  • NER实践总结,记录一下自己实践遇到的各种问题。
  • 微信小程序实现运动能耗计算
  • iTunes 无法备份 iPhone:10 种解决方法
  • 施耐德特价型号伺服电机VIA0703D31A1022、常见故障
  • LangChain4J 使用实践
  • 慢SQL调优(二):大表查询
  • 【C++】—— 从零开始封装 Map 与 Set:实现与优化
  • 内网穿透之Linux版客户端安装(神卓互联)
  • 开疆智能Profinet转Profibus网关连接CMDF5-8ADe分布式IO配置案例
  • 华为云Flexus+DeepSeek征文|Flexus云服务器单机部署+CCE容器高可用部署快速搭建生产级的生成式AI应用
  • 扫地机产品--材质传感器算法开发与虚拟示波器
  • [蓝桥杯]上三角方阵
  • 60天python训练计划----day44
  • 【JAVA版】意象CRM客户关系管理系统+uniapp全开源
  • API异常信息如何实时发送到钉钉
  • Python爬虫(48)基于Scrapy-Redis与深度强化学习的智能分布式爬虫架构设计与实践
  • AtCoder Beginner Contest 407 E - Most Valuable Parentheses
  • (1-6-3)Java 多线程
  • java31
  • 多模态之智能数字人
  • 界面组件DevExpress WPF中文教程:Grid - 如何识别行和卡片?
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(三十)
  • AI基础知识(LLM、prompt、rag、embedding、rerank、mcp、agent、多模态)
  • [蓝桥杯]高僧斗法
  • pycharm F2 修改文件名 修改快捷键
  • Python Flask中启用AWS Secrets Manager+AWS Parameter Store配置中心
  • 机器学习与深度学习10-支持向量机02
  • 《深入解析UART协议及其硬件实现》-- 第二篇:UART硬件架构设计与FPGA实现