Pipeline to analyze Agilent SurePrint aCGH

A complete pipeline to read post-scanning data, careful normalization, wave
correction and genomic artifact mitigation based on:

    doi:10.1186/gb-2011-12-8-r80

Certain doubts remain about the methodology. Authors should be inquired. After
normalization, data is segmented and copy state called with aid of CGHcall
package.
Correct parameters in mean/sd/median

NAs abound in the real world. Double check parameters related to them.
Double check again against NAs
Window size should be added to ranges

Don't forget to divide the total length by 2! GRanges add to the beginning and
to the end of each segment.
Model for wave correction deals with NAs

Another step in the NAs saga. Add na.action=na.exclude to lm() and retrive
residuals with resid() to get correct length results.
Correct fit polynomial model

Model fitting is on sample basis. Done with aid of a for loop. Think it could
be done with apply.
Add template matrix to lm calculations

Use tmp$M as template for now. A long term solution is needed.
Clean row without valid intensities

After calculating MA values, drop rows without at least one valid intensity.
Otherwise, mean will generate NaNs and spline will fail. Pesky NAs/NaNs!
Filter RGlist objects by genes data frame

Filtering RGlist is done by targeting genes data frame. Intensities are
filtered concomitantly.
Remove rows without valid intensities

Last commit was a mistake. Genes data frame is NOT linked to intensities. So,
make removal by each element in list. Additionaly, clean used bg data columns.
Another step to remove all NAs rows

Well, now I think I understand how to remove all NAs rows. Apply generate the
row indexes and '[' function return the true ones.
MergeLevels don't solve the problem

Can't use MergeLevels to fit copy states. Remove branches and back to
blackboard.
Large scale refactor

Major points:

- Agilent pipeline is based on CBS limma and CBS algorithm.
- Channel normalization don't work as expected
- HumanCytoSNP12 is OK!
- crlmm is buggy when parallelization is working (SMP).