一扇雕、準備工作-目錄管理
mkdir rna
cd rna
mkdir biosoft database pipline project project_backup
一句命令同時創(chuàng)建多個同級別文件夾拓售,規(guī)律存放,方便溯源
幾個文件的作用分別為“軟件安裝镶奉,數(shù)據庫存放础淤,流程搭建目錄,項目分析哨苛,數(shù)據備份”
二鸽凶、數(shù)據下載
流程:tsv文件——獲取sra.url——ascp命令下載sra文件
1、從ENA數(shù)據庫獲取tsv文件
從文獻到獲取tsv文件的思路:
文獻中的GSE編號(materials and methods)——GEO數(shù)據庫獲得該數(shù)據集的BioProject編號(PRJNA229998)——到ENA數(shù)據庫下載tsv文件(其內有aspera下載鏈接)
(tips:WiFi打開ENA數(shù)據庫速度慢建峭,建議手機熱點)
勾選所需信息列
image.png
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
# 發(fā)現(xiàn)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
# 發(fā)現(xiàn)每行的行尾有一個$符號
3兴泥、sra數(shù)據下載
# 下載單個文件(注:'\'字符為轉義字符臣缀,表示命令還沒有輸完)
# 最后一行下載鏈接之前有“era-fasp@”,注意!S榔薄!
ascp -k 1 -QT -l 300m -P33001 \
-i '秘鑰文件的絕對路徑' \
era-fasp@'sra的下載鏈接' ./
# 任務投遞
# Ctrl+z 下載時使任務暫停并轉入后臺
bg # 后臺再次運行
jobs # 查看當前運行的任務
top
ps -fx
fg #轉前臺 不加參數(shù)時痴鳄,把剛剛轉后臺的任務轉前臺柏卤;如果已經退出服務器,需要把后臺轉前臺抖拴,需要在fg后面加任務號燎字,jobs -l 命令可以顯示任務號(中括號里面的數(shù)字)
# 批量下載
# 得到sra.url文件,如果行尾存在特殊字符阿宅,運行 sed -i "s/\s*$//g" sra.url 去掉行尾特殊字符
# 行尾有$符號候衍,批量下載之前要去掉!H鞣拧r嚷埂!
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循環(huán)批量下載MQ臁!A熳贰K拧!H抟ぁW厮铩!;芈邸I⒑薄!?亍E肥!T崃恰N笊酢!F拙弧窑邦!
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 表示斷點續(xù)傳,通常設置為1
-Q 啟用QQ傳輸策略壕探,使用-l和-m可以分別設定最高和最小傳輸速度
-T 取消加密傳輸冈钦,若不添加此參數(shù),可能無法下載
-P 表示默認端口
-i 輸入秘鑰李请,此參數(shù)后接秘鑰文件
公共賬戶名(era-fasp@)瞧筛,后面是下載URL厉熟,最后是下載文件存放的文件夾
tips:秘鑰文件的路徑可以用find命令查找
find '待搜索文件夾' -name '*.openssh'
# ‘待搜索文件夾’使用絕對路徑填寫,返回的路徑也會是絕對路徑较幌,就可以直接拷貝到秘鑰文件位置