if(is.null(contrastFile)&&is.null(Error)){Error="The format of the contrast file is not supported by SHAMAN"}
if(ncol(contrastFile)<1&&is.null(Error)){Error="The contrast file seems to be empty"}
if(nrow(contrastFile)!=length(parameterNames)&&is.null(Error)){Error="The contrast file does not fit with the model parameters"}
if(TRUE%in%sapply(contrastFile,is.na)&&is.null(Error)){Error="NA values are considered as 0 is the counts table";contrastFile[sapply(contrastFile,is.na)]=0}
footer=em("Reminder: Your target file must contain at least 2 columns and 2 rows. NA's values are not allowed and the variables must not be collinear.")
A presentation about SHAMAN is available",a("here",target="_blank",href="shaman_presentation.pdf")," and a poster",a("here.",target="_blank",href="shaman_poster.pdf"),br(),
"SHAMAN is compatible with standard formats for metagenomic analysis. We also provide a complete pipeline for OTU picking and annotation named",a("MASQUE",href="https://github.com/aghozlane/masque"),"used in production at Institut Pasteur.",style="font-family: 'times'; font-si16pt"),
p("Hereafter is the global workflow of the SHAMAN application:"),