# The Preserve Statement

    
    preserve(<substring>) {
        < statements for which outputs should be preserved > 
    }

    
    @preserve
    stage_name = { 
        <statements> 
    }

### Behavior

Causes the outputs generated by statements inside the block to be marked as preserved, and thus will not be automatically cleaned up by a `bpipe cleanup` command. 

### Examples

**Ensure the VCF file of a Variant Calling Operation is not Deleted by Cleanup**

```groovy 

preserve("*.vcf") {
        exec """ 
                java -Xmx8g -jar GenomeAnalysisTK.jar -T UnifiedGenotyper 
                   -R $REF 
                   -I $input.bam 
                   -nt 4
                   --dbsnp $DBSNP 
                   -dcov 1600 
                   -l INFO 
                   -A AlleleBalance -A Coverage -A FisherStrand 
                   -glm BOTH
                   -metrics $output.metrics
                   -o $output.vcf
            """
}
```
