Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CMD/CMD.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.7.82" />
<PackageReference Include="MathNet.Numerics" Version="5.0.0" />
<PackageReference Include="mzLib" Version="1.0.553" />
<PackageReference Include="mzLib" Version="8.0.0" />
<PackageReference Include="NetSerializer" Version="4.1.2" />
<PackageReference Include="Nett" Version="0.15.0" />
<PackageReference Include="SharpLearning.Common.Interfaces" Version="0.28.0" />
Expand Down
2 changes: 1 addition & 1 deletion GUI/GUI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MathNet.Numerics" Version="5.0.0" />
<PackageReference Include="mzLib" Version="1.0.553" />
<PackageReference Include="mzLib" Version="8.0.0" />
<PackageReference Include="NetSerializer" Version="4.1.2" />
<PackageReference Include="Nett" Version="0.15.0" />
<PackageReference Include="SharpLearning.Common.Interfaces" Version="0.28.0" />
Expand Down
30 changes: 18 additions & 12 deletions GUI/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -403,10 +403,10 @@
<CheckBox Name="normalizeCheckbox" Content="Normalize Intensities" Foreground="DarkGray"
Grid.Row="4" Style="{StaticResource SquareCheckbox}"
ToolTip="Corrects systematic intensity errors with median normalization. The main assumption is that most proteins do not change in abundance between samples" />
<CheckBox Name="pepQValueCheckbox" Content="Use PEP Q Values" Foreground="DarkGray"

<CheckBox Name="isoTrackCheckbox" Content="IsoTracker: Improved quantification of isobaric species" Foreground="DarkGray"
Grid.Row="5" Style="{StaticResource SquareCheckbox}"
ToolTip="Determines how FlashLFQ chooses which peptides to quantify (only applies to MetaMorpheus identifications). Using PEP Q generally yields more peptide IDs" />
ToolTip="Turn on Ray's awesome algorithm!" />

<CheckBox Name="sharedPeptideCheckbox" Content="Use shared peptides for protein quantification" Foreground="DarkGray"
Grid.Row="6"
Expand Down Expand Up @@ -448,12 +448,14 @@
<ColumnDefinition Width="300"/>
</Grid.ColumnDefinitions>

<CheckBox Name="integrateCheckBox" Content="Integrate Peak Areas" Foreground="DarkGray" Grid.Row="0" Style="{StaticResource SquareCheckbox}"
<CheckBox Name="integrateCheckBox" Grid.Row="0" Content="Integrate Peak Areas" Foreground="DarkGray"
Style="{StaticResource SquareCheckbox}"
ToolTip="By default, FlashLFQ reports the peak height and not peak area. Enabling integration reports the peak area"/>

<CheckBox Name="precursorIdOnlyCheckbox" Content="Only quantify identified charge" Foreground="DarkGray" Grid.Row="1" Style="{StaticResource SquareCheckbox}"
ToolTip="FlashLFQ will only quantify the identified charge, and will not look for alternative charges"/>

<CheckBox Name="pepQValueCheckbox" Grid.Row="1" Content="Use PEP Q Values" Foreground="DarkGray"
Style="{StaticResource SquareCheckbox}"
ToolTip="Determines how FlashLFQ chooses which peptides to quantify (only applies to MetaMorpheus identifications). Using PEP Q generally yields more peptide IDs" />

<StackPanel Orientation="Horizontal" Grid.Row="2" Margin="2"
ToolTip="The mass tolerance in parts per million of isotope peaks (e.g., M+1, M+2 peaks)">
<TextBox Name="isotopePpmToleranceTextBox" Width="40" Foreground="DarkGray" Background="Transparent" BorderBrush="DarkGray" BorderThickness="1" FontSize="13" />
Expand All @@ -466,23 +468,27 @@
<Label Content="Number of isotopes required" Foreground="DarkGray" />
</StackPanel>

<CheckBox Name="requireMsmsIdInConditionCheckbox" Content="Require MS/MS Identification in Condition" Foreground="DarkGray" Grid.Row="0"
Grid.Column="1" Style="{StaticResource SquareCheckbox}" IsEnabled="{Binding IsChecked, ElementName=mbrCheckbox}"
<CheckBox Name="requireMsmsIdInConditionCheckbox" Grid.Row="0" Grid.Column="1" Content="Require MS/MS Identification in Condition" Foreground="DarkGray"
Style="{StaticResource SquareCheckbox}" IsEnabled="{Binding IsChecked, ElementName=mbrCheckbox}"
ToolTip="Only try to match peptides from proteins if an MS/MS identified peptide from that protein was observed in the condition"/>

<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=mbrCheckbox}"
<CheckBox Name="precursorIdOnlyCheckbox" Grid.Row="1" Grid.Column ="1" Content="Only quantify identified charge" Foreground="DarkGray"
Style="{StaticResource SquareCheckbox}"
ToolTip="FlashLFQ will only quantify the identified charge, and will not look for alternative charges"/>

<StackPanel Orientation="Horizontal" Grid.Row="2" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=mbrCheckbox}"
ToolTip="The retention-time error allowed in match-between runs. This is not the systematic time shift, but a sort of &quot;variance&quot; or &quot;error&quot; in the retention time allowed">
<TextBox Name="mbrRtWindowTextBox" Width="40" Foreground="DarkGray" Background="Transparent" BorderBrush="DarkGray" BorderThickness="1" FontSize="13" />
<Label Content="Maximum MBR window (minutes)" Foreground="DarkGray" />
</StackPanel>

<StackPanel Orientation="Horizontal" Grid.Row="2" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=bayesianCheckbox}"
<StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=bayesianCheckbox}"
ToolTip="The number of iterations to perform for the Markov-Chain Monte Carlo sampler in the Bayesian stats engine. A larger number of iterations will result in a slower but more precise estimate of the protein fold-change, the PEP, and the FDR">
<TextBox Name="mcmcIterationsTextBox" Width="40" Foreground="DarkGray" Background="Transparent" BorderBrush="DarkGray" BorderThickness="1" FontSize="13" />
<Label Content="MCMC Iterations" Foreground="DarkGray" />
</StackPanel>

<StackPanel Orientation="Horizontal" Grid.Row="3" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=bayesianCheckbox}"
<StackPanel Orientation="Horizontal" Grid.Row="4" Grid.Column="1" Margin="2" IsEnabled="{Binding IsChecked, ElementName=bayesianCheckbox}"
ToolTip="The seed for the random number generator in the Markov-Chain Monte Carlo sampler. You should probably not change this unless unless you are trying to reproduce an analysis">
<TextBox Name="mcmcRandomSeedTextBox" Width="40" Foreground="DarkGray" Background="Transparent" BorderBrush="DarkGray" BorderThickness="1" FontSize="13" />
<Label Content="MCMC Random Seed" Foreground="DarkGray" />
Expand Down
4 changes: 4 additions & 0 deletions GUI/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ private void PopulateSettings()
ppmToleranceTextBox.Text = settings.PpmTolerance.ToString("F1");
normalizeCheckbox.IsChecked = settings.Normalize;
mbrCheckbox.IsChecked = settings.MatchBetweenRuns;
isoTrackCheckbox.IsChecked = settings.IsoTracker;
mbrFDRTextBox.Text = "0.01";
sharedPeptideCheckbox.IsChecked = settings.UseSharedPeptidesForProteinQuant;
pepQValueCheckbox.IsChecked = settings.UsePepQValue;
Expand Down Expand Up @@ -150,6 +151,8 @@ private void ParseSettings()
settings.ProteinQuantBaseCondition = (string)ControlConditionComboBox.SelectedItem;
settings.RequireMsmsIdInCondition = requireMsmsIdInConditionCheckbox.IsChecked.Value;

settings.IsoTracker = isoTrackCheckbox.IsChecked.Value;

// isotope PPM tolerance
if (double.TryParse(isotopePpmToleranceTextBox.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out double isotopePpmTolerance))
{
Expand Down Expand Up @@ -442,6 +445,7 @@ private void Run_Click(object sender, RoutedEventArgs e)
identFilesDataGrid.IsReadOnly = true;
ppmToleranceTextBox.IsEnabled = false;
normalizeCheckbox.IsEnabled = false;
isoTrackCheckbox.IsEnabled = false;
mbrCheckbox.IsEnabled = false;
MbrFdrPanel.IsEnabled = false;
sharedPeptideCheckbox.IsEnabled = false;
Expand Down
2 changes: 1 addition & 1 deletion Test/Test.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MathNet.Numerics" Version="5.0.0" />
<PackageReference Include="mzLib" Version="1.0.553" />
<PackageReference Include="mzLib" Version="8.0.0" />
<PackageReference Include="NetSerializer" Version="4.1.2" />
<PackageReference Include="nunit" Version="4.2.2" />
<PackageReference Include="NUnit3TestAdapter" Version="4.6.0" />
Expand Down
9 changes: 7 additions & 2 deletions Util/FlashLfqSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -87,14 +87,16 @@ public class FlashLfqSettings

[Option("rns", HelpText = "int; random seed for the Bayesian protein fold-change analysis")]
public int? RandomSeed { get; set; }
//TODO: paired samples

[Option("pipfdr", HelpText = "double; fdr cutoff for pip")]
public double MbrDetectionQValueThreshold { get; set; }
public double MbrDetectionQValueThreshold { get; set; }

[Option("usepepq", Default = false, HelpText = "bool; determines whether PEP Q Value should be used to determine which peptides to quantify")]
public bool UsePepQValue { get; set; }

[Option("isoTrack", Default = false, HelpText = "bool; determines whether IsoTracker should be used to aid in the quantification of isobaric peptides")]
public bool IsoTracker { get; set; }

public FlashLfqSettings()
{
FlashLfqEngine f = new FlashLfqEngine(new List<Identification>());
Expand All @@ -120,6 +122,7 @@ public FlashLfqSettings()
McmcSteps = f.McmcSteps;
McmcBurninSteps = f.McmcBurninSteps;
UseSharedPeptidesForProteinQuant = f.UseSharedPeptidesForProteinQuant;
//IsoTracker = f.IsoTracker;

RandomSeed = bayesianSettings.RandomSeed;
}
Expand Down Expand Up @@ -153,7 +156,9 @@ public static FlashLfqEngine CreateEngineWithSettings(FlashLfqSettings settings,
mcmcBurninSteps: settings.McmcBurninSteps,
useSharedPeptidesForProteinQuant: settings.UseSharedPeptidesForProteinQuant,
randomSeed: settings.RandomSeed,
//isoTracker: settings.IsoTracker,
peptideSequencesToQuantify: peptidesForMbr

);
}

Expand Down
2 changes: 1 addition & 1 deletion Util/Util.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.7.82" />
<PackageReference Include="MathNet.Numerics" Version="5.0.0" />
<PackageReference Include="mzLib" Version="1.0.553" />
<PackageReference Include="mzLib" Version="8.0.0" />
<PackageReference Include="NetSerializer" Version="4.1.2" />
<PackageReference Include="Nett" Version="0.15.0" />
</ItemGroup>
Expand Down