Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    /// <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;
    }