public void Execute()
        {
            var validTss = this.TranscriptExpression
                .Select(x => new
                {
                    Values = x.Value.Values,
                    TissueExpressionData = new Analyses.MapBuilderData.TissueExpressionData
                    {
                        Tss = x.Key,
                        Location = this.TranscriptLocations[x.Key],
                        Expression = x.Value,
                    }
                })
                .Where(x => this.IsValidExpressionData(x.TissueExpressionData) && CorrelationMapBuilder.IsTwoFoldChange(x.Values))
                .ToList();

            string stem = string.Join("_", new string[]
            {
                "TssSet",
                this.Tissue,
                this.RnaSource,
                this.HistoneName,
            }
                .Concat(this.OmittedTissues != null ? this.OmittedTissues : new string[] {}));

            string file = string.Format("../temp/results/TssSets/{0}.nsv", stem);

            Tables.ToNamedNsvFile(file, validTss.Select(x => x.TissueExpressionData.Tss));

            if (this.AnnotationFileName != null)
            {
                var annotation = new GtfExpressionFile(
                                     GtfExpressionFile.ExpressionTypeFromString(this.RnaSource),
                                     this.AnnotationFileName);

                var tssToGene = annotation.Transcripts.ToDictionary(x => x.Key, x => x.Value.AlternateName);

                string geneStem = string.Join("_", new string[]
                {
                    "GeneSet",
                    this.Tissue,
                    this.RnaSource,
                    this.HistoneName,
                }
                    .Concat(this.OmittedTissues != null ? this.OmittedTissues : new string[] { }));

                string geneFile = string.Format("../temp/results/TssSets/{0}.nsv", geneStem);

                Tables.ToNamedNsvFile(geneFile, validTss
                    .Where(x => tssToGene.ContainsKey(x.TissueExpressionData.Tss))
                    .ToLookup(x => tssToGene[x.TissueExpressionData.Tss], x => x)
                    .Select(x => x.Key));
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="CorrelationMapBuilderProxy"/> class.
 /// </summary>
 /// <param name="instance">Instance to wrap in a proxy.</param>
 public CorrelationMapBuilderProxy(CorrelationMapBuilder instance)
 {
     this.instance = instance;
 }