Skip to main content
Topic: CAMERA question (Read 19603 times) previous topic - next topic

CAMERA question

Hi,
I've recently been looking into the CAMERA software for isotope and adduct annotation.
I have done tests using the default adduct ruleset but now I would like to know how to add other features to that list.
I notice xsAnnotate objects have a "ruleset" slot . Should I change this data.frame to add other features?
And if so, what is stored in the oidscore, quasi and  ips columns?

Thanks for your help,

Re: CAMERA question

Reply #1
Hi Paz,

to get an almost complete coverage about all possible adducts CAMERA generates an intern ruleset. This is done via combinatorical combination starting from three list, ions.csv, neutraladdition.csv and neutralloss.csv, which are stored under the lists folder in the CAMERA library path. So one possibility is to make changes here.

If you want to change or add smaller subsets/rules you can edit the ruleset directly, which is a little bit more difficult.

  name  nmol charge    massdiff  oidscore  quasi  ips
[M+H]+    1      1        1.007276        1          1    1.00
[2M+H]+  2      1        1.007276        1          0  0.50

The first four columns should be clear. For the massdiff values, these are the direct mass differences without charge adoption, so [M+2H]2+ has charge 2 and massdiff 1.007276.
The additional three columns regulate the internal annotation filtering.
Oidscore is an identifier encoding if one rule is a direct cluster of another ion. See example above for M+H and 2M+H. For a new rule simply use a new, unique oidscore value.
Quasi is a binary value (0/1), which defines if an annotation group (same molecular mass hypothesis) is valid. A group is defined as valid, if it contains at least one annotation with quasi = 1. As standard only
M+H, M+Na, M+K and M+NH4 have 1.
Ips is a scoring function(experimental), which consists out of four values(0.25,0.5,0.75,1) which represent the importance of this rule. This comes in handy, if an ion have conflicting annotation possibilities.
The different annotation group that has the higher sum of ips scores is chosen.

Hope this could help a bit.

Carsten

Re: CAMERA question

Reply #2
Thanks Carsten, this was very helpful!

Re: CAMERA question

Reply #3
I am playing with CAMERA for the first time today, and found this discussion somewhat helpful.  But how exactly would one change the ruleset directly? do we read in a csv file with those columns/values?

I was playing with the default values, and picking a random annotation of some of my experimental data I found that a dimer was mislabelled as a monomer, and the monomer of the pseudospectrum was mislabelled as [M+2H]++.  THe isotope pattern for the true mononomer clearly indicated that this m/z was not doubly charged.  How can I prevent this?

Also, I had another example where I had two compounds in the same peak group annotated as [M+H]+.  This of course cannot be correct, but can it be prevented?

Thanks

Re: CAMERA question

Reply #4
Quote from: "cbroeckl"
I am playing with CAMERA for the first time today, and found this discussion somewhat helpful.  But how exactly would one change the ruleset directly? do we read in a csv file with those columns/values?
This is a possibility. Section 6 of the vignette explain this in little more detail.

Quote from: "cbroeckl"
I was playing with the default values, and picking a random annotation of some of my experimental data I found that a dimer was mislabelled as a monomer, and the monomer of the pseudospectrum was mislabelled as [M+2H]++.  THe isotope pattern for the true mononomer clearly indicated that this m/z was not doubly charged.  How can I prevent this?
The annotation of dimer and monomer are checked against the labeling from the isotope detection. So if a monomer has a [M]+ isotope label, no double charged rule can be applied like [M+2H]2+
So did you use findIsotopes before? If the isotope pattern is recognized correctly, it should not happened. Otherwise it is a bug and for fixing it would be a great if you could provide me an example.

If no isotope pattern is available, it is hard to distinguished between [M+H] and [2M+H] or [M+2H] and [M+H] alone with mass differences.

Quote from: "cbroeckl"
Also, I had another example where I had two compounds in the same peak group annotated as [M+H]+. This of course cannot be correct, but can it be prevented?
At the moment we allow multiple annotation of [M+H]+ in one peak group. Hence, we observe perfect co-eluting compounds, which could not be separated according to there EICs.
As long as there are no conflicts for one peak within a group, the different annotation groups (all annotated peaks belong to one compound mass) are "per definition" valid. For example we detect two [M+H]+ and [M+Na]+ peak pairs.

If we wouldn't allow multiple annotation, we clearly lose those cases and we need additional constrains for conflict resolution. For example a) choose the annotation group with the most explained peaks or b) the one with the higher compound mass. Would that make more sense? If there is an interest, we could implement this as an optional parameter in the current devel and see if it improves the results.

Re: CAMERA question

Reply #5
Thanks for the advice,

I don't think I ran the isotope annotation for that spectrum first.  I will keep trying.  And I will look at the vignette to check out the annotation rules.  I appreciate the quick response.

Re: CAMERA question

Reply #6
Regarding the ruleset table, I have CAMERA installed on two different computers, and neither installation has a file called "primary_adducts_pos.csv".  Nor is there a 'rules' folder.  I can find the list folder with 'ions.csv' etc., but this doesn't have the detail that the 7 columns of the ruleset described previously.  Am I missing something silly, or is the primary_adducts_pos file obselete?  I am using section six from the pdf linked from the bioconductor site dated Apr 28, 2011.  Thanks.

Re: CAMERA question

Reply #7
The rules folder with precalculated ruletable was added with version 1.5.7. Please update if your version is lower.
If not, did you get any output from system.file('rules/primary_adducts_pos.csv', package = "CAMERA") ?

 

Re: CAMERA question

Reply #8
Carsten

I installed CAMERA using the R pulldown menu, select repositories->BioC. then Install Packages-> CAMERA. 

I didn't notice the first time, but the message after installation of the downloaded CAMERA says:

trying URL 'http://www.bioconductor.org/packages/2.6/bioc/bin/windows64/contrib/2.11/CAMERA_1.4.2.zip'
Content type 'application/zip' length 1231546 bytes (1.2 Mb)
opened URL
downloaded 1.2 Mb

package 'CAMERA' successfully unpacked and MD5 sums checked

The downloaded packages are in
        C:UserscbroecklAppDataLocalTempRtmpvQ5TAbdownloaded_packages


I noticed at the bioconductor site that I should be downloading v1.8.2, but it is listed as 32bit only.  Is my issue that I am on a 64 bit computer?  If so, any plans for 64bit CAMERA soon?

Re: CAMERA question

Reply #9
Hi,

Quote from: "cbroeckl"
I noticed at the bioconductor site that I should be downloading v1.8.2, but it is listed as 32bit only.  Is my issue that I am on a 64 bit computer?  If so, any plans for 64bit CAMERA soon?

You can just download and install from
http://bioconductor.org/packages/2.9/bi ... AMERA.html
manually.

Yours,
Steffen
--
IPB Halle                          Mass spectrometry & Bioinformatics
Dr. Steffen Neumann         http://www.IPB-Halle.DE
Weinberg 3 06120 Halle     Tel. +49 (0) 345 5582 - 1470
sneumann(at)IPB-Halle.DE

Re: CAMERA question

Reply #10
that did the trick.  thanks to all.


Re: CAMERA question

Reply #12
Hi all,

I am using CAMERA 1.6.0 on a 64bit Linux machine. The following is part of the result of "cat extended_adducts_pos.csv"

"name","nmol","charge","massdiff","oidscore","quasi","ips"
"[M+H]+",1,1,1.0076,1,1,1
"[M+2H]2+",1,2,2.0152,2,0,0.75
"[M+3H]3+",1,3,3.0228,3,0,0.75
"[M+H+Na]2+",1,2,23.996818,4,0,0.5
"[M+H+K]2+",1,2,39.970758,6,0,0.5
"[M+H+NH4]2+",1,2,19.041423,7,0,0.5
...

I am already using my own ruleset but I would like to ask the following: by looking at the first line, we see that the massdiff for [M+H]+ is 1.0076. Isn't this a bit over-rounding of the difference? As also mentioned above, shouldn't it be 1.0073 (4-digit rounding)? Same for [M+2H]2+ etc. Am I missing something? Thank you in advance!

Panos

Re: CAMERA question

Reply #13
Hi Panos,

this is quite a bug. There was a typo in the ruleset generating function, which has been fixed long ago.
But it seems we simply forgot to update the pre-calculated rulesets, which doesn't matter until you load them explicitly.
Will be corrected in v1.9.8.

Thanks for pointing this out.

Carsten

Re: CAMERA question

Reply #14
Hi,

you can generate ruleSets based on (modified) ion lists,
check out ?generateRules

Yours,
Steffen
--
IPB Halle                          Mass spectrometry & Bioinformatics
Dr. Steffen Neumann         http://www.IPB-Halle.DE
Weinberg 3 06120 Halle     Tel. +49 (0) 345 5582 - 1470
sneumann(at)IPB-Halle.DE