MetaMorpheus icon indicating copy to clipboard operation
MetaMorpheus copied to clipboard

Guidance on running a fast TMT search

Open lazear opened this issue 3 years ago • 0 comments

Hi all,

I'm currently benchmarking a variety of different proteomics search engines (Comet, MSFragger, IdentiPy, etc) for both speed & # of PSM identifications. I am struggling a bit (without taking the time to read through the extensive documentation - nice job!) to figure out which exact parameters I should use for MetaMorpheus.

Note that my goal here is simply to run a MS2 search - it would best if there is no quantification, protein inference, or other steps - FDR will be refined using Mokapot. I'd like to get your help setting up the proper parameters to use - please configure it so that MetaMorpheus will be as fast and accurate as possible! Benchmarks will be run on a c5ad.8xlarge EC2 instance (Linux/.NET 6.0 - 32 vCPUs, 64 GB RAM, NVMe disks)

One of the standard benchmarks I have been running is:

  • TMT11 plex (high res MS2): +/-20 ppm precursor, +/-10 ppm fragment, -1 to 3 isotope error

I can get MetaMorpheus to run on my EC2 instance using .NET6.0 and CMD.dll (note that the current GitHub release is still for the .NET 5.0 version - I had to download a nightly build from your CI). I take it that I just want to run a single Task, something along these lines (parameters definitely not optimized yet):

I have changed some parameters to match what other engines are using (5-50 peptide length, 500 - 5000 peptide mass, 75 - 2000 fragment mass, 15 to 150 MS2 peaks, FASTA database already has decoys appended)

TaskType = "Search"

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

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

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

[CommonParameters.DigestionParams]
MaxMissedCleavages = 1
InitiatorMethionineBehavior = "Variable"
MinPeptideLength = 5
MaxPeptideLength = 50
MaxModificationIsoforms = 1024
MaxModsForPeptide = 0
Protease = "trypsin"
SearchModeType = "Full"
FragmentationTerminus = "Both"
SpecificProtease = "trypsin"
GeneratehUnlabeledProteinsForSilac = true
KeepNGlycopeptide = false
KeepOGlycopeptide = false

lazear avatar Aug 06 '22 16:08 lazear