Expert search and TPP usage
From SPCTools
Revision as of 00:20, 10 March 2009 Edeutsch (Talk | contribs) ← Previous diff |
Revision as of 22:40, 12 March 2009 Tfarrah (Talk | contribs) (→Preparation) Next diff → |
||
Line 6: | Line 6: | ||
* which amino acid modifications are present only some of the time? | * which amino acid modifications are present only some of the time? | ||
* how complete was the digest? | * how complete was the digest? | ||
- | * was the data analyzed on a high mass accuracy instrument? | + | * was the data generated by a high mass accuracy instrument? |
== Data storage == | == Data storage == |
Revision as of 22:40, 12 March 2009
This is a guide to searching MS/MS data from within ISB, using a Unix command line interface.
Contents |
Preparation
Know the following about your data:
- which amino acid modifications are ubiquitous, and what are their weights?
- which amino acid modifications are present only some of the time?
- how complete was the digest?
- was the data generated by a high mass accuracy instrument?
Data storage
If data is to ultimately be stored in SBEAMS, it should be placed in the following directory structure (Feb. 2009 note -- this disk is nearly full and new data should not be moved there):
/regis/sbeams/archive/<investigator>/<project>/<experiment_tag>/<search_descriptor>
For example:
/regis/sbeams/archive/youngah/HsUrine/HsNormFemUrine_163A/XTK_Hs3.38
<investigator> should be the name of the person who generated the data, in the format used in SBEAMS. If that investigator is not registered in SBEAMS, they should be registered.
<search_descriptor> should be a three-letter abbreviation for the search engine, underscore, and a brief descriptor of the database searched.
Raw data and mzXML files should be stored in the <experiment> directory. mzXML files should be symlinked (use ln -s) to each <search_descriptor> directory. Search results and TPP results should be stored in the <search_descriptor> directories.
Moving XML files
Paths are hardcoded within pepXML and protXML files. If you move these files, you must run the following script in order for the files to work properly with the TPP:
/sbeams/bin/updateAllPaths.pl *.xml *.xls *.shtml
Searching
Go to the directory for your experiment and set up a generic search parameters file. This will be automatically adapted for SEQUEST and X!Tandem using a nifty script that Abhishek Pratap wrote in 2008.
# copy a generic search parameter file and edit to suit your data cp /sbeams/bin/params/search.params . vi search.params
X!Tandem-K
We use a modification of the publicly-available X!Tandem search engine called X!Tandem-K. It uses a significantly different scoring algorithm, K-score.
# see above for example <search_descriptor> setenv SEARCHDIR <search_descriptor> mkdir $SEARCHDIR foreach file ( *.mzXML ) ln -s ../$file $SEARCHDIR/$file end cd $SEARCHDIR /sbeams/bin/params/createEngineSpecificParams.pl --config_file ../search.params --output tandem.params # edit tandem.params to conduct a search appropriate for your data vi tandem.params echo “ -OdA -dDECOY_ -E<experiment_tag>” > xinteract.params /sbeams/bin/tandem/runtandemsearch *.mzXML
(TPP is automatically run on the search results based on whatever is in xinteract.params and whole log emailed to you)
X!Tandem parameters
See [1] for a description of X!Tandem parameters.
A major choice you must make is whether to do a one-pass search with generous criteria (allowing semi-tryptic matches, modifications, and missed cleavages), or whether to do a two-pass search, the first pass with stricter criteria, and the second pass with generous criteria but only searching those proteins that were matched in the first pass. The two-pass method is called "refine" mode. It is much faster, but violates some of the assumptions made in the TPP and therefore may give slightly less accurate TPP results.
Example parameters for a one-pass search allowing semi-tryptic cleavage:
<note type="input" label="protein, cleavage semi">yes</note> <note type="input" label="refine">no</note>
Example parameters for a search using refine mode, allowing semi-tryptic cleavage only in the second pass:
<note type="input" label="refine">yes</note> <note type="input" label="refine, cleavage semi">yes</note>
xinteract (TPP) parameters for X!Tandem searches
For a listing of all xinteract parameters, type xinteract | more.
Here is a sample xinteract.params file for an X!Tandem search using decoys; it works with and without refinement:
-OdA -dDECOY_ -EYoungAhFem1912
Key:
- -O (letter, not digit) introduces options for PeptideProphet
- d reports decoy hits with a computed probability based on the model learned
- A says that you have high mass accuracy data that was searched using mono-isotopic masses
- -dDECOY_ use decoy hits to pin down the negative distribution; DECOY_ is the decoy identifier prefix
- -E is the experiment tag
Eric's instructions for all available searches, March 2009
Hi everyone, I have not advertised this extensively and it still needs work, but I encourage use of the following for testing. The intent is that you can search any set of mzXMLs with any of our supported/beta supported search engines as follows:
X!Tandem:
cd searchSubDir
cp –p /sbeams/bin/tandem/tandem.params-cam tandem.params
vi tandem.params
cat “” > xinteract.params
/sbeams/bin/tandem/runtandemsearch *.mzXML
OMSSA:
cd searchSubDir
cp –p /sbeams/bin/omssa/omssa.params .
vi omssa.params
cat “-OPd –dDECOY -eT” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/tandem/runomssasearch *.mzXML
Note: OMSSA does not read plain FASTA files, but rather FASTA files must be formatted with something like: /package/genome/bin/formatdb -i YeastCombNR_20070207_ForwDecoy.fasta -p T -o T -l YeastCombNR_20070207_ForwDecoy.log
Myrimatch:
cd searchSubDir
cp –p /sbeams/bin/myrimatch/myrimatch.params .
vi myrimatch.params
cat “-OPd –dDECOY -eT” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/myrimatch/runmyrimatchsearch *.mzXML
InsPect:
cd searchSubDir
cp –p /sbeams/bin/inspect/inspect.params .
vi inspect.params
cat “-OPd –dDECOY -eT” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/inspect/runinspectsearch *.mzXML
SpectraST:
cd searchSubDir
cp –p /sbeams/bin/spectrast/spectrast.params .
vi spectrast.params
cat “-OPd –dDECOY” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/spectrast/runspectrastsearch *.mzXML
CProbID:
cd searchSubDir
cp –p /sbeams/bin/cprobid/cprobid.params .
vi cprobid.params
cat “-OPd –dDECOY -eT” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/cprobid/runcprobidsearch *.mzXML
Do they all work? Yes, mostly, fragilely. You can set a TESTDEVPATH to use a particular version of the TPP. In the absence of that envvar, it defaults to production or dshteynb-bin in a few cases of the truly speculative ones.
You should be able to examine my directory of tests that demonstrate/test the functionality of each as follows:
cd /regis/sbeams/tests
ls -al
more =tests.notes
You’ll find the test data and some example params files in:
/regis/sbeams/tests/referenceData/
(the haloICAT one is probably the one with the most complete examples).
In each case, if the search is successful, but the TPP part (which is triggered automatically using the specified xinteract.params flags) fails. You can rerun just the TPP part with:
cd searchSubDir
vi xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dev/bin
/sbeams/bin/omssa/postProcessSearch --nowait *.mzXML
(the --nowait is currently necessary, although that should be fixed)
This is all very much a work in progress (although not much progress recently). The vision is that any of the supported search engines could be easily invoked in this manner. Note that this system submits all searches to the “tandem cluster”
It is all ripe for some more professional/organized setup to make this more widely usable (which I encourage someone to do!). But I encourage all of you to search using this mechanism rather than some other. If it doesn’t work for you, please help refine it so that it does. Please email this list with questions, suggestions, fixes, etc. This is not for the most part yet stable enough for users outside this group.
Thanks!
Eric
raw notes from Eric, November 2008
If you want to rerun the TPP on a dataset, do:
/bin/rm interact*
/bin/rm zztandem*
setenv TESTDEVPATH /tools/bin/TPP/tpp-dshteynb/bin
/sbeams/bin/tandem/finishtandemsearch --nowait *.mzXML >& zztandempostprocessing.log
(the --nowait is required so that the finisher doesn’t want around for the .done files)
Note that runtandemsearch and finishtandemsearch will also run on *.mgf or *.mzData or *.pkl
SpectraST:
- To process 1 or more mzXML files, do this:
setenv SEARCHDIR SST_HsNISTIT2.0_aDECOY1
mkdir $SEARCHDIR
foreach file ( *.mzXML )
ln -s ../$file $SEARCHDIR/$file
end
cd $SEARCHDIR
cp /regis/sbeams/bin/spectrast/spectrast.params .
vi spectrast.params
echo “-OPNMd -dDECOY” > xinteract.params
setenv TESTDEVPATH /tools/bin/TPP/tpp-dshteynb/bin
/sbeams/bin/spectrast/runspectrast *.mzXML
(TPP is automatically run on the search results based on whatever is in xinteract.params and whole log emailed to you)
If you want to rerun the TPP on a dataset, do:
/bin/rm interact*
/bin/rm zzpost*
setenv TESTDEVPATH /tools/bin/TPP/tpp-dshteynb/bin
/sbeams/bin/spectrast/finishspectrastsearch --nowait *.mzXML >& zzpostprocessing.log
(the --nowait is required so that the finisher doesn’t want around for the .done files)
Notes:
- For Xtandem, let’s not use the semi-parametric model.
- For SpectraST, let’s DO use the semi-parametric model.
- iProphet and MHT confidence scores are good. Let’s use them. Confidence scores are conservative but good.
- I think LOGPROBS is a bust. I’m not recommending them at the moment.