直接看本文最下面下载脚本,区分SRR长度,下载fq

一、prefetch 下载

1. 打开NCBI数据库(https://www.ncbi.nlm.nih.gov/),在搜索框输入要查询的编号。

2.在搜索结果中勾选你感兴趣的样本,选择右上角Send to – File – Accession List, 点击Create File,下载SraAccList.txt 文件

3.下载安装最新版本SRA Toolkit。(https://www.ncbi.nlm.nih.gov/sra/docs/sradownload/#ui-ncbiinpagenav-heading-4 )

4.运行命令:**prefetch --option-file SraAccList.txt**

下载完成后,文件被存储在默认目录:**/home/usrname/ncbi/public/sra/**

cat SraAccList.txt

SraAccList.txt

### Step2:perfetch 数据下载和解压

# Step2.1 perfetch 下载

$ cat down.txt | while read id; do

echo $id;

( nohup prefetch $id --max-size 200G & );

done

# Step2.2 faster-dump解压

ls *.sra | while read id;

do

echo $id; ( nohup fasterq-dump -e 16 --split-files -O ./ $id & );

done

二、 Ascp 快速下载

软件下载:

wget http://download.asperasoft.com/download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-64.tar.gz

tar -zxvf aspera-connect-3.7.4.147727-linux-64.tar.gz

sh aspera-connect-3.7.4.147727-linux-64.sh

添加环境变量:

vi ~/.bashrc

export PATH="/home/username/.aspera/connect/bin:$PATH" # username为你的用户名

下载单个SRA文件

ascp -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR526/SRR5266611/SRR5266611.sra .

Aspera的用法:

$ ascp [参数] 目标文件 目的地址

Aspera的常用参数:

-T 不进行加密。若不添加此参数,可能会下载不了。

-i string

输入私钥,安装 aspera 后有在目录 ~/.aspera/connect/etc/ 下有几个私钥,使用 linux 服务器的时候一般使用 asperaweb_id_dsa.openssh 文件作为私钥。

--host=string

ftp的host名,NCBI的为ftp-private.ncbi.nlm.nih.gov;EBI的为fasp.sra.ebi.ac.uk。

--user=string

用户名,NCBI的为anonftp,EBI的为era-fasp。

--mode=string

选择模式,上传为 send,下载为 recv。

-l string

设置最大传输速度,比如设置为 200M 则表示最大传输速度为 200m/s。若不设置该参数,则一般可达到10m/s的速度,而设置了,传输速度可以更高。

批量下载 ,首先创建一个accession文件,用于保存序列号

$ head accession.txt

SRR5266611

SRR5266610

SRR5266609

SRR5266608

SRR5266607

SRR5266606

(现在下载有些问题,用EBI 正常)

写个简单的循环,进行批量下载,down_SRR_data.sh 脚本内容如下:

for i in `cat accession.txt`;do

x=$(echo $i | cut -b1-6)

y=$(echo $i | cut -b1-3)

ascp -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/$y/$x/$i/$i.sra .

done

从EBI下载脚本

#download from EBI

#EBI

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/SRR621/003/SRR6213653/SRR6213653_1.fastq.gz ./

#!/bin/bash

# 双端数据

cat download_fq_paired.ascp.txt |while read id;do

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:9:10}/$id/${id}_1.fastq.gz ./

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:9:10}/$id/${id}_2.fastq.gz ./

done

# 单端数据

cat doenload_fq_single.ascp.txt|while read id;do

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:9:10}/$id/${id}.fastq.gz ./

done

SRA database ftp地址规律:

/sra/sra-instant/reads/ByRun/sra/{SRR|ERR|DRR}///.sra

推荐Acsp 下载,比prefetch 更加稳定,速度可能更快

tips:

1.如果需要杀掉prefetch 批量下载程序,直接top 后kill prefetch 进程

2.如果需要杀掉Ascp 下载程序,需要首先kill 掉 sh down_SRR_data.sh 进程,再查杀掉 真正运行的Ascp下载程序,于是这个for 循环下载就会全部终止~~~

三、【检查数据是否下载完整】进行比对accession.txt 与下载的.sra文件差异

需要下载的SRA列表 但是只下载了269个,需要查明原因。

notepad++排序去重

需要下载的list

#comm之前需要进行sort ,之后comm 得到差集。即可知道哪些sra文件下载漏了

[kcao@login raw_data]$ sort SRR_Acc_List.txt >test.txt

[kcao@login raw_data]$ ls|grep "sra$"|sed "s/.sra//g"|sort|comm - test.txt -3

SRR531939

[kcao@login raw_data]$ ascp -T -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T -l200R531939.sra .&

四、GSM转SRR

image.png

[kcao@h1-lgl test]$ for GSM in `cat downlaod.txt`;do SRR=`esearch -db sra -query $GSM | efetch -format docsum|xtract -pattern DocumentSummary -element Run@acc`;echo $SRR;done

SRR513122

SRR3055265

SRR3055266

五,注意

*纠正ascp 下载脚本【按照SRR长度,分别下载fastq文件。】

# 对于单端数据

cat down.txt |while read id;do if [ ${#id} == 9 ] ;

then

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/$id/${id}.fastq.gz ./;

else

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/$id/${id}.fastq.gz ./;

fi;

done

# 对于双端数据

cat down.txt |while read id;do if [ ${#id} == 9 ] ;

then

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/$id/${id}_1.fastq.gz ./;

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/$id/${id}_2.fastq.gz ./;

else

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/$id/${id}_1.fastq.gz ./;

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh era-fasp@fasp.sra.ebi.ac.uk:/vol1/fastq/${id:0:6}/00${id:0-1}/$id/${id}_2.fastq.gz ./;

fi;

done

ascp 添加到环境变量,prefetch下载sra,自动搜索scp

image.png

六:单细胞数据下载

由于从EBI里面来看,单细胞数据存放只有一个文件,类似单端数据一样,但是不能下载FASTQ文件,而是下载SRA文件,再进行解压。

## methods2: ascp 从EBI下载.sra 数据

cat down.txt |while read id;do if [ ${#id} == 10 ] ;

then

ascp -QT -l 300m -P33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh \

era-fasp@fasp.sra.ebi.ac.uk:/vol1/srr/${id:0:6}/00${id:0-1}/$id ./;

else

echo "###### $id error ###### "

fi;

done

附:

linux srr 乱码,批量下载SRR数据相关推荐

  1. Linux用wget批量下载GEO数据

    目录 一.什么是wget? *下载数据除此外还有一些其他软件可以试试 二.下载数据 2.1找到想要下载的数据并复制链接 2.2转换链接 2.3建立下载文件url列表 2.4下载数据 一.什么是wget ...

  2. 批量下载ECMWF数据的正确姿势

    前言 之所以要写这篇文章,是因为我发现网上这方面的教程比较重复并且有一些大家很关系的问题都没有给出解答.因此我希望自己写一篇指导文章,帮助那些想要批量下载ECMWF数据的小伙伴跳过各种坑,能用正确的姿 ...

  3. 关于批量下载MODIS数据的坑

    关于批量下载MODIS数据的坑与正确姿势 1. 第一个坑 1.1 Ladsweb的坑 由于之前做项目的时候去Ladsweb官网下载数据的时候还好好的,于是经过被批评改正之后回来就信心满满地去Ladsw ...

  4. python脚本--批量下载GNSS数据

    文章目录 1. 前言 2. 思路 3. Talk is cheap 4. 总结 1. 前言 应某一瓜皮要求,为其写一个用于批量下载GNSS数据的脚本.恰好前几天研究过如何在教务系统中自动签到,便有了这 ...

  5. python之批量下载网页数据

    python之批量下载网页数据 要下载如下网页所示数据,一个一个点下载繁琐,我们用python代码来批量下载. python代码: import urllib.request # url reques ...

  6. 批量下载ERA5数据(Python+IDM)

    本文介绍了如何通过Python脚本和Internet Download Manager(IDM)软件批量下载ERA5数据. 1. ERA5数据简介 ERA5是第五代ECMWF大气再分析全球气候数据,该 ...

  7. 使用python批量下载天猫数据并进行合并(非爬虫)

    使用python批量下载天猫数据并进行合并(非爬虫) 做电商运营少不了数据分析支持,无论是选品.选关键词.研究竞品还是开直通车.店铺引流都需要有数据支持.不过生意参谋虽然强大,但现在都只能显示&quo ...

  8. 再谈批量下载Modis数据之Google earth engine

    再谈批量下载Modis数据之Google earth engine 最近在学习GEE,就拿Modis数据练个手.本文选用MOD13A1 NDVI产品为例,介绍如何通过gee来批量下载Modis数据到本 ...

  9. linux使用wget 批量下载PDB文件

    linux 命令行批量下载pdb 文件 有100个PDB需要下载,可以用到linux wget 尝试用for 语句,不过PDB网站不让机器自动下载. 下载一个PDB文件,可以用 wget http:/ ...

最新文章

  1. 10万元奖金助力AI加速药物研发!小分子预测大赛来啦
  2. SQL Server性能计数器部署(批量)
  3. 《CCNP SWITCH 300-115学习指南》——导读
  4. [云炬python3玩转机器学习笔记] 2-5机器学习相关的哲学思考
  5. JZOJ 5941. 【NOIP2018模拟11.01】乘
  6. UEditor使用报错Cannot set property 'innerHTML' of undefined
  7. 活跃用户数怎么计算_留存率计算
  8. 如何使用UI技术提升租房类APP的看房体验?
  9. python中的文件读取注意事项
  10. java中super关键字的用法
  11. Linux 用户(useradd/userdel/groupadd/groupmod
  12. kuangbin专题一 简单搜索
  13. Atitit 信用管理概论 attilax学习心得
  14. linux安装gcc等程序包,Linux手动安装gcc-8.3.0
  15. 希尔伯特空间等各空间介绍-数据升维以及核函数选择
  16. 全网最新抖音视频去水印解析PHP网页源码
  17. 小狗钱钱 的读书笔记
  18. Codeforces Round #807 (Div. 2)补题
  19. FreeMarker 输出Boolean类型变量默认值
  20. 杨卫华:新浪微博的架构发展历程

热门文章

  1. 怎么用照片制作MV视频?把照片合集做成MV视频的软件,实用制作教程!
  2. 办公技能01:最简单的调整图片分辨率方法——用windows自带的画图功能
  3. 神经网络芯片概念股,图神经网络预测股票
  4. 用python画小猪佩奇的编码有注释_啥是佩奇?使用Python自动绘画小猪佩奇的代码实例...
  5. 《SQL Server 2008从入门到精通》--20180724
  6. js简单实现百度地图雷达探测效果
  7. 什么是多尺度密集网络 - MSDNet ?
  8. 计算机主机不通电,电脑主机不通电无法开机怎么解决
  9. 全国计算机等级考试证书电子,全国计算机等级考试证书效力
  10. 微信聊天记录备份:当前网络状况复杂和连接失败的解决办法