Expert search and TPP usage

From SPCTools

(Difference between revisions)
Jump to: navigation, search
Revision as of 18:00, 9 March 2009
Tfarrah (Talk | contribs)

← Previous diff
Revision as of 00:20, 10 March 2009
Edeutsch (Talk | contribs)

Next diff →
Line 107: Line 107:
/sbeams/bin/tandem/runomssasearch *.mzXML /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: Myrimatch:

Revision as of 00:20, 10 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 analyzed on 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.

Personal tools