Skip to content

Commit

Permalink
Readme updated. New data tables are read in the app.R.
Browse files Browse the repository at this point in the history
  • Loading branch information
goknurginer committed Jun 2, 2024
1 parent 813bb6b commit 47566ea
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 55 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ denemeler/
wehi_marek_counting/
R/steps_2_create_pkg.R
R/apptest.R
R/appglue.R
R/countingT8.R
R/counting.R
R/countingbase.R
Expand Down
71 changes: 37 additions & 34 deletions R/app.R
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ ui <- navbarPage("CuReSPR", id = "main",
uiOutput("groupnames"),
actionButton("nextupload", "Next")
),
conditionalPanel(
condition = "input.nextupload",
p("Groups are ", textOutput("groups", inline = TRUE))),
),
# conditionalPanel(
# condition = "input.nextupload",
# p("Groups are ", textOutput("groups", inline = TRUE))),
),
mainPanel(
conditionalPanel(
condition = "input.nextupload",
Expand All @@ -67,7 +67,7 @@ ui <- navbarPage("CuReSPR", id = "main",
h4("Enter sample details"),
helpText("Please enter the details about the samples in the following table."),
DT::dataTableOutput("my_datatable"),
actionButton("gotocounting", "Next"),
actionButton("gotocounting", "Go to counting"),
)
# actionButton("nextgroups", "Next"),
# conditionalPanel(
Expand All @@ -86,10 +86,14 @@ tabPanel("Counting",
"",
choices = c("Rsubread","MAGeCK","WEHI"),
),
actionButton("guidecounts", "Get guide counts"),
),
mainPanel(
tableOutput("count_table"),
downloadButton("download", "Download"),
conditionalPanel(
condition = "input.guidecounts",
DT::dataTableOutput("count_table"),
downloadButton("download", "Download"),
)
)
)
),
Expand Down Expand Up @@ -125,6 +129,8 @@ server <- function(input, output, session) {
updateTabsetPanel(session, "inTabset", selected = "Counting")
})


#----- Define global reactive variables -----
uploaded_data <- reactive({
return(input$upload)
})
Expand All @@ -133,15 +139,34 @@ server <- function(input, output, session) {
req(uploaded_data())
data <- uploaded_data()
for (i in 1:nrow(data)) {
data$group[i] <- as.character(selectInput(paste0("sel", i),
"",
data$group[i] <- as.character(selectInput(paste0("sel", i), "",
choices = unique(req(values())),
width = "100px"))
}
return(data)
})

#----- Groups Names -----
values <- reactive({
unlist(lapply(1:n(),
function(i) {
input[[paste0("group", i)]]}))
})

count_data <- reactive({
if (input$counting=="Rsubread"){
data <- read.table("/Users/giner.g/Documents/Github/CuReSPR/datasets/T8/rsubread/counts_rsubread.csv", sep = "\t", header = T)
datatable(data)
}
else if (input$counting=="MAGeCK"){
data <- read.table("/Users/giner.g/Documents/Github/CuReSPR/datasets/T8/mageck/counts_mageck.csv", sep = "\t", header = T)
datatable(data)
}
else {
data <- read.table("/Users/giner.g/Documents/Github/CuReSPR/datasets/T8/wehi/counts_wehi.csv", sep = "\t", header = T)
datatable(data)
}
})

n <- reactive({
input$num
})
Expand All @@ -150,6 +175,7 @@ server <- function(input, output, session) {
nrow(req(modified_data()))
})

#----- Define output variables -----
output$groupnames <- renderUI({
groupnames <- lapply(1:n(),
function(i) {
Expand All @@ -158,17 +184,10 @@ server <- function(input, output, session) {
do.call(tagList, groupnames)
})

values <- reactive({
unlist(lapply(1:n(),
function(i) {
input[[paste0("group", i)]]}))
})

output$groups <- renderText({
req(values())
})

# #----- assign group names to fastqs -----
output$my_datatable <- renderDT({
data <- data.frame(Fastq = modified_data()[,1],
Size = modified_data()[,2],
Expand Down Expand Up @@ -234,7 +253,6 @@ server <- function(input, output, session) {
}
}


DT::datatable(
v(),
editable = TRUE,
Expand All @@ -250,22 +268,7 @@ server <- function(input, output, session) {
Shiny.bindAll(table.table().node());"))
})

count_data <- reactive({
if (input$counting=="Rsubread"){
data <- read_tsv("/Users/giner.g/Documents/Github/CuReSPR/countmatrices/Base1.tsv")
data
}
else if (input$counting=="MAGeCK"){
data <- read_tsv("/Users/giner.g/Documents/Github/CuReSPR/countmatrices/High1.tsv")
data
}
else {
data <- read.csv("/Users/giner.g/Documents/Github/CuReSPR/countmatrices/count_matrix_WEHI.csv")
data
}
})

output$count_table <- renderTable({
output$count_table <- renderDT({
count_data()
})

Expand Down
38 changes: 17 additions & 21 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,24 @@

# CuReSPR

<!-- badges: start -->

[![R-CMD-check](https://github.com/goknurginer/CuReSPR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/goknurginer/CuReSPR/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/goknurginer/CuReSPR/branch/master/graph/badge.svg)](https://app.codecov.io/gh/goknurginer/CuReSPR?branch=master)
<!-- badges: end -->

The goal of CuReSPR is to ...

## Installation

You can install the development version of CuReSPR like so:

``` r
remotes::install_github("goknurginer/CuReSPR")
```

## Example

This is a basic example which shows you how to solve a common problem:

``` r
library(CuReSPR)
## basic example code
```
# `CuReSPR` software platform with R: Enabling breakthroughs in cancer cures through a seamless genome editing analysis of CRISPR screens.

`CuReSPR` is a software platform integrating two robust genomics data analysis libraries: `edgeR` (Empirical Analysis of Digital Gene Expression in `R`) and `MAGeCK` (Model-based Analysis of Genome-wide CRISPR Knockout) to analyse genome editing data. Genome editing allows researchers to selectively modify genes in an organism. One of the most powerful and versatile tools for genome editing is *Clustered Regularly Interspaced Short Palindromic Repeats (CRISPR)*. CRISPR genome editing offers precise modifications with minimal off-target effects, reducing the risk of unintended genetic alterations. Its simplicity, cost-effectiveness, and accessibility have outshone earlier genome-editing technologies.
Also in recent years, CRISPR genome editing has sparked innovative breakthroughs in cancer research. This technology has unlocked new avenues for understanding tumour growth, metastasis, and drug resistance, and has accelerated the development of precise therapies and personalized treatment strategies. The clinical trials targeting hematologic malignancies using CRISPR-mediated gene knockout or engineered immune cells exemplify the transformative impact of translating CRISPR insights into tangible medical interventions in cancer research.
While strides have been made in cancer research, computational methodologies for CRISPR-based genome editing continue to evolve, encountering unique challenges. Analysing CRISPR screens in the cancer context is particularly challenging due to the disease's heterogeneity, defined by diverse molecular subtypes. Thus, a sophisticated bioinformatics platform is essential to ensure data quality and extract insights from the cancer data derived from CRISPR screens. Existing software offers varying functionalities but lacks a standardised computational pipeline and falls short in handling the intricacies inherent to cancer genome editing data. These limitations hinder cancer researchers, diverting their focus from biological insights to managing multiple tools for a comprehensive understanding of genome editing results in cancer experiments.
`CuReSPR` introduces a seamless software platform designed to analyse genome editing data to investigate cancer biology. This platform integrates two robust CRISPR data analysis libraries: `edgeR` and `MAGeCK`. The `edgeR` and `MAGeCK` are both designed to identify genes that differentiate between biological conditions, but they both have their strengths and weaknesses in the context of CRISPR genome editing. `edgeR` offers comprehensive analysis and visualization but lacks CRISPR-specific features. `MAGeCK` excels in CRISPR analysis but demands proficiency in programming languages and a steep learning curve. Furthermore, both tools struggle to handle the inherent variability of cancer data. A critical addition to `CuReSPR` involves incorporating innovative data-cleaning options to specifically address the challenges posed by the sparsity and variability of cancer data.
![The Features of CuReSPR](features.png)
`CuReSPR` bridges the gap in the CRISPR screen analysis of cancer experiments by presenting a user-friendly platform that harnesses the strengths of `edgeR` and `MAGeCK` while addressing their shortcomings.
`CuReSPR`:
1. Integrates EdgeR and MAGeCK functionalities into a cohesive platform.
2. Incorporates advanced data cleaning options necessary for cancer experiments.
3. Offers user-friendly interfaces with clear guidelines for analysis steps.
4. Provides visualization tools for enhanced interpretation.
5. Facilitates batch analysis and multiple data set comparisons.
6. Allows users to export results and customizable reports.

![CuReSPR Platform](platform.png)

Binary file added features.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added platform.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 47566ea

Please sign in to comment.