dbrp、uniprotのapiをつかってpythonでデータ取得
自分用メモ ちょっと修正
dbrp_data_get.py
import json import os.path import sys import requests # 引数に指定したゲノム情報のアクセッション番号を検索し、accessibilityAPIの値からfastaファイルを取得するスクリプト。 # python dbrp_get.py [input_list] def main(): args = sys.argv file_name = args[1] print(file_name) url = 'https://www.nite.go.jp/nbrc/dbrp/api/dataget' data_format = '.zip' params = {'data_id': file_name} response = requests.get(url, params=params) dict = response.json() data_body_str = dict['result']['data_body'] data_body = json.loads(data_body_str) accessibility_api = data_body['@graph'][0]['DataDownload']['accessibilityAPI'] url2 = 'https://www.nite.go.jp/nbrc/dbrp/api/fileget' params2 = {'file_id': accessibility_api} download_data = requests.get(url2, params=params2) if not os.path.exists('./data/dbrp/'): os.makedirs('./data/dbrp/') with open('./data/dbrp/' + file_name + data_format, 'wb') as f: f.write(download_data.content) print("finish!") if __name__ == '__main__': main()
uniprot_data_get.py
import requests import os.path import sys def main(): # 引数に指定したアクセッション番号のリストを指定し、uniprotのAPIでデータを取得するスクリプト。 # python uniprot_data_get.py [input_list] args = sys.argv list_name = args[1] base_url = 'https://www.uniprot.org/uniprot/' format = '.fasta' list = open(list_name, 'r') if not os.path.exists('./data/uniprot/'): os.makedirs('./data/uniprot/') lines = list.readlines() for line in lines: print(line) accession_id = line.rstrip('\n') url = base_url + accession_id + format response = requests.get(url) with open('./data/uniprot/' + accession_id + format, 'wb') as f: f.write(response.content) print("finish!") if __name__ == '__main__': main()