
真实基因组工作流详解
|
281
以找到下面这行代码,除此之外还有一堆类似的代码行。我们最初开始探究这个工
作流时略过了这些行:
import
"tasks/UnmappedBamToAlignedBam.wdl"
as
ToBam
这种写法我们还是头一次见。该行像是我们正在引用其他
WDL
文件。其中,
import
部分指向另一个叫作
UnmappedBamToAlignedBam.wdl
的
WDL
文件,它位
于二级目录
tasks
之下。现在代码的含义开始变得清晰:当工作流引擎读到这一行,
它将导入那个文件的所有代码,并将其当作整个工作流的一部分。该导入语句的“
as
ToBam
”部分为其分配一个别名,我们可用该别名引用被导入文件的内容,而不用使
用整个文件路径。例如,这是我们之前见过的调用语句:
call
ToBam.UnmappedBamToAlignedBam
我们可以这样解读该句:“从
ToBam
代码,调用
UnmappedBamToAlignedBam
。”那
么
UnmappedBamToAlignedBam
是什么?它是一个任务吗?快速查看导入语句所引用
的
WDL
文件,接着深吸一口气。它本身是一个叫作
UnmappedBamToAlignedBam
的
完整工作流:
# WORKFLOW DEFINITION
workflow
UnmappedBamToAlignedBam {
我们正在研究一个由工作流组成的工作流?战神金刚,集合!
这实际上是个惊喜。即使工作流图最初给我们留下它很简单的错误印象,我们猜测
这条流水线应该相当复杂。我们发现它用导入语句结合多个简单工作流 ...