Skip to content

Running PIA via the command line

Julian Uszkoreit edited this page Jan 13, 2014 · 6 revisions

This description assumes you are used to call Java application via the command line and have knowledge about the classpath of your Java VM.

To run PIA, some dependencies are needed. Please make sure, you have these in your classpath. If you downloaded a binary package of PIA, the dependencies are included as JARs.

For the following methods to call PIA, make sure to allow a big enough amount of memory with the Java argument -Xmx, e.g.

java -Xmx6G -jar pia.jar ...

The basic operations via the command line are the compilation of search engine results into PIA-XML files and the analysis of a compilation using a prior defined analysis pipeline.

Compiling files into a PIA-XML

The compilation is used to speed-up all following analyses by structuring and sorting the data. This step is needed only once per set of search engine results.

To run a compilation, call the PIACompiler with the mandatory parameters for infile and outfile.

java -cp pia.jar de.mpc.pia.intermediate.compiler.PIACompiler -infile /path/to/searchengine/result [-infile /path/to/searchengine/result2...] -name "name of compilation" -outfile /path/to/compilation.pia.xml

PIACompiler parameters

outfile

path to the created PIA XML file

name (optional)

name of the PIA compilation, used internally only

infile

Path to the input file. This can be called multiple times to compile more than one file into the PIA-XML.

To tell PIA explicitly to parse a given file in a specific format, you can give the format after the path seperated by a semicolon (";"). Possible parsing formats are idxml (OpenMS idXML), mascot (Mascot DAT file), mzid (MzIdentML), tandem (X!Tandem result XML) and thermo (Thermo's MSF file, i.e. ProteomeDiscoverer result file).

Running an analysis with a parameter file

The command line allows you to execute almost every supported analysis via prior defined pipeline. These pipelines are saved in a parameterfile XML and allows a fast, scripted way to run the same operations on different files. Additionally to the infile (the PIA XML), the parameter file must be given. To see any results, these must be exported on one or more of either the PSM, peptide or protein level. The following example exports on the PSM level into mzTab-format.

java -jar pia.jar -infile /path/to/compilation.pia.xml -paramFile /path/to/pia_pipeline.xml -psmExport /path/to/export-psms.mzTab mzTab

Calling the pia.jar automatically uses the class "de.mpc.pia.modeller.PIAModeller", which could additionally be stated by Java's cp argument.

Command line parameters

Have a look here to see a list of all available command line parameters.