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; }