Get edges in a CWL workflow into a data frame

get_edges(outputs, steps)

Arguments

outputs

Parsed outputs

steps

Parsed steps

Value

Data frame containing edge information

Examples

# edges represented by a dictionary
flow <- system.file("cwl/sbg/workflow/rnaseq-salmon.json", package = "tidycwl") %>% read_cwl_json()
get_edges(
  flow %>% parse_outputs(),
  flow %>% parse_steps()
) %>% str()
#> 'data.frame':	62 obs. of  5 variables:
#>  $ from     : chr  "Salmon_Quant___Reads" "Salmon_Quant___Reads" "reads" "max_number_of_parallel_jobs" ...
#>  $ to       : chr  "SBG_Create_Expression_Matrix___Transcripts" "SBG_Create_Expression_Matrix___Genes" "SBG_Pair_FASTQs_by_Metadata_1" "SBG_Pair_FASTQs_by_Metadata_1" ...
#>  $ port_from: chr  "quant_sf" "quant_genes_sf" NA NA ...
#>  $ port_to  : chr  NA NA NA NA ...
#>  $ type     : chr  "step_to_step" "step_to_step" "input_to_step" "input_to_step" ...

# edges represented by a list
try(
  flow <- system.file("cwl/sbg/workflow/rnaseq-salmon.cwl", package = "tidycwl") %>% read_cwl_yaml()
)
try(
  get_edges(
    flow %>% parse_outputs(),
    flow %>% parse_steps()
  ) %>% str()
)
#> 'data.frame':	62 obs. of  5 variables:
#>  $ from     : chr  "Salmon_Quant___Reads" "Salmon_Quant___Reads" "reads" "max_number_of_parallel_jobs" ...
#>  $ to       : chr  "SBG_Create_Expression_Matrix___Transcripts" "SBG_Create_Expression_Matrix___Genes" "SBG_Pair_FASTQs_by_Metadata_1" "SBG_Pair_FASTQs_by_Metadata_1" ...
#>  $ port_from: chr  "quant_sf" "quant_genes_sf" NA NA ...
#>  $ port_to  : chr  NA NA NA NA ...
#>  $ type     : chr  "step_to_step" "step_to_step" "input_to_step" "input_to_step" ...