\name{addDerivedData}
\alias{addDerivedData}
\title{Adding a  derived dataset to an existing MAGEML document}
\description{
This function adds a derived dataset to an existing MAGEML document.}
\usage{
addDerivedData(mageOM = NULL, data = NULL, outputDirectory = ".", externalDataFile = NULL, protocolID = NULL, protocol = "none", date="NA", qtIDs = NULL, qtNames = NULL, qtDescriptions = NULL, qtScales = NULL, qtDataTypes = NULL, qtTypes = NULL, qtDimID = NULL,transformationID=NULL, arrayID="none", DED = "none", BAD = NULL, derivedBioAssayID = NULL, derivedBioAssayDataID = NULL, rawDataFiles = NULL )
}

\arguments{
  \item{data}{Numeric vector or martix in which the columns corresepond
    to the derived data one wants to add and the rows correspond to one
    DesignElementDimension present in the original MAGEML document}
  \item{mageOM}{Reference to MAGE Object Model, generated by
    importMAGEOM() method. }
  \item{outputDirectory}{Directory where updated MAGEML document will
    be written to }
  \item{externalDataFile}{Name for external data file
    associated with a DerivedBioAssayData object.  the filename should
    end with .txt as this is the standard output file format}
  \item{protocolID}{ID you want to give to the protocol, e.g. P-normalised-1}
  \item{protocol}{Describiption of the used protocol}
  \item{date}{Date when protocol was applied}
  \item{qtIDs}{List of identifiers used for the QuantitationTypes. Order
  should be the same as the columns of the data matrix}
  \item{qtNames}{List of names for the QuantitationTypes. Order should
    be the same as in the qtIDs list and as the columns of the data matrix.}
  \item{qtScales}{Scales of the QuantitationType, e.g. linear. Order should
    be the same as in the qtIDs list and as the columns of the data matrix.}
  \item{qtDescriptions}{Description of the QuantitationType. Order should
    be the same as in the qtIDs list and as the columns of the data matrix.}
  \item{qtDataTypes}{DataTypes of the QuantitationType e.g. scalar. Order should
    be the same as in the qtIDs list and as the columns of the data matrix.}
  \item{qtTypes}{Type of QuantitationType e.g. specialized or derived. length should
    be the same as in the qtIDs list and as the columns of the data matrix.}
  \item{qtDimID}{A new QuantitationTypeDimension will be generated
    you'll have to specify it's identifier}
  \item{transformationID}{Identifier for the applied transformation e.g.
    TFM:1}
  \item{arrayID}{Array identifier}
  \item{DED}{ DesignElementDimension selected during MAGEML import.  If only one dimension present
    in original MAGEML file then this parameter should not be specified}
  \item{BAD}{BioAssayData identifier}
  \item{derivedBioAssayID}{Identifier for the DerivedBioAssay
    e.g. DBA-1}
  \item{derivedBioAssayDataID}{Identifier for the DerivedBioAssayData}
  \item{rawDataFiles}{filenames of the MeasuredBioAssays used to generate the
    DerivedBioAssayData as present in the raw object created by import from a
    MAGEML document.}
}

\references{Spellman PT, Miller M, Stewart J, Troup C, Sarkans U, Chervitz S, Bernhart D, Sherlock G, Ball C, Lepage M, Swiatek M, Marks WL, Goncalves J, Markel S, Iordan D, Shojatalab M, Pizarro A, White J, Hubley R, Deutsch E, Senger M, Aronow BJ, Robinson A, Bassett D, Stoeckert CJ Jr and Brazma A.
  Design and implementation of microarray gene expression markup language (MAGE-ML).
  Genome Biol. 2002 Aug 23;3(9):RESEARCH0046.
}

\author{Steffen Durinck, \url{http://www.esat.kuleuven.ac.be/~sdurinck}\cr 
  Joke Allemeersch, \url{http://www.esat.kuleuven.ac.be/~jallemee}.}

\seealso{\code{\link{importMAGEOM}},\code{\link{writeMAGEML}}}

\examples{
#library(RMAGEML)
#mageom <- importMAGEOM(directory = "/home/steffen/data/MEXP-14")
#data1 <- rep(1, 960); #dummy dataset
#data <- cbind(data1, data1) #dummy dataset
#outputDirectory <- "/home/steffen/XMLout"
#magemlFile <- "RMAGEMLtest.xml"
#derivedFile <- "deriv_test.txt"
#protocolID <- "P-CAGE-test"
#protocol <- "This is a test protocol! Applied Anova to the raw signal intesities. Flags are set where foreground signal was below background"
#qtIDs <- c("esat.kuleuven.ac.be:quantT-1-test", "esat.kuleuven.ac.be:quantT-2-test")
#qtNames <- c("quantitation Name 1", "quantitation Name 2")
#qtDescriptions <- c("description of first QType","description of second QType")
#qtScales <- c("linear","linear")
#qtDataTypes <- c("scalar","scalar")
#qtDimID <- "esat.kuleuven.ac.be:QTD-test"
#BAD <- "esat.kuleuven.ac.be:BAD-test"
#tfm <- transformationID
#derivedBioAssayID <- "esat.kuleuven.ac.be:DBA-test"
#derivedBioAssayDataID <- "esat.kuleuven.ac.be:DBD-test"
#rawDataFiles <- c("","")
#addDerivedData(mageOM = mageom, data = data, outputDirectory = outputDirectory, externalDataFile = externalDataFile, protocolID = protocolID, protocol = protocol,  qtIDs = qtIDs, qtNames = qtNames, qtDescriptions = qtDescriptions, qtScales = qtScales, qtDataTypes = qtDataTypes, qtDimID = qtDimID, transformationID = tfm, arrayID="none", DED = "none", BAD = BAD, derivedBioAssayID = derivedBioAssayID, derivedBioAssayDataID = derivedBioAssayDataID, rawDataFiles = rawDataFiles)

}
\keyword{methods}