Get edges in a CWL workflow into a data frame
get_edges(outputs, steps)
Parsed outputs
Parsed steps
Data frame containing edge information
# 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" ...