public static Dictionary<string, string> GetChipTypes(string rExecute, string directory, bool includingSubDirectory, string outputFile) { var cels = GetCelFiles(directory); foreach (var dir in Directory.GetDirectories(directory)) { cels.AddRange(GetCelFiles(dir)); } if (cels.Count == 0) { return new Dictionary<string, string>(); } var inputfile = Path.Combine(directory, "celfiles.tsv"); using (var sw = new StreamWriter(inputfile)) { foreach (var cel in cels) { sw.WriteLine(FileUtils.ToLinuxFormat(cel)); } } var roptions = new RTemplateProcessorOptions(); roptions.RExecute = rExecute; roptions.InputFile = inputfile; roptions.OutputFile = outputFile; roptions.RTemplate = FileUtils.GetTemplateDir() + "/getceltypes.r"; new RTemplateProcessor(roptions).Process(); return new MapReader(0, 1).ReadFromFile(roptions.OutputFile); }
/// <summary> /// Normalization cel files and return the file contains all cel file names /// </summary> /// <param name="root"></param> /// <param name="outputFile"></param> /// <returns></returns> public string Normalization(string root, string outputFile) { var cels = CelFile.GetCelFiles(root); if (cels.Count == 0) { Progress.SetMessage("No cel file found in directory " + DataDir); return string.Empty; } var inputFile = Path.Combine(root, "celfiles.tsv"); using (var sw = new StreamWriter(inputFile)) { foreach (var cel in cels) { sw.WriteLine(FileUtils.ToLinuxFormat(cel)); } } var roptions = new RTemplateProcessorOptions(); roptions.RExecute = rExecute; roptions.InputFile = inputFile; roptions.OutputFile = inputFile; roptions.NoResultFile = true; roptions.RTemplate = FileUtils.GetTemplateDir() + "\\frma.r"; roptions.CreateNoWindow = true; new RTemplateProcessor(roptions) { Progress = this.Progress }.Process(); CelFile.GetChipTypes(this.rExecute, root, true, outputFile); return outputFile; }