MS-Align+

Technical information

Subversion: https://usa.ucsd.edu/svn/msalign/trunk/

Bug-tracker: https://bix-bugs.ucsd.edu/browse/MSALIGN

Dependencies: Java SE Development Kit http://www.oracle.com/technetwork/java/javase/downloads/index.html, Apache Ant http://ant.apache.org/

Links to articles

Usage

Web-directory structure

MS-Align+ assumes that all files are available via web and requires special directory structure. All static files that exposed to the web should be copied from  https://usa.ucsd.edu/svn/msalign/trunk/html/

Each user dataset with spectrums data, protein database, parameters and resulting files is placed in separate directory.

form.html                     - web-pages that creates datasets directories with the required data and parameters via JettyServer at /action/upload
<dataset directory #1>        - directories with datasets
...<dataset directory #N>
Directory structure for the dataset
/msinput
    input_data                - spectrum data
    input.properties          - configuration file
    <ProteinDatabase>.fasta   - protein database
/msoutput
    result.txt                - MS-Align+ results for further processing
    result_table.txt          - tab-separated results file
/xml
    A lot of *.xml generated from MS-Align+ results.
/html
    proteins.html             - index of all discovered proteins, the entry point for viewing MS-Align+ results
    sorttable.js              - JavaScript code that supports sorting on PrSMs pages (https://bix-bugs.ucsd.edu/browse/MSALIGN-20)    
    A lot of htmls generated from /xml folder using XSLT
Sample input.properties file
database=prot.fasta
# Error tolerance in PPM
fragmentTolerance=15
# E-value threshold
threshold=0.01
# Maximum number of modifications
shifts=1
#Cysteine protection group can be Carbamidoemetylation and Carboxymethylation
protection=None
#instrument can be ETD
instrument=CID
Full process of the input data

This command runs MS-ALign+, stores results in msoutput directory, generates xml files in xml directory  and generates html files in html directory.

java -classpath jar/*:lib/jar/* edu.ucsd.msalign.spec.web.Pipeline <PathToTheDatasetDir>

We recommend to run it on the computer with 12GB of free RAM using command line option like in example below:

java -server -d64 -Xmx12048M -classpath jar/*:lib/jar/* edu.ucsd.msalign.spec.web.Pipeline <PathToTheDatasetDir>

Generating XML files from MS-ALign+ results

This command assumes that MS-ALign+ results are ready in msouput directory and generates xml files in xml directory.

java -classpath jar/*:lib/jar/* edu.ucsd.msalign.spec.view.ResultProcessor <PathToTheDatasetDir> <ProteinDatabase>.fasta <Maximum E-value>

Maximum E-value is an optional parameter, it removes all PrSMs with greater E-value. If it is not specified all PrSM generated by MS-Align are used.

MS-Align uses threshold value in input.properties as maximum E-value.

Generating HTML files form XML

This command assumes that xml files are ready in xml directory and generates html files in html directory using xslt.

ant -lib lib/jar/saxon9he.jar -Ddataset=<PathToTheDatasetDir> xslt

Build release

Create empty directory and go to it. After that execute

svn checkout https://usa.ucsd.edu/svn/msalign/trunk/ .

ant release

After that you will get file msalign-build<Revision-number>.zip.

How to update project from svn

svn up

ant jarmsalign

Jetty server

For the automatic creation of the dataset directories with correct parameters we have special web server based on Jetty, that can be started using following command:

java -classpath jar/*:lib/jar/* edu.ucsd.msalign.spec.web.JettyServer <PathToTheRootDirectoryOfAllDatasets> <Port>

Port parameter is optional and default value is 8080.

forms.html assumes that Jetty listens at /action/upload and the front-end web-server should be configured to pass all /action/* requests to Jetty.

Sample configuration code from nginx.conf looks like

 location /action {
            proxy_pass http://127.0.0.1:8080;
        }

Contacts

Xiaowen Liu, Yakov Sirotkin, Pavel Pevzner

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.