title: Adding wildcards to a workflow -- best practices
body: <p>I have a quite complex snakemake bioinformatics workflow consisting of >200 rules. It basically starts from a set of FASTQ files, from which variables are inferred, like so:</p>
  
  <pre><code>(WC1, WC2, WC3, WC4) = glob_wildcards(FASTQPATH + "{wc1}_{wc2}_{wc3}_{wc4}.fastq.gz") 
  </code></pre>
  
  <p>Those are then expanded to generate the target files, for example (I am skipping intermediate rules for brevity):</p>
  
  <pre><code>rule all:
   expand("mappings/{wc1}_{wc2}_{wc3}_{wc4}.bam", wc1=WC1, wc2=WC2, wc3=WC3, wc4=WC4),
  </code></pre>
  
  <p>Over the course of a project, metadata can evolve and wildcards need to be added, e.g. <code>wc5</code>:</p>
  
  <pre><code>(WC1, WC2, WC3, WC4, WC5) = glob_wildcards(FASTQPATH + "{wc1}_{wc2}_{wc3}_{wc4}_{wc5}.fastq.gz") 
  </code></pre>
  
  <p>This results in manually editing ~200 workflow rules to comply with the new input. I wonder if anyone in the community has come up with a more elegant, less cumbersome solution (using input functions perhaps?), or is it just a Snakemake limitation we all have to live with?</p>
  
  <p>Thanks in advance</p>