记于23-10-22
舍友的导师给了个任务,给了一个csv文件,里面记录的是各种基因名,希望能够将csv内的所有基因名在RCSB上能不能搜出相应的蛋白并下载下来作序列比对。
于是打开一看
一共有540行数据,并且有些名称是错误的,在RCSB上不一定能搜到,如果要一个个复制下来去搜肯定是非常不现实的。所以这需要借助爬虫的力量。
所幸RCSB上有关于搜索的api与python的包提供助力:
而在github上也有相应的实例:
该代码块返回的是一个搜索结果的列表,而搜索结果是一系列PDB文件的名称。
因此,根据这个实例,我们可以编写这样的一个脚本,以上代码块是返回搜索结果的一个列表,而往往我们只需要提取搜索的第一个结果,也就是列表的第一位元素。根据搜索下来的元素,也就是pdb文件的名称,再去通过爬虫批量下载下来。
安装rcsb搜索包:
根据该思路写的一个脚本:
跑出来会生成fasta与pdb文件夹,里面存放这爬下来的fasta与pdb文件。