用途
该技能用于对科学数据文件执行全面的探索性数据分析(EDA),覆盖多个学科领域。它提供自动文件类型检测、按格式定制的分析、数据质量评估,并生成详细的 Markdown 报告,适合用于文档记录和下游分析规划。
主要能力
- 自动检测并分析 200 多种科学文件格式
- 按格式提取全面的元数据
- 数据质量与完整性评估
- 统计摘要与分布分析
- 可视化建议
- 下游分析建议
- 生成 Markdown 报告
适用场景
在以下情况使用该技能:
- 用户提供科学数据文件路径以供分析
- 用户要求“探索”“分析”或“总结”某个数据文件
- 用户希望了解科学数据的结构与内容
- 用户需要在分析前获得数据集的全面报告
- 用户希望评估数据质量或完整性
- 用户询问某文件适合哪种分析
支持的文件类别
该技能将科学文件格式组织为六大类:
-
化学与分子格式(60+ 扩展名):结构文件、计算化学输出、分子动力学轨迹和化学数据库。文件类型包括 .pdb、.cif、.mol、.mol2、.sdf、.xyz、.smi、.gro、.log、.fchk、.cube、.dcd、.xtc、.trr、.prmtop、.psf 等。参考文件:references/chemistry_molecular_formats.md
-
生物信息与基因组格式(50+ 扩展名):序列数据、比对、注释、变异和表达数据。文件类型包括 .fasta、.fastq、.sam、.bam、.vcf、.bed、.gff、.gtf、.bigwig、.h5ad、.loom、.counts、.mtx 等。参考文件:references/bioinformatics_genomics_formats.md
-
显微与成像格式(45+ 扩展名):显微图像、医学成像、全切片成像和电子显微镜。文件类型包括 .tif、.nd2、.lif、.czi、.ims、.dcm、.nii、.mrc、.dm3、.vsi、.svs、.ome.tiff 等。参考文件:references/microscopy_imaging_formats.md
-
光谱与分析化学格式(35+ 扩展名):NMR、质谱、IR/Raman、UV-Vis、X 射线、色谱及其他分析技术。文件类型包括 .fid、.mzML、.mzXML、.raw、.mgf、.spc、.jdx、.xy、.cif(晶体学)、.wdf 等。参考文件:references/spectroscopy_analytical_formats.md
-
蛋白质组与代谢组格式(30+ 扩展名):质谱蛋白质组学、代谢组学、脂质组学和多组学数据。文件类型包括 .mzML、.pepXML、.protXML、.mzid、.mzTab、.sky、.mgf、.msp、.h5ad 等。参考文件:references/proteomics_metabolomics_formats.md
-
通用科学数据格式(30+ 扩展名):数组、表格、层次化数据、压缩归档和常见科学格式。文件类型包括 .npy、.npz、.csv、.xlsx、.json、.hdf5、.zarr、.parquet、.mat、.fits、.nc、.xml 等。参考文件:references/general_scientific_formats.md
使用方式
工作流程分为五步:
第 1 步:文件类型检测。用户提供文件路径后,提取文件扩展名,在相应参考文件中查找该扩展名,识别文件类别与格式描述,加载格式特定信息。
第 2 步:加载格式特定信息。根据文件类型读取对应参考文件,了解典型数据、使用场景、Python 库和 EDA 方法。在参考文件中搜索具体扩展名(如搜索“### .fastq”)。
第 3 步:执行数据分析。可使用 scripts/eda_analyzer.py 脚本,或在对话中实现自定义分析。脚本用法:
python scripts/eda_analyzer.py <filepath> [output.md]
脚本会自动检测文件类型、加载参考信息、执行格式特定分析并生成 Markdown 报告。自定义分析则根据参考文件中的格式信息执行相应分析,例如:表格数据(CSV、TSV、Excel)用 pandas 加载并检查维度、数据类型、缺失值、统计摘要、异常值和重复项;序列数据(FASTA、FASTQ)统计序列数量、长度分布、GC 含量和质量分数;图像(TIFF、ND2、CZI)检查维度、位深和值范围、提取元数据、计算强度统计;数组(NPY、HDF5)检查形状和维度、数据类型、统计摘要和无效值。
第 4 步:生成综合报告。创建包含以下部分的 Markdown 报告:标题与元数据(文件名、时间戳、文件大小和位置)、基本信息(文件属性、格式识别)、文件类型详情(格式描述、典型数据内容、常见用例、读取用 Python 库)、数据分析(结构与维度、统计摘要、质量评估、数据特征)、关键发现(显著模式、潜在问题、质量指标)、建议(预处理步骤、适合的分析、工具与方法、可视化方法)。可使用 assets/report_template.md 作为报告结构指南。
第 5 步:保存报告。使用描述性文件名保存,模式为 {original_filename}_eda_report.md,例如 experiment_data.fastq → experiment_data_eda_report.md。
参考文件结构
每个格式条目包含:描述、典型数据、使用场景、Python 库(含代码示例)、EDA 方法。例如 .pdb 条目:描述为生物大分子 3D 结构标准格式;典型数据为原子坐标、残基信息、二级结构;使用场景为蛋白质结构分析、分子可视化、对接;Python 库为 Biopython 的 Bio.PDB、MDAnalysis 的 MDAnalysis.Universe('file.pdb');EDA 方法包括结构验证(键长、键角)、B 因子分布、缺失残基检测、Ramachandran 图。
最佳实践
读取参考文件:参考文件较大(每个 10000+ 词),建议按扩展名搜索(如用 grep 或正则提取特定格式段落),避免不必要地加载整个文件;分析多个同类型文件时可缓存格式信息。
数据分析:对百万级记录的大文件采用代表性抽样;优雅处理错误,许多科学格式需要特定库,应提供清晰的安装说明;验证元数据一致性(如声明维度与实际数据);注意数据来源(仪器、软件版本、处理步骤)。
报告生成:全面包含下游分析所需信息;针对文件类型给出具体建议;建议具体下一步和工具;包含代码示例展示如何加载和处理数据。
示例
示例 1:分析 FASTQ 文件。检测扩展名 .fastq → 类别 bioinformatics_genomics;在 references/bioinformatics_genomics_formats.md 中搜索“### .fastq”;用 Bio.SeqIO 解析并计算读取数、长度分布、质量分数、GC 含量;生成报告并保存为 reads_eda_report.md。
示例 2:分析 CSV 数据集。检测 .csv → general_scientific;加载 CSV 格式参考;用 pandas 分析维度、数据类型、缺失值、统计量、相关性;生成含数据结构、缺失值模式、统计摘要、相关矩阵、异常检测结果的报告。
示例 3:分析显微数据。检测 .nd2 → microscopy_imaging(Nikon 格式);读取 ND2 格式参考,了解其为多维(XYZCT)且需要 nd2reader;用 ND2Reader 提取维度、通道、时间点、元数据并计算强度统计;生成含图像维度、通道波长、像素大小与校准、图像分析建议的报告。
限制与故障排除
缺失库:许多科学格式需要专门库,导入出错时应提供安装说明。常见需求:生物信息学用 biopython、pysam、pyBigWig;化学用 rdkit、mdanalysis、cclib;显微用 tifffile、nd2reader、aicsimageio、pydicom;光谱用 nmrglue、pymzml、pyteomics;通用用 pandas、numpy、h5py、scipy。
未知文件类型:若扩展名不在参考中,询问用户文件格式、检查是否为厂商特定变体、基于文件结构(文本或二进制)尝试通用分析、提供一般建议。
大文件:采用抽样策略(前 N 条记录)、内存映射访问(HDF5、NPY)、分块处理(CSV、FASTQ),并基于样本提供估计。
脚本支持对许多常见格式自动分析,但在对话中自定义分析可提供更高灵活性和领域特定见解。多文件分析时,可对每个文件单独 EDA、创建汇总比较报告、识别关系与依赖、建议整合策略。质量控制方面可检查格式合规性、验证元数据一致性、评估完整性、识别异常值、与预期范围/分布比较。预处理建议可涵盖归一化策略、缺失值填补、异常值处理、批次校正、格式转换。