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()