Skip to content

Best practices

Haris Zafeiropoulos edited this page May 11, 2023 · 1 revision

Run partially

Let's take an example case. Assuming you have already performed steps 1 and 2 (sequencing preprocessing and taxonomic profiles) and you want to go for steps 3 and 4 (gene calling and functional annotation) you should

  • either work on the same directory, leaving everything the same on your ./run_wf.sh command and change only the config.yml file setting the steps you want and the ones you do not want to be performed, but also the relative paths to the files required that as metaGOflow uses the output directory as the base path, it should be like:
predicted_faa_from_previous_run: {
  class: File, 
  format: "edam:format_1929",
  path:  results/my_sample.merged_CDS.faa # the results folder is the one already built from the previous run
}
  • or, in case you want to have a RO-Crate output only with the annotation steps, you could ask for a new output directory in your ./run_wf.sh command. Remember! This new output directory needs to be in the same directory as your run_wf.sh and your first output directory needs also to be there. CWL will not mount files out of the directory from where it is called. In this case, your paths in the config.yml file would be something like:
predicted_faa_from_previous_run: {
  class: File, 
  format: "edam:format_1929",
  path:  ../<output_folder_of_first_run>/results/my_sample.merged_CDS.faa # the output_folder_of_first_run could be anything inside the folder from where you call cwl
}

Please keep in mind the moving-a-folder-up part .. !

  • An other option for you is to manually create the output directory that you are going to use for your second run and add the required files there. In that case your path will look like in the first case, but you will have to set the output directory in the ./run_wf.sh command so it points to the new folder.