其中有一个资源是最新的(2023年10月)NC文章《Genome-wide association analysis of plasma lipidome identifies 495 genetic associations》里面的数据在GWAS catalog ,里面的索引号是 GCST90277238-GCST90277416,但是这个公众号的小伙伴却不知道该如何批量下载, 或者说发现规律去写代码,而且手动整理好全部的链接后下载然后把它当做是宝贝来宣传。。。。

它当做是宝贝来宣传
其实没什么好说的,就是一个网页,直接查询即可。文章数据在GWAS catalog ,里面的索引号是 GCST90277238-GCST90277416 ,所以我们查询 GCST90277238试试看:

查询 GCST90277238试试看
里面就链接到了 :https://www.ebi.ac.uk/gwas/publications/37907536
普通人肯定是觉得这么多链接整理起里很麻烦,如下所示:

这么多链接
实际上,随意进入其中一个 https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90277001-GCST90278000/GCST90277239/
就可以看到里面的规律啦,一般来说大家需要的就是里面的 .tsv.gz 后缀的文件而已:

其实很容易整理一下这个链接的规律,
从 EBI(European Bioinformatics Institute)的 FTP 服务器上获取 GWAS(Genome-Wide Association Studies)的汇总统计数据文件的链接。根据链接的规律,可以得出一些模式和含义:
https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/ 是所有链接的共同部分,表示这是 GWAS 汇总统计数据的基础路径。GCST90277001-GCST90278000 表示这些数据属于 GWAS Catalog(GCST) 中的一个范围,包括从 GCST90277001 到 GCST90278000 的多个项目。GCST90277238 和 GCST90277239 是具体项目的目录,每个目录对应一个特定的 GWAS 项目。GCST90277238.tsv.gz 和 GCST90277239.tsv.gz 是文件名,表示这是 GWAS 项目的汇总统计数据文件。.tsv.gz 扩展名表明这是一个经过压缩的以制表符分隔的文本文件。只需要一个简单的循环即可,前面的文章数据在GWAS catalog ,里面的索引号是 GCST90277238-GCST90277416 ,一个简单的 Shell 脚本示例,使用了 wget 命令和一个 for 循环:
#!/bin/bash
# 设置基础路径
base_url="https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90277001-GCST90278000/"
# 设置下载目录
download_dir="./" # /path/to/your/download/directory
# 循环下载指定范围的文件
for ((i=90277238; i<=90277416; i++)); do
# 构建完整的下载链接
file_url="${base_url}GCST${i}/GCST${i}.tsv.gz"
# 使用wget下载文件到指定目录
wget -P "$download_dir" "$file_url"
done
请替换 "/path/to/your/download/directory" 为你希望保存文件的目录路径。这个脚本会下载范围内的每个文件,并保存到指定的目录中。确保你的系统上已经安装了 wget 命令。你可以将上述代码保存到一个文件(比如 download_files.sh),然后通过 chmod +x download_files.sh 赋予执行权限,并运行 ./download_files.sh 执行脚本。
也可以很轻松的替换成为其它编程语言,比如在R语言中,你可以使用download.file函数来完成这个任务。以下是一个R脚本的例子:
# 设置基础路径
base_url <- "https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90277001-GCST90278000/"
# 设置下载目录
download_dir <- "/path/to/your/download/directory"
# 循环下载指定范围的文件
for (i in 90277238:90277416) {
# 构建完整的下载链接
file_url <- paste0(base_url, "GCST", i, "/GCST", i, ".tsv.gz")
# 使用download.file下载文件到指定目录
download.file(file_url, destfile = file.path(download_dir, paste0("GCST", i, ".tsv.gz")))
}
请替换 "/path/to/your/download/directory" 为你希望保存文件的目录路径。你可以将上述代码保存到一个R脚本文件(比如 download_files.R),然后通过source("download_files.R")执行脚本。
在Python中,你可以使用requests库来下载文件。以下是一个Python脚本的例子:
import os
import requests
# 设置基础路径
base_url = "https://ftp.ebi.ac.uk/pub/databases/gwas/summary_statistics/GCST90277001-GCST90278000/"
# 设置下载目录
download_dir = "/path/to/your/download/directory"
# 循环下载指定范围的文件
for i in range(90277238, 90277417):
# 构建完整的下载链接
file_url = f"{base_url}GCST{i}/GCST{i}.tsv.gz"
# 使用requests下载文件到指定目录
response = requests.get(file_url, stream=True)
file_path = os.path.join(download_dir, f"GCST{i}.tsv.gz")
with open(file_path, 'wb') as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)
请替换 "/path/to/your/download/directory" 为你希望保存文件的目录路径。你需要确保你的Python环境中已经安装了requests库。你可以将上述代码保存到一个Python脚本文件(比如 download_files.py),然后通过python download_files.py执行脚本。
再怎么强调生物信息学数据分析学习过程的计算机基础知识的打磨都不为过,我把它粗略的分成基于R语言的统计可视化,以及基于Linux的NGS数据处理:
把R的知识点路线图搞定,如下:
Linux的6个阶段也跨越过去 ,一般来说,每个阶段都需要至少一天以上的学习: