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
21 changes: 7 additions & 14 deletions TaskLayer/SearchTask/PostSearchAnalysisTask.cs
Original file line number Diff line number Diff line change
Expand Up @@ -254,22 +254,12 @@ private void QuantificationAnalysis()
}

// get PSMs to pass to FlashLFQ
List<PeptideSpectralMatch> unambiguousPsmsBelowOnePercentFdr = new();
if (Parameters.AllPsms.Count > 100)//PEP is not computed when there are fewer than 100 psms
{
unambiguousPsmsBelowOnePercentFdr = Parameters.AllPsms.Where(p =>
p.FdrInfo.PEP_QValue <= 0.01
&& !p.IsDecoy
&& p.FullSequence != null).ToList(); //if ambiguous, there's no full sequence
}
else
{
unambiguousPsmsBelowOnePercentFdr = Parameters.AllPsms.Where(p =>
List<PeptideSpectralMatch> unambiguousPsmsBelowOnePercentFdr = Parameters.AllPsms.Where(p =>
p.FdrInfo.QValue <= 0.01
&& p.FdrInfo.QValueNotch <= 0.01
&& !p.IsDecoy
&& p.FullSequence != null).ToList(); //if ambiguous, there's no full sequence
}


// pass protein group info for each PSM
var psmToProteinGroups = new Dictionary<PeptideSpectralMatch, List<FlashLFQ.ProteinGroup>>();
if (ProteinGroups != null && ProteinGroups.Count != 0) //ProteinGroups can be null if parsimony wasn't done, and it can be empty if you're doing the two peptide rule
Expand All @@ -282,7 +272,10 @@ private void QuantificationAnalysis()
string.Join("|", proteinsOrderedByAccession.Select(p => p.GeneNames.Select(x => x.Item2).FirstOrDefault())),
string.Join("|", proteinsOrderedByAccession.Select(p => p.Organism).Distinct()));

foreach (var psm in proteinGroup.AllPsmsBelowOnePercentFDR.Where(v => v.FullSequence != null))
foreach (var psm in proteinGroup.AllPsmsBelowOnePercentFDR.Where(p=>p.FdrInfo.QValue <= 0.01
&& p.FdrInfo.QValueNotch <= 0.01
&& !p.IsDecoy
&& p.FullSequence != null))
{
if (psmToProteinGroups.TryGetValue(psm, out var flashLfqProteinGroups))
{
Expand Down
49,782 changes: 49,782 additions & 0 deletions Test/LFQTestData/20100614_Velos1_TaGe_SA_K562_3.mzML

Large diffs are not rendered by default.

41,726 changes: 41,726 additions & 0 deletions Test/LFQTestData/20100614_Velos1_TaGe_SA_K562_4.mzML

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Test/LFQTestData/ExperimentalDesign.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FileName Condition Biorep Fraction Techrep
20100614_Velos1_TaGe_SA_K562_3.mzML one 1 1 1
20100614_Velos1_TaGe_SA_K562_4.mzML two 1 1 1
95 changes: 95 additions & 0 deletions Test/LFQTestData/Task1-SearchTaskconfig.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
TaskType = "Search"

[SearchParameters]
DisposeOfFileWhenDone = true
DoParsimony = true
ModPeptidesAreDifferent = false
NoOneHitWonders = false
MatchBetweenRuns = true
Normalize = false
QuantifyPpmTol = 5.0
DoHistogramAnalysis = false
SearchTarget = true
DecoyType = "Reverse"
MassDiffAcceptorType = "OneMM"
WritePrunedDatabase = false
KeepAllUniprotMods = true
DoLocalizationAnalysis = true
DoQuantification = true
DoMbrAnalysis = true
SearchType = "Classic"
LocalFdrCategories = ["FullySpecific"]
MaxFragmentSize = 30000.0
MinAllowedInternalFragmentLength = 0
HistogramBinTolInDaltons = 0.003
MaximumMassThatFragmentIonScoreIsDoubled = 0.0
WriteMzId = false
WritePepXml = false
WriteDecoys = false
WriteContaminants = true
WriteIndividualFiles = true
WriteSpectralLibrary = false
UpdateSpectralLibrary = false
CompressIndividualFiles = false
TCAmbiguity = "RemoveContaminant"
IncludeModMotifInMzid = false

[SearchParameters.ModsToWriteSelection]
'N-linked glycosylation' = 3
'O-linked glycosylation' = 3
'Other glycosylation' = 3
'Common Biological' = 3
'Less Common' = 3
Metal = 3
'2+ nucleotide substitution' = 3
'1 nucleotide substitution' = 3
UniProt = 2

[CommonParameters]
TaskDescriptor = "SearchTask"
MaxThreadsToUsePerFile = 7
ListOfModsFixed = "Common Fixed\tCarbamidomethyl on C\t\tCommon Fixed\tCarbamidomethyl on U"
ListOfModsVariable = "Common Variable\tOxidation on M"
DoPrecursorDeconvolution = true
UseProvidedPrecursorInfo = true
DeconvolutionIntensityRatio = 3.0
DeconvolutionMaxAssumedChargeState = 12
DeconvolutionMassTolerance = "±4.0000 PPM"
TotalPartitions = 1
ProductMassTolerance = "±20.0000 PPM"
PrecursorMassTolerance = "±5.0000 PPM"
AddCompIons = false
ScoreCutoff = 5.0
ReportAllAmbiguity = true
NumberOfPeaksToKeepPerWindow = 200
MinimumAllowedIntensityRatioToBasePeak = 0.01
NormalizePeaksAccrossAllWindows = false
TrimMs1Peaks = false
TrimMsMsPeaks = true
UseDeltaScore = false
QValueOutputFilter = 1.0
PepQValueOutputFilter = 1.0
CustomIons = []
AssumeOrphanPeaksAreZ1Fragments = true
MaxHeterozygousVariants = 4
MinVariantDepth = 1
AddTruncations = false
DissociationType = "HCD"
SeparationType = "HPLC"
MS2ChildScanDissociationType = "Unknown"
MS3ChildScanDissociationType = "Unknown"

[CommonParameters.DigestionParams]
MaxMissedCleavages = 2
InitiatorMethionineBehavior = "Variable"
MinPeptideLength = 7
MaxPeptideLength = 2147483647
MaxModificationIsoforms = 1024
MaxModsForPeptide = 2
Protease = "trypsin"
SearchModeType = "Full"
FragmentationTerminus = "Both"
SpecificProtease = "trypsin"
GeneratehUnlabeledProteinsForSilac = true
KeepNGlycopeptide = false
KeepOGlycopeptide = false
Loading