All Downloads are FREE. Search and download functionalities are using the official Maven repository.

examples.simulate_data_collection.yw.combined.gv Maven / Gradle / Ivy


/* Start of top-level graph */
digraph Workflow {
rankdir=TB

/* Title for graph */
fontname=Courier; fontsize=18; labelloc=t
label=simulate_data_collection

/* Start of double cluster for drawing box around nodes in workflow */
subgraph cluster_workflow_box_outer { label=""; color=black; penwidth=2
subgraph cluster_workflow_box_inner { label=""; color=white

/* Style for nodes representing atomic programs in workflow */
node[shape=box style=filled fillcolor="#CCFFCC" peripheries=1 fontname=Courier]

/* Nodes representing atomic programs in workflow */
initialize_run [shape=record rankdir=LR label="{ initialize_run | Create the run log file.}"];
load_screening_results [shape=record rankdir=LR label="{ load_screening_results | Load sample information from spreadsheet.}"];
calculate_strategy [shape=record rankdir=LR label="{ calculate_strategy | Reject unsuitable crystals and compute \n best data set to collect for accepted crystals.}"];
log_rejected_sample [shape=record rankdir=LR label="{ log_rejected_sample | Record which samples were rejected.}"];
collect_data_set [shape=record rankdir=LR label="{ collect_data_set | Collect data set using the given data collection parameters.}"];
transform_images [shape=record rankdir=LR label="{ transform_images | Correct raw image using the detector calibration image.}"];
log_average_image_intensity [shape=record rankdir=LR label="{ log_average_image_intensity | Record statistics about each diffraction image.}"];

/* Style for nodes representing non-parameter data channels in workflow */
node[shape=box style="rounded,filled" fillcolor="#FFFFCC" peripheries=1 fontname=Helvetica]

/* Nodes for non-parameter data channels in workflow */
corrected_image [shape=record rankdir=LR label="{ corrected_image | file\:run/data/\{sample_id\}/\{sample_id\}_\{energy\}eV_\{frame_number\}.img}"];
run_log [shape=record rankdir=LR label="{ run_log | file\:run/run_log.txt}"];
collection_log [shape=record rankdir=LR label="{ collection_log | file\:run/collected_images.csv}"];
rejection_log [shape=record rankdir=LR label="{ rejection_log | file\:run/rejected_samples.txt}"];
sample_spreadsheet [shape=record rankdir=LR label="{ sample_spreadsheet | file\:cassette_\{cassette_id\}_spreadsheet.csv}"];
sample_name
sample_quality
rejected_sample
accepted_sample
num_images
energies
sample_id
energy
frame_number
raw_image [shape=record rankdir=LR label="{ raw_image | file\:run/raw/\{cassette_id\}/\{sample_id\}/e\{energy\}/image_\{frame_number\}.raw}"];
calibration_image [shape=record rankdir=LR label="{ calibration_image | file\:calibration.img}"];
corrected_image_path
total_intensity
pixel_count

/* Style for nodes representing parameter channels in workflow */
node[shape=box style="rounded,filled" fillcolor="#FCFCFC" peripheries=1 fontname=Helvetica]

/* Nodes representing parameter channels in workflow */
cassette_id
sample_score_cutoff

/* Edges representing connections between programs and channels */
initialize_run -> run_log
load_screening_results -> sample_name
load_screening_results -> sample_quality
cassette_id -> load_screening_results
sample_spreadsheet -> load_screening_results
calculate_strategy -> accepted_sample
calculate_strategy -> rejected_sample
calculate_strategy -> num_images
calculate_strategy -> energies
sample_score_cutoff -> calculate_strategy
sample_name -> calculate_strategy
sample_quality -> calculate_strategy
log_rejected_sample -> rejection_log
cassette_id -> log_rejected_sample
rejected_sample -> log_rejected_sample
collect_data_set -> sample_id
collect_data_set -> energy
collect_data_set -> frame_number
collect_data_set -> raw_image
cassette_id -> collect_data_set
accepted_sample -> collect_data_set
num_images -> collect_data_set
energies -> collect_data_set
transform_images -> corrected_image
transform_images -> corrected_image_path
transform_images -> total_intensity
transform_images -> pixel_count
sample_id -> transform_images
energy -> transform_images
frame_number -> transform_images
raw_image -> transform_images
calibration_image -> transform_images
log_average_image_intensity -> collection_log
cassette_id -> log_average_image_intensity
sample_id -> log_average_image_intensity
frame_number -> log_average_image_intensity
corrected_image_path -> log_average_image_intensity
total_intensity -> log_average_image_intensity
pixel_count -> log_average_image_intensity

/* End of double cluster for drawing box around nodes in workflow */
}}

/* Hidden double-cluster for grouping workflow input ports */
subgraph cluster_input_ports_group_outer { label=""; color=white
subgraph cluster_input_ports_group_inner { label=""; color=white

/* Style for nodes representing workflow input ports */
node[shape=circle style="rounded,filled" fillcolor="#FFFFFF" peripheries=1 fontname=Helvetica width=0.2]

/* Nodes representing workflow input ports */
cassette_id_input_port [label=""]
sample_score_cutoff_input_port [label=""]
sample_spreadsheet_input_port [label=""]
calibration_image_input_port [label=""]

/* End of double-cluster for grouping workflow input ports */
}}

/* Hidden double-cluster for grouping workflow output ports */
subgraph cluster_output_ports_group_outer { label=""; color=white
subgraph cluster_output_ports_group_inner { label=""; color=white

/* Style for nodes representing workflow output ports */
node[shape=circle style="rounded,filled" fillcolor="#FFFFFF" peripheries=1 fontname=Helvetica width=0.2]

/* Nodes representing workflow output ports */
corrected_image_output_port [label=""]
run_log_output_port [label=""]
collection_log_output_port [label=""]
rejection_log_output_port [label=""]

/* End of double-cluster for grouping workflow output ports */
}}

/* Edges from input ports to channels */
cassette_id_input_port -> cassette_id
sample_score_cutoff_input_port -> sample_score_cutoff
sample_spreadsheet_input_port -> sample_spreadsheet
calibration_image_input_port -> calibration_image

/* Edges from channels to output ports */
corrected_image -> corrected_image_output_port
run_log -> run_log_output_port
collection_log -> collection_log_output_port
rejection_log -> rejection_log_output_port

/* End of top-level graph */
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy