So I have been having different results from my mentor. He uses paid affy software and I am using R. His normalization algorithm takes the log of the data and then normalizes it. However I believe the rma function R does it the other way around. Does this make a difference? Thanks.

RMA is a three step algorithm. It is using "background noise removal" which is in fact some convolution algorithm that produce lower values than signal values itself. Then it does quantile normalization and log2 transformation. You can then subtract two values (from two arrays) and obtain a guess of the log fold change.

If you somehow shuffle three steps of RMA, you get slightly different results. Commercial softwares often implements RMA directly using code of R. Irizarry from Bioconductor. Thus the implementations of RMA should be the same and they probably do not shuffle anything.

However if your boss uses other normalization algorithm, results may differ substantially. I have experience that by normalization people often mean dividing expression values by average expression value wchich is the step that is not included in RMA and thus the resulting data looks way different. I suggest using pure RMA for processing Affymetrix microarrays since it is the standard.

As per kulvait, the RMA algorithm is defined as a 3-step process of:

If you drift from this, then it is not RMA.