Plum iconPlum 1.0

Plum is a Java tool that lets you browse sets of peptides.
Plum is a Java tool that lets you browse sets of peptides. The idea is that you enter a set of sequences (in fasta format) and the set of peptides mapped to the genes they came from.

It allows you to run queries on the peptides and save the result of these queries as subsets so that you can query them so as to perform set intersection.

Instructions for use

1. Get data (if you don't want to find your own)

· Go to and download the two sets of data. This data is not yet in the public domain, but it may be used to testing purposes only.

2. Launch the application

· Go to and click the Launch link
· If you download the standalone version, first unzip it, then double click the plum-launcher.jar file, or enter in the console 'java -jar plum-launcher.jar'

3. Import some data

· Go to Data --> Import...
· Enter in a fasta file, a peptide file, a name and description.
· If the data was produced and the protein mapping index is 0-based, check the checkbox.
· Click 'import'
· View the results and click OK to return to the main screen
o One "hit" is considered any combination of peptides that satisfy the query
o eg: If a query is composed of three peptides in some orientation, peptides A, B and C may satisfy conditions for the first, second and third peptide, respectively. However, another hit might be B, A, C for the first, second, and third peptide, respectively.

4. Select some data

· Go to Data --> Select
· Check the data set(s) you want to use
· Hit OK and wait.

5. Browse the data

· Click a protein in the menu on the right
· Click a peptide in the left to jump to the peptide's location (note: this will bring the peptide to the edge of the screen sometimes, I'm working on this).
· If you want details on a peptide you can click it in the browser menu and it will highlight it in the browser window (bold) and in the table.
· Sort proteins and/or peptides by clicking on the column headers
· Search for a protein by name or by description
o Whatever you type in the box, it will look for it in the protein name or description starting from wherever the cursor currently is.

6. Query the data

· OK, this is a cool feature but also a confusing one
· Once you've got some data selected, select the Query --> Execute menu item
· Results of a query will be in blue, but peptides that existed in the data and were filtered out by the query will show up in grey.
· Query based on composition:
o Here, you will query peptides based on their sequence and/or the amino acid to the left or right of them in the protein it maps to.
o Use just 1 line of the query box
o You will be writing regex expressions that match the rough form of X.XXXX.X
o The only difference in the regex expression is that it's not purely regex:
+ A dot character (.) is interpreted as a literal dot as opposed to "any character"
+ X is interpreted as "any amino acid or a -"
+ All amino acids must be upper-case
o Example: A.X+K.X
+ This is read as "Any peptide that starts after an A and ends with a K.
o Example X.X{5,10}.X
+ This is read as "Any peptide that is of length 5 to 10
· Query based on position:
o Here, you will query sets of peptides that fall into some orientation with each other.
o Use multiple lines in the query box
o The idea is that you will write an expression for one peptide per line (using the same type of regex expression from above) and you'll position them in such a way that you'd like to find them.
o For example, you want to find two peptides such that the right endpoint of one is one amino acid away from the other.
o To do this, you will add 'anchor' characters in lowercase to the query lines indicating which points you want to be relative to which. For example what if you want two peptides to be related by the distance between the left endpoints? What about the distance of left to right? You'd need a way to differentiate these. The simplest way to show what I mean is examples. See the attached sample queries.
· 7. Save a query
o Under the Query --> Save menu, type in a name and description of the query that you just entered. Now you can select this as a data source so that you can run queries on it just like you can run queries on the data that you imported.
o This feature is is useful to query for set intersections. ie if you want A insersect B, you query the data for A, then query those results for B.

Additional features


You can sort your peptides and proteins by single-clicking any title header in the peptide and protein table. Click it again to reverse the sort.

Copy layout to clipboard

Right click the browser box and select 'copy to clipboard' to get the HTML contents of the browser box

Delete datasets/subsets

In the Data --> Select screen, you can right click and select delete. Note that if you delete a dataset that a subset relies on, then it will not work anymore!

View last query text

The Query --> Info menu item to view the text of the most recent query request.

File formats

Sequence files are in standard multi-fasta format. The protein name (the one block of text right after the '>') is mandatory and must be unique. The description for the protein is optional.

Peptide files must be a file containing only blank lines or lines of the following format:

{left AA}.{peptide}.{right AA}{whitespace}{peptide's left index}{whitespace}{spectral count}

Left AA/right AA: must be 1 upper-case character. The following is an example of a properly formatted line:



· Java 1.5+

last updated on:
April 2nd, 2008, 23:12 GMT
developed by:
Plum Team
license type:
GPL (GNU General Public License) 
ROOT \ Utilities


In a hurry? Add it to your Download Basket!

user rating 8



Add your review!