QC and Exploratory Analysis

r if(txtFolder){"### Raw Data QC Report (PTXQC)"}

# if txt folder provided, generate PTXQC report
tryCatch(expr={
if(txtFolder){
  txt_folder <- file.path(working_dir, "txt");
  report.mq <- PTXQC::createReport(txt_folder);
}
}, error=function(e){print("Error generating PTXQC report")} )

r if(txtFolder){"[ View Raw Data QC Report (PTXQC) ](txt/report_v0.92.3_MQ_pipeline.pdf)" }


Data Normalization

g = g.norm(g)
g = g.norm.vis(g)

print_report <- "";
for(i in 1:length(g$omicsList)){
    print_report <- paste(print_report, 
                          paste(g$omicsList[[i]][[1]],": ",nrow(g$omicsList[[i]][[4]])," features detected in raw data, ", 
                                nrow(g$omicsList[[i]][[5]]), " after filtering. \n",sep=""),
                          paste(g$omicsList[[i]][[1]],": ", ncol(g$omicsList[[i]][[5]]), " samples after filtering. \n",sep=""), sep="" )
}

cat(print_report)
writeLines(print_report, con=file.path(g$output_files_path, "Feature_Numbers.txt"))

nulls=sapply(g$pca_output,is.null)
if(all(nulls)){
  cat("Warning: no PCA plots could be created for this data.")
} else {
  if(any(nulls))
    cat("Warning: some PCA plots could not be created for this data.")
  try({ gridExtra::grid.arrange(grobs=g$pca_output[!nulls], ncol=2) })
}

Click to view full size images:
r { g$output_links }


r if(length(g$omicsList)>1){"### Venn Diagram"}

g = g.venn(g)

r if(length(g$omicsList)>1){"Click to view full size overlap plots: "} r if(length(g$omicsList)>1){ g$venn_output_links }


g = g.corplot(g)

r if(length(g$gene_data_index)>1 | length(g$prot_data_index)>1){"### Correlation Across Datasets"}


r if(length(g$gene_data_index)>1 | length(g$prot_data_index)>1){"Click to view full size correlation plots: "} r if(length(g$gene_data_index)>1 | length(g$prot_data_index)>1){ g$output_links }


Correlation Across Groups

g = g.cor.across.groups(g)

r {"Click to view full size correlation plots: "} r { g$output_links }


r if( length(g$prot_data_index)>0 | length(g$gene_data_index)>1 ){"### Normalize to 1st Data Set"}

suppressMessages({suppressWarnings({ 
  g = g.norm.to.first(g)
})})

r if( length(g$prot_data_index)>0 | length(g$gene_data_index)>1 ){"Proteome Normalization:"} r if( length(g$prot_data_index)>0 | length(g$gene_data_index)>1 ){ g$output_links }

g = g.use.site.norm(g)

Variation Plots, Filtering

g = g.varplot(g)

Click below to view SD vs Mean and Pairs plots: r { g$output_links }


Global Static Heatmaps

if( exists("combined_met") && combined_met && length(g$mz_data_index) > 1 ){ # make combined eset for metabolomics
  g = g.combine.met(g)
}
g = g.heatmap.static(g)

Click to view static heatmaps plots: r { g$output_links }


# If there's a directory called "Subset_Lists" make feature lists based on text files
g = g.boxplots(g)

r if(int_heatmap_section){"### Interactive Heatmap"}

g = g.interactive.heatmap(g)

r if(int_heatmap_section){ paste("Upload files to [Morpheus](https://software.broadinstitute.org/morpheus/) for viewing. Files are located at: ", g$output_links) }


Save Data

g = g.save.data.qc(g)



cnsb-boston/Omics_Notebook documentation built on July 16, 2022, 4:38 p.m.