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

【从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.xdnf.cn/news/11860.html

相关文章:

  • docker生命周期
  • 结构性设计模式之Flyweight(享元)
  • Linux基本指令(三)
  • 【投稿优惠】2025年人工智能与图像处理国际会议(AIIP 2025)
  • 物联网协议之MQTT(一)基础概念和设备
  • 【Web应用】若依框架:基础篇14 源码阅读-后端代码分析
  • 瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读
  • [特殊字符] Spring Boot底层原理深度解析与高级面试题精析
  • webpack继续学习
  • 一个小小的 flask app, 几个小工具,拼凑一下
  • epoll
  • HikariCP 可观测性最佳实践
  • 你工作中涉及的安全方面的测试有哪些怎么回答
  • STM32上部署AI的两个实用软件——Nanoedge AI Studio和STM32Cube AI
  • ESOP交易系统搭建全景指南:从合规基石到价值跃迁
  • 人机融合智能 | 可穿戴计算设备的多模态交互
  • Vue中的自定义事件
  • PLC远程控制网关支持多塘口水环境数据边缘计算与远程安全传输的配置指南
  • 四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
  • Mac/iOS 如何解压 RAR 格式压缩包:常用工具与详细操作步骤
  • GNSS误差源 介绍
  • 【C/C++】入门grpc的idl
  • 格恩朗超声波水表 精准计量 智慧之选
  • matlab模糊控制实现路径规划
  • 详细讲解Flutter GetX的使用
  • 职坐标IT教育物联网全栈开发实战:传感器到云平台全链路
  • 鸿蒙应用开发之uni-app x实践
  • Elasticsearch 集群运维常用命令详解
  • CCPC题目
  • 第12节 Node.js 函数