# DNAnexus 应用配置与依赖项
## 概述
本指南涵盖通过 dxapp.json 元数据配置应用,以及管理包括系统包、Python 库和 Docker 容器在内的依赖项。
## dxapp.json 结构
`dxapp.json` 文件是 DNAnexus 应用和小程序的配置文件。它定义了元数据、输入、输出、执行要求和依赖项。
### 最小示例
{
"name": "my-app",
"title": "我的分析应用",
"summary": "对输入文件执行分析",
"dxapi": "1.0.0",
"version": "1.0.0",
"inputSpec": [],
"outputSpec": [],
"runSpec": {
"interpreter": "python3",
"file": "src/my-app.py",
"distribution": "Ubuntu",
"release": "24.04"
}
}
## 元数据字段
### 必需字段
{
"name": "my-app", // 唯一标识符 (小写字母、数字、连字符、下划线)
"title": "我的应用", // 人类可读名称
"summary": "一行描述",
"dxapi": "1.0.0" // API 版本
}
### 可选元数据
{
"version": "1.0.0", // 语义版本 (应用必需)
"description": "扩展描述...",
"developerNotes": "实现说明...",
"categories": [ // 用于应用发现
"Read Mapping",
"Variation Calling"
],
"details": { // 任意元数据
"contactEmail": "
[email protected]",
"upstreamVersion": "2.1.0",
"citations": ["doi:10.1000/example"],
"changelog": {
"1.0.0": "初始版本"
}
}
}
## 输入规范
定义输入参数:
{
"inputSpec": [
{
"name": "reads",
"label": "输入读取",
"class": "file",
"patterns": ["*.fastq", "*.fastq.gz"],
"optional": false,
"help": "包含测序读取的 FASTQ 文件"
},
{
"name": "quality_threshold",
"label": "质量阈值",
"class": "int",
"default": 30,
"optional": true,
"help": "最低碱基质量得分"
},
{
"name": "reference",
"label": "参考基因组",
"class": "file",
"patterns": ["*.fa", "*.fasta"],
"suggestions": [
{
"name": "Human GRCh38",
"project": "project-xxxx",
"path": "/references/human_g1k_v37.fasta"
}
]
}
]
}
### 输入类
- `file` - 文件对象
- `record` - 记录对象
- `applet` - 小程序引用
- `string` - 文本字符串
- `int`