

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# HealthOmics 运行输入
<a name="workflows-run-inputs"></a>

如果工作流定义为工作流或工作流任务指定了输入文件， HealthOmics 则将这些文件暂存到专用于工作流程运行的临时卷中。这些输入文件是只读的，这可以防止任务修改工作流中其他任务的潜在输入。对于目录导入，这些目录也是只读的。

许多基因组学应用程序假设索引文件与序列文件（例如文件的配套`bai`文件）位于同一位置。`bam`要包括索引文件，请在工作流定义中将其指定为任务输入。

**Topics**
+ [管理运行参数大小](#run-input-file-options)
+ [亚马逊 S3 输入参数格式](#s3-run-input-formats)
+ [亚马逊 S3 输入存档状态](#s3-run-input-archive)

## 管理运行参数大小
<a name="run-input-file-options"></a>

开始运行时，您可以在运行参数 JSON 对象或文件中指定运行输入。您可以为工作流程指定最多 50 KB 的运行参数。您可以使用以下方法来保持在此大小限制范围内：
+ **使用目录导入**

  要指定大量输入文件，请指定一个参数作为包含所有文件的 Amazon S3 位置，而不是为每个文件位置指定一个参数。有关更多信息，请参阅下一个主题（Amazon S3 输入参数格式）。
+ **使用样本表**

  样本表是一个 CSV 或 TSV 文件，其中一列用于 fastq.gz 地址（或两列用于配对读取），另外一列用于元数据（例如样本名称）。您可以将样本表指定为运行输入参数，而不是每个输入文件的参数。

  您的工作流程定义了样本工作表如何映射到工作流程中的数据结构。虽然你可以用 WDL 和 CWL 为样本表编写代码，但它们更常见。 NextFlow有关示例，请参阅 **nf-core** GitHub 网站上的[样本表](https://github.com/nf-core/scrnaseq/blob/master/assets/samplesheet.csv)。

## 亚马逊 S3 输入参数格式
<a name="s3-run-input-formats"></a>

对于接受 Amazon S3 位置的输入参数，该参数可以指定一个文件或整个文件目录的位置。使用目录具有以下优点：
+ 方便-您可以将目录名指定为参数。您不会列出每个文件名。
+ 紧凑性-输入参数最大文件大小为 50 KB。如果您提供的输入文件名列表很长，则可以超过此最大值。

Amazon S3 是一个扁平的对象存储系统，因此它不支持目录。通过为每个文件指定相同的对象 key 前缀，可以将文件分组到一个 “目录” 中。有关 Amazon S3 对象密钥前缀的更多信息，请参阅[使用前缀组织对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)。

 HealthOmics 按如下方式解释输入参数值：
+ 如果 Amazon S3 位置没有以正斜杠结尾或使用全局模式，则 HealthOmics 期望参数值成为一个 Amazon S3 对象的键。

  例如，你指定`s3://myfiles/runs/inputs/a/file1.fastq`要输入 file1.fastq
+ 如果 Amazon S3 位置以正斜杠结尾，则会将参数值 HealthOmics 解释为 Amazon S3 前缀。它会加载所有带有该前缀的 Amazon S3 对象。

  例如，您可以指定加载所有键`s3://myfiles/runs/inputs/a/`以此前缀开头的对象。
+ 对于 Nextflow， HealthOmics 在输入参数中部分支持 Ama URIs zon S3 的全局模式。

  例如，您可以指定输入所有密钥`“s3://myfiles/runs/inputs/a/*.gz”`以此前缀开头的.gz 文件。

### Nextflow 处理 Amazon S3 输入中的 Glob 模式
<a name="wd-nextflow-s3-formats"></a>


| Glob 图案 | HealthOmics 比赛行为 | 注意 | 
| --- | --- | --- | 
| s3://bucket/directory/\$1.txt | 匹配前缀 s3://bucket/directory/. For example, matches s3://bucket/directory/abc.txt or s3://bucket/directory/subDir/123.txt 等下任意深度的所有.txt对象。 |  | 
| s3://bucket/directory/\$1\$1/\$1.txt | 匹配前缀 s3://bucket/directory/. For example, matches s3://bucket/directory/abc.txt or s3://bucket/directory/subDir/123.txt 等下任意深度的所有.txt对象。 | 在 S3 中，等同\$1\$1于\$1。 | 
| s3://bucket/directory/\$1a,b\$1.txt | s3://bucket/directory/a.txt, s3://bucket/directory/b.txt |  | 
| s3://bucket/directory/？。 txt | 匹配位于前缀 root 的对象，其文件名为单个字符，后面跟着.txt。例如，它匹配 s3://bucket/directory/a.txt but not s3://bucket/directory/someDir/a.txt or s3://bucket/directory/someDir/subDir/a.txt |  | 
| s3://bucket/directory/[0-9].txt | s3://bucket/directory/0.txt, s3://bucket/directory/1.txt, ... ,s3://bucket/directory/9.txt |  | 
| s3://bucket/directory/[0-9].txt | s3://bucket/directory/1.txt, s3://bucket/directory/2.txt, s3://bucket/directory/3.txt |  | 
| s3://bucket/directory/[0-9].txt | s3://bucket/directory/b.txt, s3://bucket/directory/c.txt, ... ,s3://bucket/directory/Y.txt |  | 

### Amazon S3 输入中双斜杠的特定语言处理
<a name="wd-s3-formats"></a>

HealthOmics 在 Amazon S3 中处理双斜杠时，保留每个工作流程引擎的原生引擎行为 URIs，这样当您将工作流程迁移到时，您无需对其进行任何更改。 HealthOmics以下各节描述了每个引擎如何处理各种场景。

#### WDL
<a name="wd-wdl-s3-formats"></a>

如果输入参数在 URI 的中间或末尾包含双斜杠，则 WDL 引擎会保留该双斜杠。


| 输入参数 | 预期地点 | 
| --- | --- | 
| s3://myfiles/runs/inputs//file1.fastq | s3://myfiles/runs/inputs//file1.fastq | 
| s3:///myfiles/runs/inputs/ | s3:///myfiles/runs/inputs/ | 

#### 下一步
<a name="wd-nextflow-s3-doubleslash"></a>

如果输入参数在 URI 中间包含双斜杠，则 Nextflow 引擎将保留双斜杠。对于 URI 末尾的双斜杠，Nextflow 引擎会将其解析为单个斜杠。


| 输入参数 | 预期地点 | 
| --- | --- | 
| s3://myfiles/runs/inputs//file1.fastq | s3://myfiles/runs/inputs//file1.fastq | 
| s3://myfiles//runs/inputs//\$1.gz | s3://myfiles//runs/inputs//\$1.gz | 
| s3://myfiles//runs/inputs// | s3://myfiles//runs/inputs/ | 

#### CWL
<a name="wd-cwl-s3-formats"></a>

如果输入参数在 URI 的中间或末尾包含双斜杠，则 CWL 引擎会保留该双斜杠。


| 输入参数 | 预期地点 | 
| --- | --- | 
| s3://myfiles// runs/inputs//file 1.fastq | s3://myfiles// runs/inputs//file 1.fastq | 
| s3://myfiles//runs/inputs// | s3://myfiles//runs/inputs// | 

## 亚马逊 S3 输入存档状态
<a name="s3-run-input-archive"></a>

HealthOmics 可以实时检索 S3 交付的 Amazon S3 对象。对于处于以下存档存储状态的对象**restore**，要使其可用的对象 HealthOmics：
+ Amazon S3 Glacier 中的灵活检索或深度存档存储类别。
+ 智能分层中的存档访问层或深度存档访问层。

有关恢复对象的信息，请参阅 *Amazon S3 用户指南*中的[恢复存档对象](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html)。