diff --git a/ProteoWPFSuite/RawExperimentalComponents.xaml b/ProteoWPFSuite/RawExperimentalComponents.xaml
index 65944942..8d347d73 100644
--- a/ProteoWPFSuite/RawExperimentalComponents.xaml
+++ b/ProteoWPFSuite/RawExperimentalComponents.xaml
@@ -93,7 +93,16 @@
-
+
+
+
+
+
+
+
+
diff --git a/ProteoWPFSuite/RawExperimentalComponents.xaml.cs b/ProteoWPFSuite/RawExperimentalComponents.xaml.cs
index 181c49a6..46499a53 100644
--- a/ProteoWPFSuite/RawExperimentalComponents.xaml.cs
+++ b/ProteoWPFSuite/RawExperimentalComponents.xaml.cs
@@ -106,6 +106,8 @@ public void InitializeParameterSet()
nUD_mass_tolerance.Value = (decimal)Sweet.lollipop.raw_component_mass_tolerance;
CK_rb_displayIdentificationComponents = true;
CK_rb_displayQuantificationComponents = false;
+ nud_minCC.Value = (decimal)Sweet.lollipop.minCC;
+ nUD_minIC.Value = (decimal)Sweet.lollipop.minIC;
FillTablesAndCharts();
}
@@ -210,7 +212,17 @@ private void nUD_mass_tolerance_ValueChanged(object sender, EventArgs e)
Sweet.lollipop.raw_component_mass_tolerance = Convert.ToDouble(nUD_mass_tolerance.Value);
}
+ private void nUD_minCC_ValueChanged(object sender, EventArgs e)
+ {
+ Sweet.lollipop.minCC = Convert.ToDouble(nud_minCC.Value);
+ }
+
+ private void nUD_minIC_ValueChanged(object sender, EventArgs e)
+ {
+ Sweet.lollipop.minIC = Convert.ToDouble(nUD_minIC.Value);
+ }
+
#endregion Private Methods
-
+
}
}
diff --git a/ProteoformSuiteInternal/Calibration.cs b/ProteoformSuiteInternal/Calibration.cs
index aa7ed369..642dfcc4 100755
--- a/ProteoformSuiteInternal/Calibration.cs
+++ b/ProteoformSuiteInternal/Calibration.cs
@@ -620,6 +620,8 @@ public static void calibrate_td_hits_file(InputFile file)
double corrected_RT;
// key is filename, hit scan #, hit reported mass, value is corrected mass
string[] row = old[i].Split('\t');
+ bool add_row_to_new_document = true;
+
if (Sweet.lollipop.retention_time_calibration)
{
if (Sweet.lollipop.td_hit_RT_correction.TryGetValue(
@@ -628,7 +630,10 @@ public static void calibrate_td_hits_file(InputFile file)
Convert.ToDouble(row[index_precursor_mass])), out corrected_RT))
{
row[index_retention_time] = corrected_RT.ToString();
- new_file.Add(String.Join("\t", row));
+ }
+ else
+ {
+ add_row_to_new_document = false;
}
}
@@ -640,10 +645,16 @@ public static void calibrate_td_hits_file(InputFile file)
Convert.ToDouble(row[index_precursor_mass])), out corrected_mass))
{
row[index_precursor_mass] = corrected_mass.ToString();
- new_file.Add(String.Join("\t", row));
-
+ }
+ else
+ {
+ add_row_to_new_document = false;
}
}
+ if(add_row_to_new_document)
+ {
+ new_file.Add(String.Join("\t", row));
+ }
}
File.WriteAllLines(new_absolute_path, new_file);
}
@@ -715,13 +726,13 @@ public static void calibrate_components_in_xlsx(InputFile file)
if (Sweet.lollipop.component_mz_correction.TryGetValue(new Tuple(file.filename, Math.Round(intensity, 0), Math.Round(mass, 2)), out value))
{
row[2] = value.ToString();
- new_file.Add(string.Join("\t", row));
}
if (Sweet.lollipop.component_RT_correction.TryGetValue(new Tuple(file.filename, Math.Round(intensity, 0), Math.Round(mass, 2)), out value))
{
row[8] = (value*60).ToString();
- new_file.Add(string.Join("\t", row));
}
+ new_file.Add(string.Join("\t", row));
+
}
else if (row.Length == 3 && Double.TryParse(row[0], out mass) &&
Double.TryParse(row[1], out intensity))
@@ -730,13 +741,12 @@ public static void calibrate_components_in_xlsx(InputFile file)
if (Sweet.lollipop.component_mz_correction.TryGetValue(new Tuple(file.filename, Math.Round(intensity, 0), Math.Round(mass, 2)), out value))
{
row[0] = value.ToString();
- new_file.Add(string.Join("\t", row));
}
if (Sweet.lollipop.component_RT_correction.TryGetValue(new Tuple(file.filename, Math.Round(intensity, 0), Math.Round(mass, 2)), out value))
{
row[2] = value.ToString();
- new_file.Add(string.Join("\t", row));
}
+ new_file.Add(string.Join("\t", row));
}
}
File.WriteAllLines(new_absolute_path, new_file);
diff --git a/ProteoformSuiteInternal/ComponentReader.cs b/ProteoformSuiteInternal/ComponentReader.cs
index edca3440..2ca49cda 100644
--- a/ProteoformSuiteInternal/ComponentReader.cs
+++ b/ProteoformSuiteInternal/ComponentReader.cs
@@ -124,7 +124,7 @@ public List read_components_from_tsv(InputFile file, bool remove_miss
add_component(c);
}
}
- else if(row.Length == 16)
+ else if (row.Length == 16)
{
List cellStrings = new List();
cellStrings.Add(row[0]); //id
@@ -153,6 +153,13 @@ public List read_components_from_tsv(InputFile file, bool remove_miss
if (acceptable_component(c))
{
+ double IC = Convert.ToDouble(row[14]);
+ double CC = Convert.ToDouble(row[15]);
+ if (IC < Sweet.lollipop.minIC || CC < Sweet.lollipop.minCC)
+ {
+ continue;
+ }
+
add_component(c);
}
}
diff --git a/ProteoformSuiteInternal/Lollipop.cs b/ProteoformSuiteInternal/Lollipop.cs
index fb623f30..fc85e5ff 100644
--- a/ProteoformSuiteInternal/Lollipop.cs
+++ b/ProteoformSuiteInternal/Lollipop.cs
@@ -144,6 +144,8 @@ public void enter_input_files(string[] files, IEnumerable acceptable_ext
public List raw_quantification_components = new List();
public bool neucode_labeled = false;
public double raw_component_mass_tolerance = 5;
+ public double minIC = 0.7;
+ public double minCC = 0.7;
#endregion RAW EXPERIMENTAL COMPONENTS Public Fields
@@ -193,7 +195,11 @@ public string flash_deconv(int maxcharge, int mincharge, string directory)
if(f.extension == ".raw")
{
- return "Error: please convert .raw files to .mzML";
+ //var myMsDataFile = ThermoRawFileReaderData.LoadAllStaticData(f.complete_path);
+ //MzmlMethods.CreateAndWriteMyMzmlWithCalibratedSpectra(myMsDataFile,
+ //f.directory + "\\" + f.filename + "PS.mzML", false);
+ //filelocation = f.directory + "\\" + f.filename + "PS";
+ return "Error: please convert .raw files to .mzML";
}
Process proc = new Process();
diff --git a/Test/Test.csproj b/Test/Test.csproj
index 3532c99c..1380b7de 100644
--- a/Test/Test.csproj
+++ b/Test/Test.csproj
@@ -11,6 +11,10 @@
false
+
+ x86
+
+
diff --git a/Test/TestFLASHDeconv.cs b/Test/TestFLASHDeconv.cs
index c3c1e5a7..0dedef77 100644
--- a/Test/TestFLASHDeconv.cs
+++ b/Test/TestFLASHDeconv.cs
@@ -29,7 +29,7 @@ public void testFLASHDeconv()
List deconv_components = new List();
Sweet.lollipop.process_raw_components(Sweet.lollipop.input_files.Where(f => f.purpose == Purpose.Identification).ToList(), deconv_components, Purpose.Identification, false);
- Assert.AreEqual(54, deconv_components.Count);
+ Assert.AreEqual(52, deconv_components.Count);
Assert.AreEqual(6999.01, Math.Round(deconv_components.OrderBy(c => c.id).First().reported_monoisotopic_mass, 2));
Assert.AreEqual(6999.01, Math.Round(deconv_components.OrderBy(c => c.id).First().weighted_monoisotopic_mass, 2));
Assert.AreEqual(15184400000, Math.Round(deconv_components.OrderBy(c => c.id).First().intensity_reported, 2));