# 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]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.