You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TCGA-Assembler2下载TCGA数据时出现fromJSON解析错误求助

解决TCGA-Assembler2下载数据时的fromJSON解析错误

问题背景

作为R语言新手,使用TCGA-Assembler2下载TCGA数据,最初下载miRNA和肺甲基化数据正常,因电脑休眠中断后,再次运行所有下载代码(包括之前可用的)均出现以下错误:

Error in fromJSON(jsn) : 
  not all data was parsed (0 chars were parsed out of a total of 186 chars)  

已尝试重装R、重新下载TCGA-Assembler2、更换存储目录,问题仍未解决。

排查与修复方案

1. 清理中断残留的临时文件

下载中断后,TCGA-Assembler2可能生成不完整的临时JSON文件,导致后续解析失败:

  • 定位代码中saveFolderName对应的目录(如DownloadmiRNASeqData、Lung adenocarcinoma2等)
  • 删除目录下所有.json后缀的临时文件,以及未下载完成的不完整数据文件
  • 重新运行下载代码

2. 修正癌症类型参数错误

代码中存在明显的参数错误:

  • cancerType = "BRCA2"是错误的,TCGA乳腺癌的标准代码为BRCA,修改后代码:
    miRNAExp1 <- DownloadmiRNASeqData(cancerType = "BRCA", assayPlatform ="mir_HiSeq.hg19.mirbase20", saveFolderName = "DownloadmiRNASeqData")
    
  • 错误的参数会导致API返回异常格式的响应,直接触发fromJSON解析失败

3. 处理网络访问限制

TCGA数据源(GDC)可能对频繁请求限流,中断后的重复请求容易触发限制:

  • 重启网络设备或切换网络环境,确保连接稳定
  • 单次仅运行一个下载命令,避免同时执行多任务
  • 在下载代码前添加延迟,降低请求频率:
    Sys.sleep(30) # 延迟30秒再发起请求
    

4. 修复rjson包解析问题

错误源于rjson的解析逻辑,可通过以下两种方式处理:

  • 安装与TCGA-Assembler2兼容的rjson版本:
    remove.packages("rjson")
    install.packages("rjson", version = "0.2.21")
    
  • 替换为更稳定的jsonlite包(需修改TCGA-Assembler2源码):
    1. 打开Module_A.R和Module_B.R文件
    2. 将library(rjson)替换为library(jsonlite)
    3. 将所有fromJSON(jsn)替换为fromJSON(jsn, simplifyVector = FALSE)
    4. 保存修改后重新运行代码

5. 手动验证API响应

直接测试TCGA GDC API是否正常返回数据,排查工具逻辑问题:

library(httr)
# 测试BRCA的miRNA数据请求
response <- GET("https://api.gdc.cancer.gov/files?filters=%7B%22op%22%3A%22and%22%2C%22content%22%3A%5B%7B%22op%22%3A%22in%22%2C%22content%22%3A%7B%22field%22%3A%22cases.project.project_id%22%2C%22value%22%3A%5B%22TCGA-BRCA%22%5D%7D%7D%2C%7B%22op%22%3A%22in%22%2C%22content%22%3A%7B%22field%22%3A%22files.experimental_strategy%22%2C%22value%22%3A%5B%22miRNA-Seq%22%5D%7D%7D%2C%7B%22op%22%3A%22in%22%2C%22content%22%3A%7B%22field%22%3A%22files.analysis.workflow_type%22%2C%22value%22%3A%5B%22BCGSC%20miRNA%20Profile%22%5D%7D%7D%5D%7D&format=json")
content(response, "text")

若返回正常JSON,说明API访问正常,问题出在工具处理逻辑;若返回错误信息,根据提示调整请求参数。

内容的提问来源于stack exchange,提问作者Ferdinand Fisranda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 09:35:31