R/interpretproteinidentification-package.R

# interpretproteinidentification-package.R
# Author: Kai Ren Chen (kairen.chen@mail.utoronto.ca)
# Date: December 8, 2021

#' interpretProteinIdentitification: A package for visualizing protein inference results
#'
#' The interpretProteinIdentitification package provides foir functions:
#' readSQLiteFile, generateBipartiteGraph, displayComponent, selectProtein
#' 
#' @section readSQLiteFile function:
#' This function take an OSW file (SQL database file) and return a a mapping of 
#' protein accession to peptide sequence,
#' 
#' @section generateBipartiteGraph function:
#' The generateBipartiteGraph function take in a mapping of protein accession 
#' to peptide sequence, files and make a graph
#' 
#' @section displayComponent function:
#' The displayComponent function take in graph object generated by 
#' generateBipartiteGraph and plot one of it components
#' 
#' @section selectProtein function:
#' The selectProtein function take in any graph object 
#' (either the whole graph from generateBipartiteGraph or a component
#' from displayComponent) and display only the portion of the 
#' graph/component that is connect to the inputted protein
#' 
#' @section Reason of separating generateBipartiteGraph and displayComponent:
#' The reason why generateBipartiteGraph and displayComponent is separate 
#' because there may be more than 1 component that the user want to look at,
#' if the package were to make displayComponent as a helper function to 
#' generateBipartiteGraph, and have the user input a integer as a argument 
#' to generateBipartiteGraph, this may cause 3 problems. The first one is 
#' that if displayComponent functionality is only in generateBipartiteGraph 
#' is that every time the user needs to display another component, the package 
#' re-generate the whole graph again, which can be very resource intensive. 
#' The second one is that if displayComponent functionality also exist as 
#' a separate user-facing function, is that the user may get confused and 
#' re-generate the whole again regardless. The third one is that in either case, 
#' we have an additional parameter, while it may not be an really bad thing, 
#' it is may be better to avoid having more parameters. 
#' 
#' @section what this package is going to need:
#' There are only 4 pieces of data that my package needs. 
#' 1. The protein’s accession number 2. Protein-peptide matches (this just means
#' which peptide’s sequence matches part of the protein sequence). 3. An 
#' identifier for the peptides. 4. The protein that are“identified”, meaning 
#' that they are considered present in the sample. It assumed that there are
#' all in osw files. Sometimes, there is a data for “before” protein inference 
#' and data for “after” protein inference. sometimes, the “after” may not 
#' provide the peptides so this package will also assume that both “before”
#' and “after” files will be provided
#' 
#' @section Error causing roxygen tag:
#' I am not sure why the error appears, but once I include the 2 roxygen tag
#' that calling usethis::use_rcpp() tell to add, load_all, document, clean
#' and rebuild all have the same error, the error persist even if it remove the
#' tags, so I am not including them here
#' 
#' @section About Reticulate:
#' figuring out why reticulate is not working took me so long so
#' I did not have as much time as I would have to develop this package
#' (It ended up not working)
#'
#' @docType package
#' @name interpretProteinIdentitification
NULL
#> NULL
# [END]
kairenchen721/interpretproteinidentification documentation built on Dec. 21, 2021, 5:15 a.m.