一、准备工作-目录管理
mkdir rna
cd rna
mkdir biosoft database pipline project project_backup
一句命令同时创建多个同级别文件夹,规律存放,方便溯源
几个文件的作用分别为“软件安装,数据库存放,流程搭建目录,项目分析,数据备份”
二、数据下载
流程:tsv文件——获取sra.url——ascp命令下载sra文件
1、从ENA数据库获取tsv文件
从文献到获取tsv文件的思路:
文献中的GSE编号(materials and methods)——GEO数据库获得该数据集的BioProject编号(PRJNA229998)——到ENA数据库下载tsv文件(其内有aspera下载链接)
(tips:WiFi打开ENA数据库速度慢,建议手机热点)
勾选所需信息列
tsv文件可被Excel打开,其中sra_aspera为下载URL,sra_md5为sra文件的md5值
而后用Xftp将tsv文件导入到Linux服务器,直接放到项目工作目录,或者软链接至工作目录,如下:
# 或者不直接放到工作目录,放到其他目录,软链接到工作目录
ln -s file.tsv ./
2、获取sra.url(sra文件的下载链接)
# 查找sra_aspera,即sra.url在哪一列
head -n 1 file.tsv | tr '\t' '\n' | less -NS
# 发现URL在第14列,切出第14列
less -S file.tsv | cut -f 14
# 剔除第一行信息,并将结果重定向至sra.url文件——14列虽然已经切出,但14列的表头占据了第一行
less -S file.tsv | cut -f 25 | awk 'NR>1{print}'>sra.url
# 附——简化:三四行代码可以用awk简化,直接取出第14列,且排除第1行,重定向至sra.url文件
cat file.tsv | awk 'NR>1{print $14}'>sra.url
# 最后查看一下提取出来的URL,-A可以查看所有字符
cat -A file.tsv
# 发现每行的行尾有一个$符号
3、sra数据下载
# 下载单个文件(注:'\'字符为转义字符,表示命令还没有输完)
# 最后一行下载链接之前有“era-fasp@”,注意!!!
ascp -k 1 -QT -l 300m -P33001 \
-i '秘钥文件的绝对路径' \
era-fasp@'sra的下载链接' ./
# 任务投递
# Ctrl+z 下载时使任务暂停并转入后台
bg # 后台再次运行
jobs # 查看当前运行的任务
top
ps -fx
fg #转前台 不加参数时,把刚刚转后台的任务转前台;如果已经退出服务器,需要把后台转前台,需要在fg后面加任务号,jobs -l 命令可以显示任务号(中括号里面的数字)
# 批量下载
# 得到sra.url文件,如果行尾存在特殊字符,运行 sed -i "s/\s*$//g" sra.url 去掉行尾特殊字符
# 行尾有$符号,批量下载之前要去掉!!!!
cat filereport_read_run_PRJNA229998_tsv.txt |awk 'NR>1{print $13}' >sra.url
cat filereport_read_run_PRJNA229998_tsv.txt |awk -F '\t' 'NR>1 {print $20}' |tr ';' '\n' >fastq.url
# 批量下载命令 用shell脚本+while循环批量下载!!!!!!!!!!!!!!!!!!!!
cat sra.url |while read id
do
ascp -k 1 -QT -l 300m -P33001 -i ~/miniconda3/envs/rna/etc/asperaweb_id_dsa.openssh era-fasp@${id} ./ &
done
释义:
ascp命令(aspera软件中的命令)
-k 表示断点续传,通常设置为1
-Q 启用QQ传输策略,使用-l和-m可以分别设定最高和最小传输速度
-T 取消加密传输,若不添加此参数,可能无法下载
-P 表示默认端口
-i 输入秘钥,此参数后接秘钥文件
公共账户名(era-fasp@),后面是下载URL,最后是下载文件存放的文件夹
tips:秘钥文件的路径可以用find命令查找
find '待搜索文件夹' -name '*.openssh'
# ‘待搜索文件夹’使用绝对路径填写,返回的路径也会是绝对路径,就可以直接拷贝到秘钥文件位置