TCGA(三)--采用GDC API进行数据查询和获取
TCGA的数据可以通过API访问, 每个数据都有对应的多个属性,比如文件id(file_id), 病人编号(case_id以及barcode),case_id 和file_id 都是采用的UUID进行标记, barcode即submitter_id.
在GDC的首页选中一些DNA甲基化数据,如下:
可以看到数据包含了一个Cases, 两个Files,这里面选择的项目是TCGA-COAD,这是来自结肠癌的一个病人的数据结果。
通过下载这个Manifest文件(红圈标记), 得到一些数据的id信息,文件名信息以及,primary_site信息(肿瘤的发生部位),肿瘤也会发生转移,可以通过自定义查询API的字段去获取, 以下是根据case_id查询primary_site 以及barcode (submitter_id)的用法:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import requests
import json
cases_endpt = 'https://api.gdc.cancer.gov/cases'
fields = [
"submitter_id",
"case_id",
"primary_site",
"disease_type",
"diagnoses.vital_status"
]
field = ",".join(fields)
filters = {
"op": "in",
"content":{
"field": "case_id",
"value": ["dde411b2-5d2b-4638-8149-89bc1eb3c7ad"]
}
}
params = {
"filters": json.dumps(filters),
"fields": field,
"format": "TSV",
"size": "100"
}
response = requests.get(cases_endpt, params = params)
print(response.content)
如果要根据manifest文件中的file_id 查询case_id以及barcode 该怎么做呢?
Manifest示例文件如下:
id filename md5 size state
25e8048f-1601-4d1f-9d1a-4c9f002d9365 jhu-usc.edu_COAD.HumanMethylation450.3.lvl-3.TCGA-AA-3697-11A-01D-1721-05.gdc_hg38.txt083148166f7c947387a23ca9a125df0e 141289374 released
3a42822b-9c71-4663-ab02-8d140f8935a6 jhu-usc.edu_COAD.HumanMethylation450.3.lvl-3.TCGA-AA-3697-01A-01D-1721-05.gdc_hg38.txt d453729be73e7300e8876ac2aa45e775 141289883 released
可以看到,第一列是file_id, 也可以采用API,python的代码如下:
import requests
import json
def get_paras_filter_fileID(file_ids):
params ={
"filters":{
"op":"in",
"content":{
"field":"files.file_id",
"value":file_ids
}
},
"format":"TSV",
"fields":"file_id,file_name,cases.case_id,cases.submitter_id,cases.samples.sample_id,cases.samples.submitter_id",
"size":len(file_ids)
}
return params
def saveFile(file_ids):
out = open("test_barcodes_id.txt", 'w')
files_endpt = "https://portal.gdc.cancer.gov/auth/api/files"
params = get_paras_filter_fileID(file_ids)
response = requests.post(files_endpt, json = params)
out.write(response.text)
out.close()
saveFile(['25e8048f-1601-4d1f-9d1a-4c9f002d9365', '3a42822b-9c71-4663-ab02-8d140f8935a6'])
这样结果就能保存在 test_barcodes_id.txt 文件中, 如下:
file_id file_name cases.0.submitter_id cases.0.samples.0.submitter_id cases.0.case_id id cases.0.samples.0.sample_id
25e8048f-1601-4d1f-9d1a-4c9f002d9365 jhu-usc.edu_COAD.HumanMethylation450.3.lvl-3.TCGA-AA-3697-11A-01D-1721-05.gdc_hg38.txt
TCGA-AA-3697 TCGA-AA-3697-11A dde411b2-5d2b-4638-8149-89bc1eb3c7ad 25e8048f-1601-4d1f-9d1a-4c9f002d9365 2121d215-5078-4273-8eb2-29273f90a361
3a42822b-9c71-4663-ab02-8d140f8935a6 jhu-usc.edu_COAD.HumanMethylation450.3.lvl-3.TCGA-AA-3697-01A-01D-1721-05.gdc_hg38.txt
TCGA-AA-3697 TCGA-AA-3697-01A dde411b2-5d2b-4638-8149-89bc1eb3c7ad 3a42822b-9c71-4663-ab02-8d140f8935a6 c8a9e194-fbb4-4cc5-8cda-665540e8acdc
如果要下载文件,可以参考以下内容:
https://docs.gdc.cancer.gov/API/Users_Guide/Python_Examples/#a-simple-download-request
barcode的前三个字段即病人的编号, 第四个字段是组织的类型,01就是实体瘤(solid tumor),11就是这个人的正常组织,A则是指这块组织的份数的编号,从A-Z, A应该是指第一份。
TSS即Tissue Source Site code
https://gdc.cancer.gov/resources-tcga-users/tcga-code-tables/tissue-source-site-codes
AA是 Colon adenocarcinoma
具体可参看官方说明:
https://docs.gdc.cancer.gov/Encyclopedia/pages/TCGA_Barcode/
来源:华为云社区 作者:benymorre
相关文章
- aaronyang的百度地图API之LBS云[把数据丰富显示1/3]
- aaronyang的百度地图API之LBS云与.NET开发 Javascript API 2.0【把数据存到LBS云2/2】
- 合格的数据分析师必备技能
- 读写内部存储的文件数据
- 快速传输大数据(tar+lz4+pv)
- 146. 通过 SAP UI5 ODataModel API 在 JavaScript 代码里访问 OData 元数据
- Hybris commerce产品主数据的搜索API,批量返回若干主数据的值
- 使用API获得SAP CRM Sales Area数据
- windows系统下如何把excel数据转换成markdown格式的表格
- 一种灵活的电商数据架构
- Atitit. Attilax软件研发and开发之道 1. 基本语言3 2. 标准化库api3 3. Ied与代码编写 调试3 4. ui3 5. 通讯3 6. 第三方库3 7. 数据
- SAP Commerce Cloud WCMS 里的 home 页面和 SAP Spartacus Page API 返回的数据比较
- file_get_contents遍历api数据
- 〖Python 数据库开发实战 - MySQL篇⑨〗- 什么是 SQL 语言、如何创建数据逻辑库及如何创建数据表
- 基于无人机的气象数据采集系统设计(Matlab代码实现)
- ffmpeg解码内存中的数据
- 最佳算法实现对泛型集合的数据去重
- 【关于ChatGPT的30个问题】12、ChatGPT的训练数据集是什么?/ By 禅与计算机程序设计艺术
- 041:vue+openlayers读取WKT数据,输出GML、Polyline、GeoJSON(代码示例)
- C#实现水晶报表绑定数据并实现打印4-条形码
- RFSoC应用笔记 - RF数据转换器 -16- API使用指南之系统设置相关函数
- RFSoC应用笔记 - RF数据转换器 -15- API使用指南之Libmetal与结构体说明
- 对于机器学习保险行业问答开放数据集DeepQA-1的详细注解(一)
- Win10 磁盘一写数据就利用率100%,并出现卡顿、假死无反应,过一会儿又正常,经常反复
- eodhd 财经数据 股票数据下载api python国外股票市场 json数据 tushare 股票数据