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

【从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.lqws.cn/news/122725.html

相关文章:

  • matlab基于GUI实现水果识别
  • mybatis 参数绑定错误示范(1)
  • 磐云P10 P057-综合渗透测试-使用反弹木马进行提权获取主机Shell
  • 【.net core】【watercloud】树形组件combotree导入及调用
  • .NET Core接口IServiceProvider
  • WebFuture:Ubuntu 系统上在线安装.NET Core 8 的步骤
  • 结构型设计模式之Proxy(代理)
  • 【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
  • 代码随想录算法训练营第60期第五十七天打卡
  • Kafka消息队列
  • 《Docker》架构
  • 1.springmvc基础入门(一)
  • pytorch 与 张量的处理
  • Leetcode日记
  • 如何确定微服务的粒度与边界
  • sql server如何创建表导入excel的数据
  • 结节性甲状腺肿全流程大模型预测与决策系统总体架构设计方案大纲
  • 互联网大厂Java求职面试:云原生架构下的微服务网关与可观测性设计
  • MDP的recoders部分
  • Python基础:文件简单操作
  • .Net Framework 4/C# 属性和方法
  • 【手写系列】手写动态代理
  • C++——智能指针 weak_ptr
  • Java多线程:ThreadPoolTaskExecutor线程池 与CompletableFuture如何打出组合拳
  • Redisson - 实现延迟队列
  • [特殊字符] 深度剖析 n8n 与 Dify:使用场景、优劣势及技术选型建议
  • DA14531_beacon_大小信标设备开发
  • mysql 悲观锁和乐观锁(—悲观锁)
  • 电路设计基础-2
  • Redis-旁路缓存策略详解