title: Can SnakeMake be forced to rerun rules when files are missing
body: <p>When a file that was made earlier in the pipeline is removed, SnakeMake does not seem to consider that a problem, as long as later files are there:</p>
  
  <pre><code>rule All:
      input: "testC1.txt", "testC2.txt"
  
  rule A:
      input: "{X}{Y}.txt"
      output: "{X}A{Y}.txt"
      shell: "cp {input} {output}"
  
  rule B:
      input: "{X}A{Y}.txt"
      output: "{X}B{Y}.txt"
      shell: "cp {input} {output}"
  
  rule C:
      input: "{X}B{Y}.txt"
      output: "{X}C{Y}.txt"
      shell: "cp {input} {output}"
  </code></pre>
  
  <p>Save this SnakeFile in test.sf and do this:</p>
  
  <pre><code>rm testA*.txt testB*.txt testC*.txt
  echo "test1" &gt;test1.txt
  echo "test2" &gt;test2.txt
  snakemake -s test.sf
  # Rerun:
  snakemake -s test.sf
  # SnakeMake says all is up to date, which it is.
  # Remove intermediate results:
  rm testA1.txt
  # Rerun:
  snakemake -s test.sf
  </code></pre>
  
  <p>SnakeMake says all is up to date.  It does not detect missing testA1.txt.</p>
  
  <p>I seem to recall something in the online SnakeMake manual about this, but I can no longer find it.</p>
  
  <p>I assume this is expected SnakeMake behavior.  It can sometimes be desired behavior, but sometimes you may want it to detect and rebuild the missing file.  How can this be done?</p>