/// <summary> /// 输出每次条件下,每个fraction的protein group文件 /// </summary> protected override void ExportIndividualFractionFile() { DirectoryInfo individualDir = new DirectoryInfo(resultDir.FullName + "\\individual"); FileInfo sourceFile = new FileInfo(option.SourceFileName); SequestResultTextFormat writeFormat = GetWriteFormat(); for (int iMinCount = option.FilterFrom; iMinCount <= option.FilterTo; iMinCount += option.FilterStep) { List <CalculationItem> currentItems = GetFilteredItems(iMinCount); if (!individualDir.Exists) { individualDir.Create(); } foreach (string keptClassifiedName in option.GetClassifiedNames()) { string result_file = MyConvert.Format(@"{0}\{1}.{2}.{3}{4}", individualDir.FullName, FileUtils.ChangeExtension(sourceFile.Name, ""), GetOptionCondition(iMinCount), keptClassifiedName, sourceFile.Extension); List <IIdentifiedProteinGroup> groups = new List <IIdentifiedProteinGroup>(); foreach (var item in currentItems) { if (item.GetClassifiedCount(keptClassifiedName) >= iMinCount) { IIdentifiedProteinGroup group = (IIdentifiedProteinGroup)item.Key; IIdentifiedProteinGroup clonedGroup = GetGroupContainClassifiedPeptideHitOnly(keptClassifiedName, group); groups.Add(clonedGroup); } } IdentifiedResult curResult = new IdentifiedResult(); curResult.AddRange(groups); curResult.Sort(); writeFormat.WriteToFile(result_file, curResult); } } }