SRA宏基因组数据提交实战:从Attribute填坑到Metadata避雷
1. SRA宏基因组数据提交全流程解析
第一次向NCBI的SRA数据库提交宏基因组数据时,很多人会被Attribute和Metadata这两个表格搞得晕头转向。作为一个经历过多次失败才成功提交的老手,我想用最直白的语言帮你避开那些坑。
整个提交流程分为七个步骤:提交者信息、项目信息、生物样本类型、生物样本属性(Attribute)、SRA元数据(Metadata)、文件上传、最终审核提交。其中最容易出问题的就是Attribute和Metadata这两个表格的填写。
Attribute表格是用来描述你的生物样本特性的,比如样本来源、采集时间、地理位置等。这个表格的坑在于,有些字段看似可选实则必填,而且NCB的验证规则经常变化。我最近一次提交时就发现,之前可用的样本命名方式突然就不被接受了。
Metadata表格则是描述你的测序实验和数据的,比如测序平台、文库策略、文件格式等。这个表格的麻烦在于要和实际文件严格对应,一个标点符号的差异都会导致报错。
2. BioSample Attribute表格填坑指南
2.1 必填字段的隐藏规则
Attribute表格中最让人头疼的就是那些标着星号(*)的必填字段。你以为填上这些就够了?太天真了!NCBI的验证系统经常会有一些隐藏规则。
比如sample_name字段,我试过在名称前加数字、加前缀,甚至完全重命名,系统还是报错。后来发现需要在表格最后手动添加一列"replicate",虽然这列显示为黄色(选填),但加上后居然就通过了验证。
organism字段也是个坑。如果你研究的微生物比较冷门,系统可能无法自动识别。这时你会收到一个警告:"Submission processing may be delayed..." 意思是需要人工审核,这个过程可能要等上好几天。
2.2 地理信息的正确格式
geo_loc_name和lat_lon这两个字段特别容易填错。geo_loc_name要按"国家:省/州:市"的格式填写,比如"China:Beijing:Beijing"。lat_lon则要精确到小数点后四位,格式为"纬度 经度",例如"39.9042 116.4074"。
我见过有人直接填"北京"或者"北京市海淀区",结果被系统拒绝。还有人把经纬度的顺序搞反了,导致样本定位到了地球另一端。
2.3 如何处理可选字段
表格中有很多黄色标记的可选字段,比如samp_collect_device(样本采集设备)、samp_mat_process(样本处理过程)等。我的经验是:能填就尽量填,但不要留空值。如果某个字段确实不适用,最好直接删除整列,而不是留空。
有一次我提交时保留了所有可选字段但留空,结果收到了错误提示:"Error:You must be the owner of the BioSample..." 删除那些空列后问题就解决了。
3. SRA Metadata表格避雷要点
3.1 文件命名的精确匹配
Metadata表格中最容易出错的就是filename相关字段。这里有个重要提示:虽然你下载的是Excel模板,但最终必须保存为TSV格式上传。我就犯过直接把Excel文件上传的错误,结果系统报错:"Excel workbook does not contain worksheet 'SRA_data'"。
文件名的填写必须和实际文件完全一致,包括扩展名。比如你的文件是"sample1_R1.fastq.gz",表格里就必须写全称,不能只写"sample1_R1"。我曾经因为漏了".gz"后缀,导致系统找不到文件。
3.2 双端测序数据的处理
如果是双端测序数据,必须把两个文件放在同一行,分别填入filename和filename2列。很多人会犯两个错误:要么分成两行填写,要么漏填filename2。正确的做法是:
sample1 lib1 ... sample1_R1.fastq.gz sample1_R2.fastq.gz3.3 平台和仪器型号的选择
platform和instrument_model这两个字段需要从NCBI提供的选项中选择。常见的平台有ILLUMINA、OXFORD_NANOPORE等。仪器型号则要具体到比如"Illumina MiSeq"、"Illumina NovaSeq 6000"等。
填错仪器型号是个常见错误。有一次我把"HiSeq 2500"写成了"HiSeq2500"(少了空格),结果系统无法识别。所以一定要仔细检查下拉菜单中的准确名称。
4. 文件上传的注意事项
4.1 文件格式验证
NCBI支持多种格式的测序数据上传,包括fastq、bam、sra等。但要注意:
- fastq文件可以是原始格式或压缩格式(.gz)
- 如果是压缩文件,metadata中的文件名必须包含.gz后缀
- 文件大小不能超过50GB(超过需要分卷压缩)
我曾经上传过一批fastq文件,metadata里写了".fastq"但实际文件是".fastq.gz",结果系统报错:"File(s) you included on your spreadsheet are missing..."
4.2 上传过程中的网络问题
NCBI的服务器在国外,上传大文件时经常会遇到网络不稳定问题。我的经验是:
- 尽量使用稳定的有线网络连接
- 大文件建议分卷压缩后分批上传
- 如果上传中断,可以尝试换个时间段再试
- 使用命令行工具aspera可以加速上传(需单独安装)
有一次我上传一个30GB的文件,连续失败了三次,最后改用aspera才成功。NCBI网页版的上传功能确实不太稳定,要做好心理准备。
4.3 上传后的状态检查
提交成功后,你的数据会进入processing状态。这个处理过程可能需要几天时间。期间要经常查看提交状态,因为NCBI可能会发邮件要求补充信息或修正错误。
我曾经有一次提交后第三天收到邮件,说样本描述信息不够详细。及时补充后,数据才最终被接受。所以提交后不要以为就万事大吉了,要持续关注状态变化。
5. 实用资源与技巧
5.1 官方FAQ和视频教程
NCBI提供了详细的BioSample提交FAQ和视频教程(虽然视频长达40多分钟)。这些资源虽然枯燥,但确实能解答很多疑问。特别推荐FAQ中的"Common errors and solutions"部分。
我刚开始提交时总想走捷径,后来发现老老实实看完官方文档反而节省时间。比如视频中详细解释了如何填写collection_date字段(必须为YYYY-MM-DD格式),这个细节很多教程都没提到。
5.2 使用命令行工具
除了网页提交,NCBI还提供了一些命令行工具可以简化流程:
- aspera:高速上传工具
- vdb-validate:验证SRA文件完整性
- prefetch:下载SRA数据
虽然这些工具学习成本较高,但对于需要频繁提交数据的研究人员来说,掌握它们能大大提高效率。我现在的做法是先用命令行工具批量处理,再到网页端做最后确认。
5.3 建立自己的模板库
每次提交都要重新填写那些表格很浪费时间。我的做法是建立一个模板库,包含不同实验设计的Attribute和Metadata模板。这样下次提交时,只需要修改少量样本特异性信息即可。
比如我有:
- 16S扩增子测序模板
- 宏基因组shotgun测序模板
- 宏转录组测序模板 每个模板都经过验证可以成功提交,节省了大量重复劳动。
6. 常见错误与解决方案
6.1 "sample_name"相关错误
这是最常见的错误之一。解决方案包括:
- 确保所有sample_name唯一
- 不要使用特殊字符(只允许字母数字和下划线)
- 长度不要超过50个字符
- 添加replicate列(即使样本没有重复)
我建议采用"项目缩写_样本类型_编号"的命名规则,比如"MG_SW_001"表示宏基因组(MG)水样(SW)的第一个样本。
6.2 文件格式不匹配
这个问题通常表现为:
Warning: Your file(s) are missing an extension...解决方法:
- 检查metadata中的文件名和实际文件完全一致
- 确保扩展名(.fastq, .gz等)正确
- 对于双端数据,两个文件要在同一行
6.3 权限错误
有时会遇到:
Error: You must be the owner of the BioSample...这通常是因为:
- 尝试使用别人创建的BioSample
- 账户权限设置有问题
- 项目组配置不正确
解决方法是检查BioSample归属,必要时创建新的BioSample。如果是团队项目,确保所有成员都有适当权限。
7. 提交后的跟进与修正
数据提交后,状态会经历多个阶段:processing -> processed -> published。在这个过程中,NCBI可能会联系你要求补充信息或修正错误。
我建议:
- 每天检查提交状态
- 及时回复NCBI的邮件
- 保存所有修改记录
- 如果需要重新提交,先彻底找出错误原因
有一次我的数据在processing阶段停留了两周,后来发现是因为一个样本的地理位置信息不够详细。补充说明后,数据很快就被发布了。所以耐心和细心同样重要。
