J

Jay2Echo

V1

2022/12/06阅读:39主题:默认主题

[Linux|生信]project4_01:批量下载sra文件并转化为fastq文件

背景

  • 最近参加“生信技能树”组织的实习,要求完成从*.sra原始数据出发完成人类单细胞转录组数据下载、质控过滤、Hisat2比对、featureCounts定量的任务。接下来一段时间会出一个小系列。
  • 几年前在学校的生信课上分析了一个完整的Chip-Seq流程,当时对很多概念一知半解,这次借着这个机会再回头打打基础。

数据下载

环境准备

首先安装一个conda虚拟环境并更换镜像(下载国外资源更方便),见文末参考链接

# 下面四行配置北京外国语大学的conda的镜像
# 配置完需要重启终端
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/ 
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/ 
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/ 
conda config --set show_channel_urls yes 

# 新建conda虚拟环境
conda create -n biotree

随后依次安装下述软件包

# 进入刚创建的虚拟环境
conda activate biotree

# 数据下载所需包
conda install -y -c hcc aspera-cli
conda install -y -c bioconda sra-tools
# 后续分析所需包
conda install  -y -c bioconda fastqc trim-galore hisat2 subread
conda install  -y -c bioconda salmon 
conda install  -y -c bioconda samtools 

根据SRR*编号批量下载数据

  1. 将下列编号置于一个文件中(如:“my_Acc_List.txt”),一行一个。
  2. 批量下载SRA数据
cat my_Acc_List.txt | while read id;do (prefetch -X 100G $id );done

可得如下三个文件夹: 3. 批量将SRA数据转化为fastq数据

# 3.1.批量将SRA文件转换fastq文件
ls -d SRR* | while read id;do ( nohup fasterq-dump -O ./ --split-files -e 2 ./$id --include-technical & );done
# 3.2.批量将fastq文件压缩成fastq.gz文件
ls *fastq |while read id;do (nohup gzip $id &);done

注:

  • 3.1中“ls”命令后需要添加“-d”参数 不加“-d”参数管道符传递的是子文件夹的名字,会导致命令报错
  • 上述shell命令中的“nohup &”是将操作置于后台运行,就是说我们这边终端关机命令还可以在服务器上正常运行。防止意外停电是不是很Nice!

其他

如何获取上述提到的SRR编号?

  1. 首先登录NCBI官网(https://www.ncbi.nlm.nih.gov/),在搜索框中输入感兴趣的关键词,选择“GEO datasets”;
输入感兴趣的搜索关键词
输入感兴趣的搜索关键词
  1. 选择感兴趣的项目
选择感兴趣的项目
选择感兴趣的项目
  1. 找到页面下侧“SRA”
SRA入口
SRA入口
  1. 获取编号文件
获取编号文件
获取编号文件
  • 推文多平台同步发布,公众号内容食用更佳
  • 更多内容,请关注微信公众号“生信矿工”
公众号二维码
公众号二维码

参考链接

分类:

后端

标签:

后端

作者介绍

J
Jay2Echo
V1