对GEO 数据库批量下载文件需求的步骤记录。
几个问题
- 可否在ftp链接中,直接给出序号范围,从而实现以GEO号的批量下载?
- Linux下wget命令,能否以变量名形式给出URL和文件保存路径?
任务描述
在以下GEO项目中,https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE133549,下载15个Series的所有supplement 文件。
实现思路
- 确定ftp url;【http url 和ftp url有所不同】
- 构建wget 批量下载输入文件,每行为每个GEO序号对应url,【以空格分隔,第二列保存对应文件保存路径】
- wget 设置参数,实现批量下载
命令语句
wget -c -r -np -nd -nc -A .gz -P your_output_filt_dir/GSE133538_C1HTsmall ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE133nnn/GSE133538/suppl/
- -c 断点传输
- -r 递归搜索
- -np 不搜索父目录
- -nc 不创建目录
- -A 下载文件格式列表
- -P 下载文件保存路径
对第二个问题的尝试
for i in `cat my_urls.txt`;
do a=`echo $i|awk '{print $1}'`;b=`echo $i|awk '{print $2}'`; echo $a; echo $b; (wget -c -r -np -nd $a -P $b) ;
done
但是,并未成功。
其他想法
可否直接根据输入的GEO序列号,直接下载所有对应文件,而后再对这些文件进行分割,保存到指定文件夹中?
网友评论