library("ArrayExpress")


###################################################
### Querying the database
###################################################

asthma = queryAE(keywords = "asthma")
dim(asthma)
colnames(asthma)
head(asthma)

asthmat = queryAE(keywords = "asthma+treatment")
dim(asthmat)
asthmat[,1:7]
asthmat

hsasthmat = queryAE(keywords = "asthma+treatment", species = "homo+sapiens")
dim(hsasthmat)
hsasthmat[,1:7]


###################################################
### Getting raw data - Affymetrix example
###################################################

GEOD14981 = ArrayExpress("E-GEOD-14981")
GEOD14981
colnames(pData(GEOD14981))
pData(GEOD14981)[1:3,1:8]
head(fData(GEOD14981))
experimentData(GEOD14981) 


###################################################
### Getting raw data - 2 colour array example
###################################################

ATMX18 = ArrayExpress("E-ATMX-18")
ATMX18
colnames(pData(ATMX18))
pData(ATMX18)[1:3,1:8]
head(fData(ATMX18))
experimentData(ATMX18) 


###################################################
### Multiple array designs
###################################################

GEOD1301 = ArrayExpress("E-GEOD-1301")
GEOD1301
GEOD1301[[1]]
GEOD1301[[2]]
head(pData(GEOD1301[[1]]))
head(pData(GEOD1301[[2]]))


###################################################
### Getting raw data when column name unknown
###################################################

TIGR7 = ArrayExpress("E-TIGR-7")
TIGR7 = ArrayExpress("E-TIGR-7", 
                     rawcol = list(
                        R = "Software Unknown:MeasuredSignal:Cy5_Intensity",
			G = "Software Unknown:MeasuredSignal:Cy3_Intensity",
			Rb = "Software Unknown:MeasuredSignal:Cy5_Background",
			Gb = "Software Unknown:MeasuredSignal:Cy3_Background"))
TIGR7
colnames(pData(TIGR7))
pData(TIGR7)[1:3,1:15]
head(fData(TIGR7))
experimentData(TIGR7) 


###################################################
### Downloading when raw and processed available
###################################################

GEOD9465d = getAE("E-GEOD-9465")
GEOD9465d


###################################################
### Downloading when processed only available
###################################################

GEOD3004d = getAE("E-GEOD-3004")
GEOD3004d


###################################################
### Building an object from local raw Affy set
###################################################

GEOD9465 = magetab2bioc(GEOD9465d)
GEOD9465
head(pData(GEOD9465))
head(fData(GEOD9465))
experimentData(GEOD9465)


###################################################
### Building an object from processed dataset
###################################################

colnamesproc = getcolproc(GEOD9465d)
GEOD9465proc = procset(GEOD9465d, colnamesproc[3])
GEOD9465proc
dim(GEOD9465proc)