/// <summary> /// Register the specified analysis. /// </summary> /// <param name="analysis">Analysis.</param> public override void Register(BaseAnalysis analysis) { this.RegisterProperty(analysis, "MapFileName", x => this.MapFileName = x); this.RegisterProperty(analysis, "MapFileLinkType", x => this.MapFileLinkType = x); this.RegisterProperty(analysis, "MapFileMaxRange", x => this.MapFileMaxRange = x); this.RegisterProperty(analysis, "MapFilePromoterRange", x => this.MapFilePromoterRange = x); this.RegisterProperty(analysis, "MapFileConfidenceThreshold", x => this.MapFileConfidenceThreshold = x); }
/// <summary> /// Reflects the string arguments. /// </summary> /// <param name="analysis">Analysis.</param> /// <param name="args">Arguments.</param> protected void ReflectStringArgs(BaseAnalysis analysis, TArgEnum[] args) { var argEnumAsString = args.Select(x => x.ToString()).ToList(); var registeredArgs = analysis.ElementArgRegistry .Where(x => argEnumAsString.Contains(x.Key)).ToList(); foreach (var arg in registeredArgs) { arg.Value(this.CommandArgs.StringArgs[arg.Key]); } var unregisteredArgs = args.Where(x => !analysis.ElementArgRegistry.ContainsKey(x.ToString())).ToArray(); this.ReflectStringArgs((object)analysis, unregisteredArgs); }
/// <summary> /// Registers the property. /// </summary> /// <param name="analysis">Analysis.</param> /// <param name="name">Name.</param> /// <param name="action">Action.</param> protected void RegisterProperty(BaseAnalysis analysis, string name, Action <string> action) { analysis.ElementArgRegistry.Add(this.PropertyPrefix + name, action); }
/// <summary> /// Register the specified analysis. /// </summary> /// <param name="analysis">Analysis.</param> public abstract void Register(BaseAnalysis analysis);
/// <summary> /// Register the specified analysis. /// </summary> /// <param name="analysis">Analysis.</param> public override void Register(BaseAnalysis analysis) { analysis.ElementArgRegistry.Add("LocusFileName", (val) => this.LocusFileName = val); }