%\VignetteIndexEntry{oneChannelGUI Overview}
%\VignetteDepends{}
%\VignetteKeywords{one channel microarray,extended Affymetrix GUI, limma, quality control, data filtering, time course, alternative splicing}
%\VignettePackage{oneChannelGUI}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[12pt]{article}
\usepackage{times}
\usepackage{hyperref}

\textwidth=6.2in
\textheight=8.5in
\oddsidemargin=0.2in
\evensidemargin=0.2in
\headheight=0in
\headsep=0in


\begin{document}
\title{oneChannelGUI Package Vignette}
\author{Raffaele A Calogero, Francesca Cordero, Remo Sanges}
\date{August 21, 2009}
\maketitle

\section{Introduction}
This package is an add-on of affylmGUI for \textit{mouse-click} based QC, 
statistical analysis and data mining for one channel microarray data. It is designed 
for Bioconductor beginners having limited or no experience in interacting with 
Bioconductor line commands.
OneChannelGUI is a set of functions extending the affylmGUI capabilities, rearranging and extending 
affylmGUI menus. 

This package performs, in a graphical environment, the analysis
pipe-line shown in figure \ref{fig:fig1}, green box.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fig1}
    \caption{\label{fig:fig1}Microarray analysis pipe-line.}
  \end{center}
\end{figure}

This vignette gives a general overview of the graphical interfaces available in oneChannelGUI.
\begin{Schunk}
\begin{Sinput}
N.B: 
   All the oneChannelGUI graphical outputs are 
   visualized in the R main window, to reduce RAM consumption, 
   which is a critical issue when Affymetrix 
   array data or large set of data are loaded.
   Furthermore, exon data generated with APT tools 
   produce, in the working directory, 
   a certain amount of temporary files and directories. 
   A cleanup function is under development. 
   At the present time, user can manually remove, from the working folder, any file 
   starting with target, elevels, glevels, e.g. target51f81aeb, 
   elevels3e9f6b76, and folders starting with out and outMidas, 
   e.g. out17fb164, outMidas4a31ac4, without affecting 
   the results stored in oneChannelGUI. 
\end{Sinput}
\end{Schunk}


\section{Installation}
For the complete functionality of oneChannelGUI some external softwares and data 
need to be installed. Please refer to the \textit{install vignette} of oneChannelGUI package.

\section{Main graphical window}
oneChannelGUI inherits the core functionalities of affylmGUI and its main GUI.
In oneChannelGUI some extra topics are available in the main affylmGUI info left frame, e.g. maSigPro results,
Normalized Exon data, APT DABG, APT MiDAS, Splice Index, etc.
Furthermore, four different menus are automatically exchanged depending on the type of array loaded:
\begin{enumerate}
  \item .CEL IVT Affymetrix arrays. 
  \item .CEL exon 1.0 ST arrays uploaded in oneChannelGUI by Affymetrix APT tools or gene/exon data exported from Affymetrix Expression Console.
  \item .CEL Gene 1.0 ST arrays uploaded in oneChannelGUI by Affymetrix APT tools.
  \item GEO/flat tab delimited expression data file.
  \item ILLUMINA output from BeadStudio software version 1, 2 and 3.
\end{enumerate}

Each item in the menus is simply a graphical implementation of a function of a specific Bioconductor library 
, e.g. ssize: sample size and statistical power estimation.
To get more information on those libraries please refer to their specific vignettes, accessible from the \textit{Help menu}.

\section{File}
This menu allows the loading of .CEL IVT Affymetrix arrays as well as exon arrays, 
GEO Matrix Series files, tab delimited files containing only expression data and ILLUMINA data produced by BeadStudio software version 1 or 2.
In this menu, fig. \ref{fig:fignew1},  are given the main functionalities to handle a microarray analysis project. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew1}
    \caption{\label{fig:fignew1} File menu.}
  \end{center}
\end{figure}

\subsection{New}
The item \textit{New}, fig. \ref{fig:fignew1}, allow to load various types of array data, using the sub menu shown in fig. \ref{fig:fignew2},

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew2}
    \caption{\label{fig:fignew2} New: array type selection menu.}
  \end{center}
\end{figure}

\subsubsection{Target file structure}
To load arrays oneChannelGUI uses the information available in a file describing the experimental structure of the data set. 
This file is called \textit{target file} and it is a tab delimited file with a fixed header structure also used by affylmGUI, fig. \ref{fig:fig3}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fig3}
    \caption{\label{fig:fig3} Target file structure.}
  \end{center}
\end{figure}

\begin{Schunk}
\begin{Sinput}
IMPORTANT:
    TARGET FILE MUST NOT CONTAIN CHARACTERS LIKE ;,:_-|\!?+*^()[]{} 
\end{Sinput}
\end{Schunk} 

\subsubsection{Loading Affy .CEL files}
This sub menu, fig. \ref{fig:fignew2}, is enterily inherited by affylmGUI and allows to load .CEL files,
if a Bioconductor cdf file is available. User will be asked to select the working folder, 
i.e. the one in which are present the .CEL files and the target file.

\subsubsection{Loading EXON/GENE ARRAYS}
This sub menu, fig. \ref{fig:fignew2}, allows to load exon/gene 1.0 ST arrays starting from .CEL, taking advantage of Affymetrix
APT tools (\url{http://www.affymetrix.com/support/developer/powertools/index.affx}),
or flat tab delimited files containing gene/exon level expression data exported from 
Affymetrix Expression Console (EC, \url{http://www.affymetrix.com/support/technical/software_downloads.affx}).
If APT tool option is not used (it works only for Exon 1.0 ST data exported from EC), 
a sub-menu allows to select, for tab delimited data, the organism and the subset of 
exon data to be evaluated, fig. \ref{fig:fignew3}

\begin{Schunk}
\begin{Sinput}
IMPORTANT:
    TO USE APT TOOLS THE DOWNLOAD OF GENE/EXON LIBRARY FILES IS REQUIRED.
    THIS CAN BE DONE WITH THE FUNCTION 
    oeChannelGUI: Set library folder and install Affy gene/Exon library files
    LOCATED IN THE GENERAL TOOLS MENU
\end{Sinput}
\end{Schunk} 


\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew3}
    \caption{\label{fig:fignew3} Sub menu to define the organism and the subset of exon data that will be loaded.}
  \end{center}
\end{figure} 

Subsequently, the user will select:
\begin{enumerate}
      \item a working directory, a target file, 
      \item the flat tab delimited files containing respectively gene-level and exon-level data.
\end{enumerate}
If instead, APT tool option is selected, user will select:
\begin{enumerate}
       \item the organism and the subset of exon arrays to be evaluated, fig. \ref{fig:fignew3}, 
       \item a working directory, 
       \item a target file,
       \item the type of probe set summary to be applied to gene/exon level data, fig. \ref{fig:fignew4}.
\end{enumerate}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew4}
    \caption{\label{fig:fignew4} Sub menu to define the type of probe set summary to be applied.}
  \end{center}
\end{figure} 

Concerning probe set summary options, fig. \ref{fig:fignew4}, since PLIER/RMA are model-based algorithms. 
Exons that are alternatively
spliced in the samples, therefore exhibiting different expression patterns compared
to the constitutive exons, will have down-weighted effect in overall gene-level
target response values. A better estimation of gene-level signal could be obtained using
IterPLIER, which is a variation of PLIER that iteratively discards features (probes) that do not correlate
well with the overall gene-level signal and then recalculates the signal estimate to
derive a robust estimation of the gene expression value primarily based on the expression
levels of the constitutive exons.
Concerning exon level expression estimation, most probe sets only have four probes, which is too
limited to be useful with IterPLIER at the individual exon level, therfore il will be better to use PLIER/RMA.

Probe set summary calculation and uploading will take few minutes depending on the number of .CEL to be loaded and the PC in use.
Ones probe set summary has been calculated, using APT tool, it is also possibile to calculate DABG p-values, fig. \ref{fig:fignew5}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew5}
    \caption{\label{fig:fignew5} Selecting DABG p-value calculation.}
  \end{center}
\end{figure} 

DABG p-values represent \textit{data above background}, it is a p-value similar to that used to derive presence/absence calls in MAS 5.0.
DABG p-values could be useful to remove low intensity signals which could produce mis-leading results when alternative splicing
events are evaluated using the Splice Index, where signal intensity information is not considered.

The progress of the probe set summary calculation is shown in the main R window.
\begin{Schunk}
\begin{Sinput}
Gene level probe sets summary started
Read 6 cel files from: target3d92750
Opening bgp file: HuEx-1_0-st-v2.r2.antigenomic.bgp
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Expecting 1 iteration.
Doing iteration: 1
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Loading 22011 probesets and 908532 probes.
Reading 6 cel files......Done.
Processing Probesets......................Done.
Cleaning up.
Done.
Run took approximately: 9.56 minutes.

Gene level probe sets summary ended

Gene level probe sets summary ended

Exon level probe sets summary started

Exon level probe sets summary started
Read 6 cel files from: target3d92750
Opening bgp file: HuEx-1_0-st-v2.r2.antigenomic.bgp
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Expecting 1 iteration.
Doing iteration: 1
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Loading 287329 probesets and 1111849 probes.
Reading 6 cel files......Done.
Processing Probesets......................Done.
Cleaning up.
Done.
Run took approximately: 6.41 minutes.

Exon level probe sets summary ended

Exon level probe sets summary ended

DABG calculation started
Read 6 cel files from: target3d92750
Opening bgp file: HuEx-1_0-st-v2.r2.antigenomic.bgp
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Expecting 1 iteration.
Doing iteration: 1
Opening clf file: HuEx-1_0-st-v2.r2.clf
Opening pgf file: HuEx-1_0-st-v2.r2.pgf
Loading 22011 probesets and 908532 probes.
Reading 6 cel files......Done.
Processing Probesets......................Done.
Cleaning up.
Done.
Run took approximately: 3.55 minutes.

DABG calculation ended
\end{Sinput}
\end{Schunk}

\subsubsection{Loading GENE ARRAYS}
This sub menu, fig. \ref{fig:fignew2}, allows to load gene 1.0 ST arrays starting from .CEL, taking advantage of Affymetrix
APT tools (\url{http://www.affymetrix.com/support/developer/powertools/index.affx}).
Subsequently, the user will select:
\begin{enumerate}
       \item the organism and the subset of exon arrays to be evaluated, fig. \ref{fig:fignew73}, 
       \item a working directory, 
       \item a target file,
       \item the type of probe set summary to be applied to gene/exon level data, fig. \ref{fig:fignew74}.
\end{enumerate}


\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew73}
    \caption{\label{fig:fignew73} Sub menu to define the organism and the subset of data that will be loaded.}
  \end{center}
\end{figure} 


\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew74}
    \caption{\label{fig:fignew74} Sub menu to define the type of probe set summary to be applied.}
  \end{center}
\end{figure} 

Probe set summary calculation and uploading will take few minutes depending on the number of .CEL to be loaded and the PC in use.

\subsubsection{Loading ILLUMINA BeadStudio}
This sub menu, fig. \ref{fig:fignew2}, allows user to load expression data starting form the output
of BeadStudio software. The interface allows to load outputs generated by BeadStudio version 1, 2 and 3.
The Bioconductor annotation libraries for illumina arrays are associated to the loaded data. Since output of
BeadStudio is not log2 transformed, a popup menu will allow the data modification. Furthermore, if BeadStudio
data were not normalized, user could apply various normalization procedures available in the Menu Probe set summary.
It is possible to load also data from beadstudio v3. Files should be tab delimited and contain at least Average signal intensity for 
PROBE LEVEL this is needed to use the annotation library available in Bioconductor. 
Here are described the steps to generate an export file from BeadStudio v3 compatible with onechannelGUI, 
figs. \ref{fig:fignew80}, \ref{fig:fignew81}, \ref{fig:fignew82}.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew80}
    \caption{\label{fig:fignew80} After having generated an analysis in BeadStudio v3 enter in the analysis menu and select reports.}
  \end{center}
\end{figure}
 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew81}
    \caption{\label{fig:fignew81} select the name of the final report and press OK.}
  \end{center}
\end{figure} 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew82}
    \caption{\label{fig:fignew82} Select sample probe profile, select ProbeID, the array slots you  want to export and at least  AVG \textunderscore signal column
                                  The  output file is now compatible with oneChannelGUI and  with illuminaXXXXBeadID.db annotation.}
  \end{center}
\end{figure} 
  

\subsubsection{Loading GEO Matrix Series files}
This sub menu, fig. \ref{fig:fignew2}, allows to load GEO Matrix Series files.
To load a GEO Matrix Series file it is only necessary to locate in a specific folder a target file and the Matrix Series 
file downloaded from GEO database.

\begin{Schunk}
\begin{Sinput}
NB: In the target file the FileName column must contain 
exactly the same names present in the header 
below the row !series_matrix_table_begin 
in the Matrix Series file.
Instead Target column could be derived by the row 
!Sample_description in the Matrix Series file.
\end{Sinput}
\end{Schunk}

\subsubsection{Creating a Target file from GEO matrix series file}
To make easier to user the creation of target file for GEO matrix series files. This function, fig. \ref{fig:fignew1} opens
the GEO matrix file of interest and creates a data frame with the following columns, Name, FileName, using the informations written in GEO file:
\begin{Schunk}
\begin{Sinput}
Name: !Sample_title
FileName: ID_REF
Target: !Sample_source_name_ch1
\end{Sinput}
\end{Schunk}
The data frame is the written in the working directory
This target can be further edited and used to load the GEO matrix series file in oneChannelGUI.
\begin{Schunk}
\begin{Sinput}
N.B. Editing of the target file is frequently neded to 
correctly organize the Target column, 
to fullfil the user analysis needs. 
The Target file could contain a subset of the array data present in the series matrix file. oneChannelGUI will load only the columns of
the GEO matrix series file present in the Target file.
\end{Sinput}
\end{Schunk}

\subsubsection{Combining GEO matrix series file}
In large GEO experiments, e.g. GSE2109, the experiment is splitted in mutiple Matrix Series Files.
The function \textit{Combining GEO matrix series file} ,\ref{fig:fignew1},  allows to combine the splitted Matrix series Files in a unique
ExpressionSet to be used in oneChannelGUI. The user need to prepare a target file for each of the pieces of the experiment to be combined.
The function will ask the user the number of GEO matrix series files to be combined and subsequently for each of them will ask for the Target file name
and for the corresponding GEO matrix series file to be loaded.
  

\subsubsection{Loading Tab delimited files}
This sub menu, fig. \ref{fig:fignew2}, allows to load tab delimited file containing expression data only.
Also in this case the target and the expression file are the only two files needed to load these data in oneChannelGUI.
In the target file the FileName column should contain exactly the same names present in the header of the tab delimited matrix file.
Example of targets are available at \url{http://www.bioinformatica.unito.it/bioinformatics/DAGEL.II/}.
Actually a specialized module to load \textit{processed-data} derived from ArrayExpress database \url{http://www.ebi.ac.uk/arrayexpress/} 
is not available.
However, \textit{processed-data}, reorganized in a flat tab delimited file containing only expression values, can be loaded on oneChannelGUI.
 
\subsection{Open, Save, Save as}
A project can be saved using the functions \textit{Save as} fig. \ref{fig:fignew1}. A microarray project can also be 
uploaded again in oneChannelGUI with the function \textit{open}. 

\subsection{Exporting normalized expression values}
This function, fig. \ref{fig:fignew1}, allows to export, as tab delimited files expression data, loaded in oneChannelGUI.
This function is also located in \textit{filtering menu} and in the \textit{exon menu}.
If exon arrays are loaded in oneChannelGUI it is possible to extract not only the gene level expression data available
 but also exon level expression data and any other data generated during exon array analysis:  
 Splice Index, MiDAS p-values, RP alternative splicing data.

\subsection{Info about the loaded data set}
This function, fig. \ref{fig:fignew1}, gives information about the set of data loaded in oneChannelGUI and on the corresponding annotation library,
if available.

\subsection{Attaching annotation lib info}
If a Bioconductor library is available this is attached to the data loaded in oneChannelGUI and
it will appear in the output of \textit{Info about the loaded data set}.
Using \textit{Attaching annotation lib info} function, after loading expression data as a tab delimited file, 
it is possible to attach the Bioconductor annotation library associated to it.

\subsubsection{Probe set annotation}
The Bioconductor annotation library for IVT Affymetrix arrays or GEO Matrix Series file are 
directly attached.
Concerning Exon 1.0 ST arrays, gene/exon level annotation information are actually embedded in oneChannelGUI.
For exon arrays annotation is available at the gene level for the core subset of Hs/Mm/Rn. 
As soon as Bioconductor annotation libraries will be available for exon arrays the oneChannelGUI annotation will use 
them for annotation.
Info about the available Affymetrix annotation release can be found in the main R window as part of the oneChannelGUI
release major changes.
For EXON 1.0 ST arrays, it is possible to link GeneBank accession numbers and EG to the gene-level probe sets 
using the function \textit{Attaching ACC to Probe set IDs}, present in the Biological Interpretation menu.
This function also allows to link EGs to glevel probe sets of a tab delimited fine that has in the first column the probe set ids.
It is also possible to extract exon-level Probe Selection Region sequences associated to a specific gene-level probeset 
using  the function \textit{Extracting exon-level PSR sequences associated to one gene-level probeset} in the Biological Interpretation menu.

\section{RNA target}
The first item in the menu, fig. \ref{fig:fignew6}, is inherited from affylmGUI and allows the visualization of the experimental structure
described by the target file used to load the expression data.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew6}
    \caption{\label{fig:fignew6} RNA target menu.}
  \end{center}
\end{figure} 

The second item, fig. \ref{fig:fignew6}, \textit{maSigPro create/view edesign} reorganizes the target file to extract all the information needed
to analyse a time course experiment using maSigPro.
For time course experiments a specific target file is needed, fig. \ref{fig:fig4}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fig4}
    \caption{\label{fig:fig4} Target file for time course analysis.}
  \end{center}
\end{figure}

 Each row of the column named Target, in the target file, describes the array on the basis
 of the experimental design.
 Each element needed for the construction of design fro time course is separated from the others by an underscore. 
 The first three elements of the row are fixed and represent \texttt{Time Replicate Control}, all separated by an underscore:
\begin{Schunk}
\begin{Sinput}
Time_Replicate_Control
\end{Sinput}
\end{Schunk}
All the other elements refer to various experimental conditions.

Considering two different conditions to be evaluated each row is made of 5 elements:
\begin{Schunk}
\begin{Sinput}
Time_Replicate_Control_cond1_cond2 all separated by an underscore.
\end{Sinput}
\end{Schunk}

 Having an experiment made of 9 arrays, with two time points, 0h and 24h, in triplicate, and two different
 experimental conditions to be evaluated, the target file will look like:
\begin{Schunk}
\begin{Sinput}
Name	FileName	Target
mC1	M1.CEL	0_1_1_0_0 
mC2	M4.CEL	0_1_1_0_0
mC3	M7.CEL	0_1_1_0_0
mE1	M3.CEL	24_2_0_1_0
mE2	M6.CEL	24_2_0_1_0
mE3	M9.CEL	24_2_0_1_0
mI1	M2.CEL	24_3_0_0_1
mI2	M5.CEL	24_3_0_0_1
mI3	M8.CEL	24_3_0_0_1
\end{Sinput}
\end{Schunk}

The third item, fig. \ref{fig:fignew6}, instead refers to the reorganization of a target file containing the information related to
clinical parameters to be used for classification pourposes.
In this case each clinical parameter is separated from the others by an underscore as in the case of the time
course. 
The absence of a parameter \texttt{NEEDS} to be indicated in the Target file by NA.
Having an experiment made of 9 arrays with 4 different experimental/clinical parameters 
the target file will look like:
\begin{Schunk}
\begin{Sinput}
Name	FileName	Target
mC1	M1.CEL	0_1_pos_0_NA 
mC2	M4.CEL	0_1_pos_0_yes
mC3	M7.CEL	0_1_neg_0_no
mE1	M3.CEL	24_2_neg_1_NA
mE2	M6.CEL	24_2_NA_1_yes
mE3	M9.CEL	24_2_neg_1_yes
mI1	M2.CEL	12_3_0_pos_yes
mI2	M5.CEL	12_3_0_pos_no
mI3	M8.CEL	12_3_0_pos_no
\end{Sinput}
\end{Schunk}

Once the target file is reorganized by \textit{create/view classification parameters} function, 
the user will be requested to selected an external file containing the description of the experimental/clinical parameters.
In this file, the description of each parameter is separated from the others by a carriage return.  
\begin{Schunk}
\begin{Sinput}
Drug treatment time
Tumor grade 
IHC ER
Metastasis within 5 years
Positive lymphonode
\end{Sinput}
\end{Schunk}

This information will be used to selected a specific clinical parameter for classification analysis.   

\section{QC}
The functions available in this menu are specific of the type of microarray data set loaded

\subsection{QC for IVT arrays loaded starting from .CEL files}
This menu, fig. \ref{fig:fignew7}, inherits all affylmGUI probe/probe set level quality controls, please refer to affylmGUI for their usage.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew7}
    \caption{\label{fig:fignew7} QC for IVT arrays.}
  \end{center}
\end{figure}


Furthermore, after probe set summary is calculated, samples similarities can be visualized using the
\textit{Sample QC: PCA/HCL} function, producing  a 2D PCA plot and a hierachical clustering of the samples, fig. \ref{fig:fignew8}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew8}
    \caption{\label{fig:fignew8} Sample QC: PCA/HCL output for IVT arrays. First panel on the left side contains 
    the information content described by each of the PCs. Panel in the middle PC2 vesus PC1 plot. Last panel on the right HCL.}
  \end{center}
\end{figure}
If exon data are loaded the function \textit{Gene/Exon PCA/HCL} results could be visualized both at gene or exon level.
Furthermore, the function \textit{Gene/Exon Intensity Histogram} will show the density plot of the normalized intensities
both at gene and at exon level.
  
\subsection{QC for GEO/flat tab delimited files}
Ones probe set expression data derived by GEO Matrix Series file or an expression tab delimited file
\textit{Sample QC: PCA/HCL} function is available as QC.
There is also the function \textit{Box plot of normalized data} which show the array distribution as box plot \ref{fig:fignew72}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew72}
    \caption{\label{fig:fignew72} Box plot of normalized data.}
  \end{center}
\end{figure}
 

\subsection{QC for exon arrays}
In the case of exon array the QC menu is slighly different, as shown in fig. \ref{fig:fignew9}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew9}
    \caption{\label{fig:fignew9} QC menu for exon arrays.}
  \end{center}
\end{figure}

Two functions are available: 
\begin{description}
   \item[Sample QC: PCA/HCL] This function will produce a PCA/HCL for both gene/exon level data.
   \item[Gene/Exon intensity histogram] This function will produce a density histogram for gene or exon expression levels.
   \item[Controls raw intensity histogram] This function will produce a box plot for exon, positive controls, and introns,
   negative controls, for housekeeping genes. Probe level data are directly extracted from CEL files using APT tools.
\end{description}

It useful, as quality control, to check intensities before normalization. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew75}
    \caption{\label{fig:fignew75} A set of Illumina arrays before and after data normalization.}
  \end{center}
\end{figure}

As it can be seen in fig. \ref{fig:fignew75}
normalization masks the fact that a sub set of arrays, i.e. those with a very narrow boxplot 
\ref{fig:fignew75}A, had something wrong in hybridization.
This problem is completely masked in the normalized data \ref{fig:fignew75}B. 
For this reason \textit{Controls raw intensity histogram}  was written for exon array data since probe sets data 
are directly uploaded as normalized in oneChannelGUI, via APT tools.  This function produce a box plot for exon, positive controls, 
and introns,    negative controls, for housekeeping genes. 
This box plot gives an idea of signals both at high and low intensity range.

\section{Study design}
This menu allows to investigate the statistical quality of a microarray study, fig. \ref{fig:fignew10}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew10}
    \caption{\label{fig:fignew10} Study design menu.}
  \end{center}
\end{figure}

This menu gives access to two functions, which are graphical implementations of the sizepower 
Bioconductor library. These functions allow user to determine how many samples are needed to achieve a 
specified power for a test of whether a gene is differentially expressed or, in reverse, to determine 
the power of a given sample size.

\section{Probe set summary}
This menu inherits the affylmGUI probe set summary methods for IVT arrays. Furthermore, the \textit{expresso} function, 
which allows the integration of different methods for background correction, 
normalization, probe specific correction, and summary value computation, is added.
This menu is also available for GEO and tab delimited expression data files and it allows to perform the following 
normalization procedures if a data set without normalization is loaded:
\begin{enumerate}
  \item Cyclic LOESS. 
  \item QUANTILE.
  \item QSPLINE.
\end{enumerate}

In the case of exon arrays this menu is not available since expression data, for exon arrays 
are calculated by APT tools using the oneChannelGUI interface or they are loaded as tab delimited files 
exported by Affymetrix Expression Console. 

\section{Filtering}
A central problem in microarray data analysis is the high dimensionality of gene expression space, 
which prohibits a comprehensive statistical analysis without focusing on particular aspects of the 
joint distribution of the gene expression levels. Possible strategies are to perform data-driven nonspecific 
filtering of genes (von Heydebreck, 2004) before the actual statistical analysis or to filter, making use of 
biologically relevant a priori knowledge.
This menu allows user to apply a variety of filtering procedures, fig. \ref{fig:fignew11}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew11}
    \caption{\label{fig:fignew11} Filtering menu for GEO/Affy IVT arrays.}
  \end{center}
\end{figure}

\subsection{Filtering by IQR}
The IQR filter will select only those probe sets characterized by a relative large signal distribution. 
The way the IQR filter is shown in fig. \ref{fig:fignew12}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew12}
    \caption{\label{fig:fignew12} IQR filtering: The distributions of the various probe sets beloging to a data set are shown in red, if they are
    wide and they are retained by the filter, and in blue, if they are narrow and they are discarded by the filter.}
  \end{center}
\end{figure}

In oneChannelGUI it is possible to select three filtering values:
\begin{enumerate}
  \item IQR 0.1, weak filter, i.e. only the estreme unchanging probe sets are removed. 
  \item IQR 0.25, intermediate filter.
  \item IQR 0.5, strong filter, i.e. the majority of the unchanged probe sets are removed.
\end{enumerate}

More informations about the efficacy of the filtering procedure can be seem in:
\url{http://www.bioinformatica.unito.it/oneChannelGUI/diaset.1.usa.ppt}

This filtering procedure can be applied to any kind of loaded arrays. However, it seems not to
be very effective when it is used to gene level expression data calculated with iterPlier.

\subsection{Filtering by intensity}
For IVT/GEO/tab delimited expression data files it is also possibile to apply a filtering 
procedure based on intensity signals, the graphical interface to do it is shown in fig. \ref{fig:fignew13}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew13}
    \caption{\label{fig:fignew13} Intensity fitering: This filter will retain a probe set only if a certain fraction
    of the samples are characterized by an intensity value over a certain user defined threshold.}
  \end{center}
\end{figure}
This filtering approach is quite useful to remove probe sets having very low intensity values. 

\subsection{Filtering by list of probe sets/EG ids}
It is also possible to filter expression data using a text file containing a list of probe set ids separated by
carriage return. If the data set is associated to a Bioconductor annotation library the filtering procedure can be 
also done using a text file containing a list of Entrez gene identifiers separated by carriage return.  

\subsection{Recovering unfiltered data}
It is possible to recover the data before the last filtering using the \textit{Recovering unfiltered data} function.

\subsection{Filtering menu: exon data}
If exon data are loaded the filtering menu appear slighly different, fig. \ref{fig:fignew50}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew50}
    \caption{\label{fig:fignew50} Filtering menu for exon data.}
  \end{center}
\end{figure}

In particular, the function \textit{Set background threshold}  
collects the exon/intron expression values for a set of housekeeping genes present in the
chip within chip quality controls and it offers the opportunity to set a background intensity threshold on the basis
of the desidered level of intersection between the expression of exons versus introns. 
RMA intensity calculation is preferred, fig. \ref{fig:fignew52}, since, 
if probe set summaries are calculated with Plier or iterPlier, the differences in expression distribution between 
exon and introns are not enought wide, fig. \ref{fig:fignew51}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew52}
    \caption{\label{fig:fignew52} Human exon arrays, probe set summaries were calculated with RMA, 
                                  exon/intron distribution of HK present in the chip as quality controls.}
  \end{center}
\end{figure}   

Setting a background threshold using exon/intro distributions for HK genes, it is possible to 
apply to the full data set an intensity filtering that will remove gene and the corresponding exons 
on the basis of the selected threshold.
The intensity filter for exon arrays works exactly as that for IVT arrays but using a fixed threshold
defined as described. 


\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew51}
    \caption{\label{fig:fignew51} Human exon arrays, probe set summaries were calculated with iterPlier (gene level) 
                                  and Plier (exon level), exon/intron distribution of HK present in the chip as quality controls.}
  \end{center}
\end{figure} 

An other filter that allows the removal of low intensity probe sets is based on the DABG p-values.
Using the function \textit{Filtering on DABG p-values} it is possible to select the desidered level of filtering using a
mask, fig. \ref{fig:fignew53}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew53}
    \caption{\label{fig:fignew53} DABG p-value based filtering selection mask.}
  \end{center}
\end{figure} 

A threshold of 50\% means that only probe sets where in half of the samples over the selected DABG p-value threshold
will kept.
As can be seen in fig. \ref{fig:fignew54} this filtering also removes low intensity signals very near to zero.
\begin{Schunk}
\begin{Sinput}
N.B. Recovering the data prior filtering is not 
implemented for DABG p-value filtering, yet.
\end{Sinput}
\end{Schunk}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew54}
    \caption{\label{fig:fignew54} DABG p-value filtering results with parameters: DABG p-value threshold 0.05 and 
                                  50\% of arrays over the threshold.}
  \end{center}
\end{figure}   

Reguarding very low intensity probe sets present if iterPlier/Plier are used, the function 
\textit{Setting to 0 log2 intensity below 1, to be used with plier only} will set them zero.


The function \textit{Selecting only probe sets with multiple mRNA association in ensembl} it is very useful
when alternative splicing events are investigated, if the researcher is interested to investigate only those
probe sets associated to multiple transcripts annotated on ensembl database. We strongly suggest to apply this 
filter at least to get an overview of the possibile known alternative splicing events that could be collected
within the annotated ensembl data. This filter will reduce both the computational time to calculate splice index and 
type I statistical error, at the level of statistical analysis for alternative splicing detection.

Specifically, this function select at gene-level only those probe sets which are associated to multiple entries 
on ensembl data base. The filter uses the biomaRt package to collect this information from ensembl database.

The function oneChannelGUI: \textit{Exporting Gene-level probe set ids} is useful to extract the list of probe set ids
associated to the gene-level data set loaded on oneChannelGUI.


\section{Modelling statistics}
This menu allows to perform limma differential expression analysis as well as time course analysis using the 
maSigPro package, fig. \ref{fig:fignew14}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew14}
    \caption{\label{fig:fignew14} Modelling statistics}
  \end{center}
\end{figure}

\subsection{limma}
The affylmGUI interface to limma is fully inherited, see limma and affylmGUI vignettes for usage. 
The function \textit{raw p-value distribution} is implemented to evaluate if the BH/BY type I error correction methods
could be used.
To apply BH correction two conditions should be satisfied:
\begin{enumerate}
  \item The gene expressions are independent from each other. 
  \item The raw distribution of p-values should be uniform in the non significant range.
\end{enumerate}
Instead if BY correction is used it is sufficient only the second one, fig. \ref{fig:fignew15}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew15}
    \caption{\label{fig:fignew15} Output of \textit{raw p-value distribution}: 
               The raw distribution of p-values is uniform in the non significant range.}
  \end{center}
\end{figure}


The affylmGUI function \textit{Table of genes ranked in order of differential expression} is a modified version of the original found in affylmGUI
 to allow users to check with MA/Volcano plots the set of differentially expressed probe sets before saving the table, fig. \ref{fig:fignew16}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew16}
    \caption{\label{fig:fignew16} MA and Volcano plots for differentially expressed probe sets, red dots, detected by limma method.}
  \end{center}
\end{figure}

\subsection{Venn diagrams between probe set list}
This function is modified with respect to the original one presents in affylmGUI to allow Venn diagrams using lists of
probe sets, saved in text files where each id is separed by the others by carriage return, derived by any of the 
available statistical methods implemented in oneChannelGUI.
Furthermore, if a Bioconductor annotation library is linked to the loaded data set, Venn diagrams can be 
generated using the Entrez Gene ids associated to the probe sets, removing probe sets retundancy.


\subsection{Time course analysis}
Time course analysis can be performed on oneChannelGUI using maSigPro package, fig. \ref{fig:fignew14}.

maSigPro is a R package for the analysis of single and multiseries time course microarray
experiments. maSigPro follows a two steps regression strategy to find genes
with significant temporal expression changes and significant differences between experimental
groups.

The first step, to run maSigPro analysis, is to reorganize the target file using 
the function \textit{create an edesign for maSigPro}, see also target file paragraph for time course experiment requirements.
Using the function \textit{Execute maSigPro} user will select the parameters needed for maSigPro, fig. \ref{fig:fignew17}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew17}
    \caption{\label{fig:fignew17} maSipPro parameters setup.}
  \end{center}
\end{figure}

\subsubsection{Lever of FDR control: Q parameter}
The first step is to compute a regression fit for each gene. The p-value associated to the F-Statistic of the model 
are computed and they are subsequently used to select significant genes. 
maSigPro corrects this p-value for multiple comparisons by applying false discovery rate (FDR) procedures. 
The level of FDR control is given by the function parameter Q, fig. \ref{fig:fignew17}.
\subsubsection{P-value cut off: alfa}
maSigPro applies, as second step, a variable selection procedure to find significant variables for each gene. 
This will ultimatelly be used to find which are the profile differences between experimental groups. 
At each regression step the p-value of each variable is computed and variables get in/out the model 
when this p-value is lower or higher than the given cut-off value alfa, fig. \ref{fig:fignew17}.
\subsubsection{R-squared threshold of the regression model}
The last step in maSigPro analysis is to generate a lists of significant genes.
As filtering maSigPro uses the R-squared of the regression model, fig. \ref{fig:fignew17}.

maSigPro calculation steps can be followed on the main R window.
The end of the maSigPro analysis will be given by a popup message, fig. \ref{fig:fignew18}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew18}
    \caption{\label{fig:fignew18} End of maSigPro calculation.}
  \end{center}
\end{figure}

N.B: Multiple test problem is also present in maSigPro analysis. Therefore, before running maSigPro, 
remember to perform some filter based on functional information or samples distribution.

\subsubsection{View maSipPro results}
The coefficients obtained in the second regression model will be useful to cluster together 
significant genes with similar expression patterns and to visualize results.
Various visualization options are available:
\begin{enumerate}
  \item Venn diagrams, fig. \ref{fig:fignew19} . 
  \item Expression profiles saved in a pdf file, figs. \ref{fig:fignew20}, \ref{fig:fignew21}.
  \item Tab delimited files with the probe sets found differentially expressed in each of the experimental conditions.
\end{enumerate}



\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew19}
    \caption{\label{fig:fignew19} maSigPro Venn diagrams output.}
  \end{center}
\end{figure}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew20}
    \caption{\label{fig:fignew20} Selecting the experimental condition to be used to profiles plotting.}
  \end{center}
\end{figure}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew21}
    \caption{\label{fig:fignew21} An example of profiles plotting.}
  \end{center}
\end{figure}


\section{Permutation statistics}
The permutation statistics menu, fig. \ref{fig:fignew22}, allows to run two class unpaired SAM analysis
implemented in the siggenes package and two class samples analysis using the rank product method implemented in
RankProd package.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew22}
    \caption{\label{fig:fignew22} Permutation statistics menu.}
  \end{center}
\end{figure}

\subsection{SAM analysis}
The module recognizes if a two class unpaired analysis can be performed. Subsequently, a table with DELTA values and FDRs
will be shown to the user. Furthermore, user need to select a delta threshold to continue the analysis, fig. \ref{fig:fignew23}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew23}
    \caption{\label{fig:fignew23} DELTA table and DELTA value selection module.}
  \end{center}
\end{figure}

Siggenes output for differentially expressed genes, given the selected DELTA value, will be shown in the main R window, fig. \ref{fig:fignew24},
togheter with a absolute log2(FC) selection module, fig. \ref{fig:fignew24}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew24}
    \caption{\label{fig:fignew24} SAM results given at specific user defined DELTA value and the absolute log2(fc) selection mask.}
  \end{center}
\end{figure}

The fold change filters allows the selection, within the SAM significant probe sets, of those grater than a user defined threshold.
Subsequently, the differentially expressed genes will be shown, fig. \ref{fig:fignew25}, and the user will decide if they should be saved.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew25}
    \caption{\label{fig:fignew25} Differentially expressed probe sets to be saved.}
  \end{center}
\end{figure}
  
\subsection{Rank product analysis}
The RankProd module is a graphical interface to the RankProd package functions for the analysis of gene expression microarray data.
RankProduct package allows the identification of differentially expressed genes using the so called rank
product non-parametric method (Breitling et al., 2004, FEBS Letters 573:83) to identify up-regulated
or down-regulated genes under one condition against another condition, e.g. two different treatments,
two different tissue types, etc.
The user needs only to define the pfp (percentage of false prediction) threshold 
and the number of permutations to be applied, fig. \ref{fig:fignew26}. 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew26}
    \caption{\label{fig:fignew26} RankProd selection parameters mask.}
  \end{center}
\end{figure}

At the end of the analysis the user will decide if he would like to save the differentially expressed probe sets in a tab
delimited file. If a Bioconductor annotation library is available Entrez Gene identifier and Symbols will be added to the saved output.  

\subsubsection{Target structure}
In a rank product analysis for data sets from different origin the structure of the Target column of the target file
can contain also an integer describing the data origin.
\begin{Schunk}
\begin{Sinput}
Name	FileName	Target
mC1	M1.CEL	0_1 
mC2	M4.CEL	0_1
mC3	M7.CEL	0_1
mE1	M3.CEL	0_2
mE2	M6.CEL	0_2
mE3	M9.CEL	1_1
mI1	M2.CEL	1_1
mI2	M5.CEL	1_2
mI3	M8.CEL	1_2
\end{Sinput}
\end{Schunk}
The oneChannelGUI module will select the RankProd method on the basis of the Target structure. 

\section{Classification}
This module, fig. \ref{fig:fignew27}, provides a link to the pamr and pdmclass packages 
designed to carry out sample classification from gene expression data, respectively by 
the method of nearest shrunken centroids (Tibshirani, et al., 2002) and by penalized discriminant methods.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew27}
    \caption{\label{fig:fignew27} Classification menu.}
  \end{center}
\end{figure}

\subsubsection{Create/view/reset classification parameters}
The \textit{Create/view classification parameters} function reorganizes the Target columns separating the experimental/clinical
parameters. The \textit{Reset classification parameters} function deletes the Targets reorganization and the association to the file 
containing the names of the parameters present in the Target column of the target file.

\subsubsection{Create a training/test set}
The first step of this module is the definition of the covariate to be used for the classification analysis.
 The user will be requested to select, from a table, listing the names clinical parameters, 
i.e. phenoData covariate names, one of them indicating its row number, fig.  \ref{fig:fignew29}.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew29}
    \caption{\label{fig:fignew29} Selecting the classification parameter.}
  \end{center}
\end{figure}
Subsequently, the user could decide to divide the data set in a training (2/3) and a test (1/3) set or 
use the full data set as training set.
All arrays, which are not linked to any of clinical/experimental params, i.e. those marked as NA,
will be discarded from the following analyses.  

The \textit{Create a training/test set} function then allows the access to PAMR/PDMCLASS classification tools and to a PCA 
visualization module, fig.  \ref{fig:fignew28}.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew28}
    \caption{\label{fig:fignew28} Classification methods selection mask.}
  \end{center}
\end{figure}

It is also possible to evaluate how the classification performance can be associated to a single subset of probesets or if it is a general
characteristic of the data set. Ideally we espect that only a small subset of probe sets should be able to discriminate between groups, if 
the full data set is able to discriminate in a way independent by the subset of probe sets considered for the classification 
it might be an indication of some bias that could not be necessarely associated to the biological event under investigation, 
eg. it could be due to some experimental bias.
This functionality is provided if the \textit{Probability of classification given a random set of data} 
option is selected, see fig.  \ref{fig:fignew28}
Using this function user can select the size of the dandom set to be used for classification, e.g. 100 probesets, and the number of samples
retrived form the total data set used to perform this analysis, eg. 1000. Subsequently the user will select a classification method, e.g. PAMR,
and the function will calculate the frequence of correct classification of the random set size defined by the user. This funcitn is particularly useful
if user is interested to evaluate the specificity of a specific transcription signature.


\subsubsection{PAMR}
If PAMR method is selected, 2-3 steps are performed and pop-up info messages allow
to check the resulting plots.
Initially the cross-validated misclassification error curves are calculated, fig. \ref{fig:fignew30},
and shown in the main R window.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew30}
    \caption{\label{fig:fignew30} Cross-validated misclassification error curves}
  \end{center}
\end{figure}
Then, user defines a shrinking threshold and if the number of selected probe sets is below 50 the
centroids will be plotted, fig. \ref{fig:fignew31}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew31}
    \caption{\label{fig:fignew31} Shrunken class centroids.}
  \end{center}
\end{figure}

Subsequently the classification performance of the selected sub group  of probe sets will be
shown as plot and as text in the R window , fig. \ref{fig:fignew32}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew32}
    \caption{\label{fig:fignew32} Cross-validated sample probabilities.}
  \end{center}
\end{figure}
Results are also available as numerica values in the R window:

\begin{Schunk}
\begin{Sinput}
    neg pos Class Error rate
neg  23   5        0.1785714
pos   2  48        0.0400000
\end{Sinput}
\end{Schunk}

If the results are satisfying user can save the probe sets defined by this analysis, fig. \ref{fig:fignew33}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew33}
    \caption{\label{fig:fignew33} Probe sets to be use as classifier.}
  \end{center}
\end{figure}
Furthermore, if the test set was created it will be possible to check the ability of the selected sub set of genes to
separate the classes under analysis using a hierarchical clustering, fig. \ref{fig:fignew34}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew34}
    \caption{\label{fig:fignew34} Testing the efficacy of the classifier on the test set by HCL.}
  \end{center}
\end{figure}

\subsubsection{PCA}
The PCA visualization method offers the possibility to see how the data set can be grouped on the basis of the 
used clinical/experimental parameter under analysis, fig. \ref{fig:fignew35}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew35}
    \caption{\label{fig:fignew35} 1st and 2nd principal components space.}
  \end{center}
\end{figure}

\subsubsection{PDMCLASS}
The PDMCLASS module allows the selection of different type of classification procedures, fig. \ref{fig:fignew36}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew36}
    \caption{\label{fig:fignew36} PDMCLASS methods selection mask.}
  \end{center}
\end{figure}
 
The analysis will produce a numerical output of the effecacy of the dataset as classifier:
\begin{Schunk}
\begin{Sinput}
object neg pos
   neg  21   1
   pos  22  74
attr(,"error")
[1] 0.1949153
\end{Sinput}
\end{Schunk}
It is notable that this part of the analysis could take some minutes depending on the data set under analysis and the 
machine used for the analysis.
Subsequently it will be possible to select the probe sets that have the gratest influence in differentiating sample classes.
To do it, user will be requested to select the number of top ranked probe sets and the number of permutations to be used 
for the cross-validation.
Probe set will be shown in a TK/TCL table with their probabilities to be able to discriminate between classes:
\begin{Schunk}
\begin{Sinput}
	pos vs neg
209604_s_at	1
202088_at	0.92
218807_at	0.8
211430_s_at	0.56
205081_at	0.48
213693_s_at	0.4
209138_x_at	0.44
200670_at	0.32
212099_at	0.44
208682_s_at	0.28
\end{Sinput}
\end{Schunk}
These results could be saved as a tab delimited file.

\section{Biological Interpretation}
This section gives a graphical interface to the GOstats package and it allows the preparation of template A 
for IPA analysis on \url{http://www.ingenuity.com}, fig. \ref{fig:fignew38}. It also allows very basic meta-analysis using the metaArray package. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew38}
    \caption{\label{fig:fignew38} Biological interpretation menu.}
  \end{center}
\end{figure}

\subsection{Identifying enriched GO terms and related issues}
This function is also available for gene level exon array analysis.
Specific annotation libraries are not available for exon arrays, yet.
Therefore, to perform this analysis we use the annotation informations embedded in oneChannelGUI
and link the accession ids available in this annotation to Entrez Gene ids using the humanLLMappings,
mouseLLMapppings and ratLLMappings available in Bioconductor. 
The function \textit{oneChannelGUI: Identifying enriched GO terms} searches for the presence of enriched 
GO terms within a set of differentially expressed probe sets, given a certain
probe set universe, i.e. the array data available in Normalized Affy Data. For more information about 
GO enrichment please refer to the GOstats vignette in the oneChannelGUI help menu.
The user needs to select some parameters using a selection mask, fig. \ref{fig:fignew39}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew39}
    \caption{\label{fig:fignew39} GO terms enrichment parameters selection mask.}
  \end{center}
\end{figure} 

Subsequently, the user will be requested to select a list of differentially expressed probe sets, saved in a txt file.
The file should contain only a list of probe set separated by carriage return, without header:
\begin{Schunk}
\begin{Sinput}
1452968_at
1448228_at
1418028_at
1439113_at
1424338_at
1416503_at
1416371_at
1437165_a_at
1451047_at
1434005_at
1421916_at
1457012_at
1443823_s_at
1429379_at
1416168_at
1429974_at
1416121_at
1421917_at
1416405_at
\end{Sinput}
\end{Schunk}
The analysis could require quite a lot of RAM and when it is finished a message 
summarizing the results pops up, fig. \ref{fig:fignew40}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew40}
    \caption{\label{fig:fignew40} GO enrichment results summary message.}
  \end{center}
\end{figure}

A table with the enriched GO terms will be then shown and it could be saved as tab delimited file, fig. \ref{fig:fignew41}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew41}
    \caption{\label{fig:fignew41} Enriched GO terms table.}
  \end{center}
\end{figure}

In the main R window it will be possible to see a plot summarizing the GO terms relations 
existing between the enriched GO terms, fig. \ref{fig:fignew42}. 
Plotting results depends on the availability in your system of graphviz software and Rgraphviz package.
Their installation can be quite critical for windows users, please contact the oneChannelGUI mantainer
 if you get problem in their installation or search over the Bioconductor mailing list.
 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew42.pdf}
    \caption{\label{fig:fignew42} Relations between enriched GO terms. Enriched GO terms, red, others, light blue.}
  \end{center}
\end{figure}

It is also possible to highlight parents of a specific GO term using the function \textit{Plotting parents of a GO term}
In this case a dialog will be used to pass to the function the GO term, e.g. GO:0001525.
Subsequently after selecting the GO class, i.e. BP, MF or CC, the results will be available in the main R window,  fig. \ref{fig:fignew43}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew43}
    \caption{\label{fig:fignew43} Plotting GO term parents.}
  \end{center}
\end{figure}

It is also possible to annotate and save, in an html file, the subset of differentially expressed probe sets associated to a
specific enriched GO term using the function \textit{oneChannelGUI: Extracting Affy IDs linked to an enriched GO term}.
In the case exon arrays are used with \textit{oneChannelGUI: Extracting Affy IDs linked to an enriched GO term} function 
the output file is a tab delimited file with the available annotations instead of an HTML file.
The user will be requested to select the GO term of interest, fig. \ref{fig:fignew42}, and subsequently to open the file list of differentially
expressed probe sets used for the GO enrichment analysis.
A pop-up message will indicate when the annotation table will be ready to be saved in an HTML file, fig. \ref{fig:fignew44}.
The output for exon arrays will be instead a tab delimited file. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew44}
    \caption{\label{fig:fignew44} Annotation file for a subset of differentially expressed probe sets linked to GO:0001525 BP enriched term.}
  \end{center}
\end{figure}


\subsection{Biological Interpretation}
\subsubsection{Exon arrays} In case EXON 1.0 arrays are loaded inte Biological Interpretation menu contains the following functions:
\textit{oneChannelGUI: Attaching ACC and Entrez Gene IDs to Probe set IDs (EXON 1.0 ST)} which allows to associate
EG ids to gene-level probe sets.


\subsubsection{meta-analysis}
This menu gives also access to some meta-analysis tools, fig. \ref{fig:fignew48}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew48}
    \caption{\label{fig:fignew48} Biological Interpretation DEVEL version.}
  \end{center}
\end{figure}

It is possible to merge to the NormalizedAffyData up to 3 other data sets characterized by having
the same ids and the same order of the NormalizedAffyData ids. To merge the data sets it is necessary a tab
delimited file and a target for each data set.
Integrative correlation (Parmignani et al. 2004), implemented in the metaArray package, can be accessed with the function
\textit{Mining similarities/dissimilarities between merged data sets (IC)}.
The function produces an histogram of the various comparisons and it saves, in tab delimited file, the IC values for the 
various comparisons.

\section{General tools}
This section allows the use of some functions which are not part of a specific Bioconductor package
but could be of general use.
The function \textit{oneChannelGUI: Update all Bioconductor libraries} allows to run a on-line update of all the Bioconductor
libraries present in the system. This function is very useful to keep updated for bugs correction during the 6 months life of a
Bioconductor release.
The function \textit{oneChannelGUI: Extract a column from a tab delimited file}
allows the extraction of any of the colums of a tab delimited file. This function is particularly useful to
generate probeset ids list to be used for Venn diagram rapresentation.
The function \textit{oneChannelGUI: Filtering a tab delimited file}
allows to subset a tab delimited file  given a list of values, e.g. values, symbols, probe sets, etc., present in a file
where each value is separated from the others by carriage return.
The tab delimited file subsetting is performed on the basis of the column, fig. \ref{fig:fignew47} yellow, sharing the
same header of the list of values, fig. \ref{fig:fignew47}. 

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew47}
    \caption{\label{fig:fignew47} Sub setting a tab delimited file by a list of symbols.}
  \end{center}
\end{figure}

The function \textit{oneChannelGUI: Downloading Gene/Exon library files} allows to download all the library files needed to use
APT tools for probe set summaries for Gene and Exon 1.0 ST arrays.
The function \textit{oneChannelGUI: Set Affymetrix apt tools folder and download Reference Sequences} 
allows the user to define a folder where apt tools were installed and to download in the subdir blast of the apt dir
the reference  sequences from NCBI repository. Those file are compressed and have the gz extension. 
They can be unpacked manually by the user or via oneChannelGUI. This option is available at the end of
the downloading but takes quite a long time.
 
The function \textit{oneChannelGUI: deleteLocalData} will reset the folders defined by \textit{oneChannelGUI: Downloading Gene/Exon library files}
and \textit{oneChannelGUI: Downloading Gene/Exon library files}. Data present in the two folders will not be deleted! 
The function \textit{oneChannelGUI: buildingLocalAnnotation} allows to update the internal oneChannelGUI gene/exon-level annotations
quiering netaffx database using the affyCompatible library. Annotation files are saved in .rda format in the subdir data in
located in the oneChannelGUI folder. Windows users need to drag those .rda files in the Rdata.zip file present in the data dir.
A file called netaffxUpdates.txt in the etc subdir keept tracks of annotation file updating.  
The function \textit{oneChannelGUI: variantExons} allows to update the internal oneChannelGUI gene/exon-level annotations
that links exon-level probesets to exons which are associated only to a subset of transcript isoforms. The table is generated integrating
the exon-level annotation derived by the core subset of Affymetrix exon level annotation and a USCS table mapping the location of variant exons
on the genome.
 

\section{Help}
This menu allows to acces to the vignettes of the Bioconductor packages implemented in oneChannelGUI and to this oneChannelGUI vignette.



\section{Exon analysis and data mining}
Exon analysis menu allows a certain number of functions to identify and visualize alternative splicing events.
The part related to loading gene/exon level data is described in the File menu chapter.
If APT tools are used to calculate probe set intensities in oneChannelGUI will be available
gene level expression data in Normalized Affy Data, exon level expression data in Normalized Exon data
and, if selected, DABG p-values.
 
The functions actually available for exon analysis are summarised in fig. \ref{fig:fignew49}. 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew49}
    \caption{\label{fig:fignew49} Exon menu.}
  \end{center}
\end{figure}

Splice Index (SI), which represents the exon expression normalized with respect to the transcript expression, 
can be calculated with \textit{oneChannelGUI: Calculating splice index}. 
Before SI calculation it is possible to correct gene/exon-levels intensity signals for probe sequence effect: 
\textit{oneChannelGUI: Correcting intensity signals using COSIE model}.
This function is a wrapper to the function developed by Gaidatzis et al. (Nucleic Acids Research, 2009).
They have analyzed exon array
data from many different human and mouse tissues and have uncovered a systematic relationship
between transcript fold change and alternative splicing as reported by the splicing index. 
Evidence from dilution experiments and deep sequencing suggest that this effect is of technical rather than
biological origin and that it is driven by sequence features of the probes. 
This effect is substantial and results in a 12-fold overestimation of alternative
splicing events in genes that are differentially expressed.
They have developed a R function called COSIE (Corrected Splicing Indices for Exon arrays)
that for any given set of new exon array experiments, core and full exons set for human and mouse, 
corrects for the observed bias and improves the detection of alternative splicing.

Starting from the work of Shah and Pallas work BMC Bioinformatics. 2009 Jan 20;10:26. Limma routines available for
gene-level analysis were also implemented at exon-level to detect alternative splicing events. It is notable that it is possibile
in many cases to apply BH type I error correction at exon-level. 
The limma analysis is performed at intensity level, therefore it will not discriminate between exon-level probe sets
alternative spliced or belonging to a differentially expressed gene. Although this limitation is present we did not 
applyed limma analysis as Shah and Pallas to SI because there are no evidences that SI variance will be independent
by the gene it belong to.
The analysis steps are very similar to gene level: \textit{oneChannelGUI: Exon-level Linear Model Fit} will fit the linear model.
Then \textit{oneChannelGUI: Compute Contrasts and regularised t-test p-values} will compute the contrasts and the regularised t-test p-values.
Then \textit{oneChannelGUI: Limma alternative splicing detection} will produce a file containing the exon-level ids of the altternative spliced exons
and will filter the gene and exon-level data to retain only the genes affected by alternative splicing events.

For a two group experiment the function \textit{oneChannelGUI: Calculating MiDAS p-value (APT)} uses APT tools to calculate MiDAS p-values
for the difference between SIs in the two conditions, i.e. alternative splicing events. 
It is possible to subset gene/exon level data on the basis of a MiDAS p-value threshold using the function 
\textit{oneChannelGUI: Selecting alternative splicing events by MiDAS p-values}.
We have also applied the rank product method (RankProd package)
\textit{oneChannelGUI: Rank Product alternative splicing detection (devel)} to detect
significant differences between SI or exon-level log2(intensities) in two experimental conditions, i.e. alternative splicing events.
Rank Product is a non-parametric statistic that detects items that are consistently
highly ranked in a number of lists. It is based on the
assumption that under the null hypothesis that the order of all items is random
the probability of finding a specific item among
the top $r$ of $n$ items in a list is $p=\frac{r}{n}$. Multiplying these probabilities leads to
the definition of the rank product $RP=\prod_{i}\frac{r_i}{n_i}$, where $r_i$ is the rank
of the item in the $i$-th list and $n_i$ is the total number of items in the $i$-th list.
The smaller the $RP$ value, the smaller the probability that the observed placement
of the item at the top of the lists is due to chance. 
Due to performance reasons on windows based computers, the number of random permutations is fixed to 100, 
a menu to select the number of permutations will be implemented soon.
At the end of the analysis p-values of class 1 < class2 and p-values of class 1 > class2 and average SI 
difference histograms are shown in the main R window.
  
\textit{IMPORTANT All filtering functions devoted to the selection of alternative spliced events 
produce a flat file containing only the ids of the detected spliced exons.} 

It is possible to  subset gene/exon level data on the basis of rank product results using the function
\textit{oneChannelGUI: Selecting alternative splicing events by RankProd p-values}.
It is also possible to filter data on the basis of the average mean or min SI difference with the function 
\textit{oneChannelGUI: Filtering gene/exon data by absolute SI mean or min difference}

It is also possible to filter exon data integrating midas p-values with RP p-values and average mean SI difference.
This option is given by the function \textit{oneChannelGUI: Selecting alternative splicing by RP/MiDAS p-values/average mean SI difference}
Since no correction for statistical type I error is given for MiDAS we decided to use the integration of two statistical tests based on 
different approaches to reduce statistical type I errors. Furthermore, in this filter is integrated also the possibility to subset 
data on the basis of a average mean SI difference threshold.
Visualization of the splicing events using one gene-level probe set at a time is possible with the function  

In the Biological Interpretation menu, fig. \ref{fig:fignew85}, the function \textit{oneChannelGUI: Associating alternative 
spliced exon-level probe set to variant exons} a set of spliced probe sets can be associated on the basis of the variant 
exons mapped on the UCSC genome browser.
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew85}
    \caption{\label{fig:fignew85} Biological Interpretation menu for exon arrays}
  \end{center}
\end{figure}

Variant exons are those exons that are associated only to a subgroup of the available isoforms mapped on a gene. This association
is very useful if researcher is not interested to select splicing events associated to exons conserved over all isoforms associated to a specific gene.
The structure of the file is shown in fig. fig. \ref{fig:fignew79}
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew79}
    \caption{\label{fig:fignew79} The columns present in the tab delimited file are the following:
    affyname: exon-level probe set,	affystart: start position of PSR from Affymetrix annotation,	affyend: end position of PSR from Affymetrix annotation,
    affywidth: width of the PSR, 	affystrand: stand of the PSR,	vspname: ESEMBL transcript overlapping to the PSR, 	vspstart: start of the ESEMBL transcript,
    vspend: end of the ESEMBL transcript,	vspwidth: width of  the ESEMBL transcript,	vspstrand: strand of the ESEMBL transcript,
    chr: chromosome location,	genome: genome release used ofr the mapping,	exon.fc: delta Splice Index, i.e. the fold change variation between the expression of the 
    two experimental conditions for the signals normalized for the gene expression level.
    }
  \end{center}
\end{figure}

The tab delimited file produced by this filtering can be visualized on the UCSC genome browser, using two functions:
\textit{oneChannelGUI: Creating BED15 formatted files for visualization on UCSC browser} creates for each chromosome a BED15 formatted file,
which allows the visualization of microarray data on the UCSC genome browser. Files need to be uploaded on the browser as shown in fig. \ref{fig:fignew83},\ref{fig:fignew84} 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew83}
    \caption{\label{fig:fignew83} How to handle BED15 formatted files on UCSC genome browser, first step.
    }
  \end{center}
\end{figure}

\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew84}
    \caption{\label{fig:fignew84} How to handle BED15 formatted files on UCSC genome browser, second step.
    }
  \end{center}
\end{figure}
Exon-level feature are visualized as red colour in case of insertion and in green colour in case of  skipping. Colour range is limited ranges
between 3 and -3 deltaSI. Therefore colour for a deltaSI of 3 and 4 will be the same but the true deltaSI is also inserted as part of exon-level
probeset name. 


\textit{oneChannelGUI: Plot variant exons on UCSC browser} takes advantage of the rtracklayer and plots directly on the
UCSC genome browser from R. The output migth take sume time to be plotted on the default web browser.

The behaviour of exon-level probe sets, within a gene characterized by the presenc eof alternative splicing event can be
inspected using two functions:
\textit{oneChannelGUI: Inspecting splice indexes of one glevel probe set} and  \textit{oneChannelGUI: Inspecting splice indexes}.
The first function produces a pdf as the second one alows the analysis of gene-level probeset at a time.
The structure of the output of these function is shown in fig. \ref{fig:fignew71}, 
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew71}
    \caption{\label{fig:fignew71} Example of the output of the putative alternative splicing inspection.
    The output is made of a tab delimited file where glevel probe sets associated to elevel probe sets and of a pdf file
    where each page is made of a plot of MiDAS/RP p-values with respect to exon index (black dot MiDAS, red triangle and green triangle RP). 
    The horizontal black dashed line indicates a p-value of 0.05. The vertical yellow dashed line indicates a condition in which 
    both MiDAS and RP p-values are below 0.05 value. 
    In the second plot,  it is shown the behaviour of splice indexes with respect to exon indexes.
    The vertical yellow dashed lines indicate those exon-level log2(intensity)/SI associated to MiDAS and RP p-values below 0.05 value. 
    }
  \end{center}
\end{figure}

The function \textit{oneChannelGUI: Inspecting splice indexes}, fig. \ref{fig:fignew49}.
produces a pdf and txt file as output containing 
gene level probeset id and exon level probeset ids for all spliced exon in the following format:
\begin{Schunk}
\begin{Sinput}
"glevel id|exon level ids "
"3899173|3899229"
"3210737|3358127"
"3358112|3234972"
"2587961|3267416"
"3644510|3357399|3357446"
"3415109|2759224"
"3611625|3308001|3308013|3308031"
"3234760|3308001|3308013|3308031"
"3267382|3308001|3308013|3308031"
"3357397|2455983|2455993|2456013"
"2759205|2455983|2455993|2456013"
"3307939|3733603|3733609"
\end{Sinput}
\end{Schunk}

Exon-level data can be saved using the function \textit{oneChannelGUI: Exporting Gene exprs and/or Exon/SI/MiDAS/RP data/elevel IDs to exon EGs}

\subsection{Plotting single splicing event}
It is possible to plot average intensity signals over the genes and transcripts structure to identify a specific splicing event.
This can be done using the function \textit{oneChannelGUI: Plotting a splicing event} located in the exon menu.  User has to pass to the
function the exon-level probeset id for the spliced exon. This is used to retrieve gene-level information as well as the other exon-levels data.
Using the package GenomeGraphs gene and transcript chromosomal structures are retrieved from ENSEMBL. In case the chromosome location data 
are associated to obsolete exon-level probeset data. These data can be provided externally using a file with the structure shown in 
fig. \ref{fig:fignew86}
\begin{figure}[htbp]
  \begin{center}
    \includegraphics{fignew86}
    \caption{\label{fig:fignew86} Example of the file structure describing chromosomal information for exon-level probesets. A file with this
    structure can be provided to the  \textit{oneChannelGUI: Plotting a splicing event} when user does not want to use annotation data available
    internally in oneChannelGUI.
    }
  \end{center}
\end{figure}  

\end{document}

