Work is not running with "Nothing to be done"

Hi! I can’t run my task of sars-cov-2
To be clear, after git clone I did the “getting_started”, it has completed well
Then I make my_profile this new paths and files, but all attempts it print me, that:

Config file defaults/parameters.yaml is extended by additional config specified via the command line.
Building DAG of jobs…
Nothing to be done (all requested files are present and up to date).

I could not understand the reason. restarting ncov and deleting log-folder didn’t come to changes. Please, help
I did use nextstrain previously with no problem on other devices, maybe the last next version work so…
also, I can work now with zika-format pipeline and it works fine but is not suitable for sars (ex command nextstrain build --cpus 8 2022-01-30_sars_test/)

Hi @IrinaB. Could you share the following?

  1. the exact command you’re running
  2. the contents of your my_profile directory and files within it

Hi! @trs
Command:
nextstrain build . --cores 8 --use-conda --configfile ./my_profiles/2022-01-30_sars_test/builds.yaml

In my_profiles folder there are few profiles-folders:
2022-01-30_sars_test/ example_global_context/
example/ example_multiple_inputs/
example_advanced_customization/ getting_started/

The contents of 2022-01-30_sars_test as example:
builds.yaml my_auspice_config_all.json my_description.md
config.yaml my_auspice_config.json

Thanks! Could you share the builds.yaml and config.yaml files in ./my_profiles/2022-01-30_sars_test/ by attaching them here?

@trs thanks! Excuse me, don’t have an opportunity to attach it, so I’ve copied it here. Sorry for that


builds.yaml
# This is where we define which builds we'd like to run.
# This example includes one minimal global build.

# Each build needs a name, a defined subsampling process, and geographic attributes used for subsampling.
# Geography is specified by build attributes (e.g., `region`, `country`, `division`, `location`) that are referenced from subsampling schemes.

# The default config file, `./defaults/parameters.yaml` has reasonable default subsampling methods for each geographic resolution.
# These subsample primarily from the area of interest ("focus"), and add in background ("contextual") sequences from the rest of the world.
# Contextual sequences that are genetically similar to (hamming distance) and geographically near the focal sequences are heavily prioritized.

# Define input files.
inputs:
  - name: covid-19 analisys 2022-01-30
    metadata: data/2022-01-30_sars_test/metadata.txt
    sequences: data/2022-01-30_sars_test/sequences.fasta

# In this example, we use these default methods. See other templates for examples of how to customize this subsampling scheme.
builds:
  # This build samples evenly from the globe
  # with a build name that will produce the following URL fragment on Nextstrain/auspice:
  # /ncov/global
  global:
    subsampling_scheme: region_global
    region: global

# Here, you can specify what type of auspice_config you want to use
# and what description you want. These will apply to all the above builds.
# If you want to specify specific files for each build - you can!
# See the 'example_advanced_customization' builds.yaml
files:
  auspice_config: "my_profiles/2022-01-30_sars_test/my_auspice_config_all.json"
  description: "my_profiles/2022-01-30_sars_test/my_description.md"

frequencies:
  min_date: 2020-01-01
  max_date: 2022-01-30

config.yaml
#####################################################################################
#### NOTE: head over to `builds.yaml` to define what builds you'd like to run. ####
#### (i.e., datasets and subsampling schemas)  ####
#####################################################################################

# This analysis-specific config file overrides the settings in the default config file.
# If a parameter is not defined here, it will fall back to the default value.

configfile:
  - defaults/parameters.yaml # Pull in the default values
  - my_profiles/2022-01-30_sars_test/builds.yaml # Pull in our list of desired builds

# Set the maximum number of cores you want Snakemake to use for this pipeline.
cores: 8

# Always print the commands that will be run to the screen for debugging.
printshellcmds: True

# Always print log files of failed jobs to the screen.
show-failed-logs: True

@trs I tried to make the same things on another device and have also had the result picture in auspice folder like standard set has been analyzed. I assume it is not a problem with the computer - the reason is soft or my_profile =)

Thanks for pasting those here. I wonder if the issue might be the spaces in the build name:

- name: covid-19 analisys 2022-01-30

Try changing them to underscores or hyphens, for example:

- name: covid-19_analisys_2022-01-30

I would have expected you to see a validation error instead of “Nothing to be done (all requested files are present and up to date).”.

Thanks for the answer @trs ! I changed name as you said and rename metadata.txt to tsv. Unfortunately, it didn’t help, I have the same “Nothing to be done (all requested files are present and up to date).”

I reinstall all soft and ncov, run firstly getting_started and then my build - the result is the same.

Thomas, may be I can use some commands to delete all results of a previous builting\tree making to avoid this problem?

Thanks!

It works! I have renamed all files, make new build-file with another path and it runs well.
@trs, if I clearly remember, in one of previous versions of nextstrain the changing of content of files even with the same names was a reason of rerunning of pipeline.
Now, if I have changed the content, but build file has stable path - nothing will run.

May be a command of deleting all results and logs of tree will be a good idea. I try it - in one of previous version it had a positive affect of rerunning, but not in current. May be, there are more files in other directories must be deleted for virgin run, I really do not know how to do it, sorry =)

Thanks!)

Glad you’ve resolved it! There is a clean rule you can use, e.g.:

nextstrain build . clean --cores 8 --configfile ./my_profiles/2022-01-30_sars_test/builds.yaml

which just deletes the whole results/ and auspice/ directories.

Sorry I didn’t flag this earlier; I thought that you were starting without existing results files and so the Snakemake “nothing to do” message was for other reasons.

Snakemake should still re-run rules when input file timestamps are newer than output file timestamps, but it doesn’t look at the file content itself. If something has updated output file timestamps after Snakemake or preserved/backdated older input file timestamps even when changing their content, than Snakemake won’t notice anything needs re-running. This can happen with some methods of copying files around.

It is also possible to force snakemake to start from a certain rule using the -R flag followed by one or multiple rule names, e.g. -R subsample

To run all rules, ignoring all output that may be there already, use -F (--forceall)

clean should also work, but using -R/-F is more general for all sorts of snakemake workflows, even when there isn’t a clean rule defined.