## -----------------------------------------------------------------------------
#| label: installBC
#| eval: false
# install.packages("BiocManager")


## -----------------------------------------------------------------------------
#| label: install
#| eval: false
# BiocManager::install("kissDE")


## -----------------------------------------------------------------------------
#| label: library
library(kissDE)


## -----------------------------------------------------------------------------
#| label: quick_start
#| eval: false
# counts <- kissplice2counts("output_kissplice.fa")
# conditions <- c(rep("condition_1", 2), rep("condition_2", 2))
# qualityControl(counts, conditions)
# results <- diffExpressedVariants(counts, conditions)
# writeOutputKissDE(results, output = "kissDE_output.tab")


## -----------------------------------------------------------------------------
#| label: conditionVector_howto
myConditions <- c(rep("condition_1", 2), rep("condition_2", 2))


## -----------------------------------------------------------------------------
#| label: conditionVectorRemove_howto
myConditionsRm <- c(rep("condition_1", 2), 
                    rep("*", 2), 
                    rep("condition_3", 2))


## -----------------------------------------------------------------------------
#| label: tablecounts_howto
# 'fpath1' contains the absolute path of the file on the user's hard disk
fpath1 <- system.file("extdata", "table_counts_alt_splicing.txt", 
    package = "kissDE")
tableCounts <- read.table(fpath1, head = TRUE)


## -----------------------------------------------------------------------------
#| label: tablecounts_head
head(tableCounts)


## -----------------------------------------------------------------------------
#| label: kissplice_format
headfasta <- system.file("extdata", 
    "head_output_kissplice_alt_splicing_fasta.txt", package = "kissDE")
writeLines(readLines(headfasta))


## -----------------------------------------------------------------------------
#| label: kissplice2counts_howto
# 'fpath2' contains the absolute path of the file on the user's hard disk.
fpath2 <- system.file("extdata", "output_kissplice_alt_splicing.fa", 
    package = "kissDE")
myCounts <- kissplice2counts(fpath2, pairedEnd = TRUE)


## -----------------------------------------------------------------------------
#| label: kissplice2counts_head
names(myCounts)
head(myCounts$countsEvents)


## -----------------------------------------------------------------------------
#| label: kissplice2counts_k2rg_howto
# 'fpath3' contains the absolute path of the file on the user's hard disk.
fpath3 <- system.file("extdata", "output_k2rg_alt_splicing.txt", 
    package = "kissDE")
myCounts_k2rg <- kissplice2counts(fpath3, pairedEnd = TRUE, k2rg = TRUE)
names(myCounts_k2rg)
head(myCounts_k2rg$countsEvents)


## -----------------------------------------------------------------------------
#| label: kissplice2counts_k2rg_ESonly_howto
myCounts_k2rg_ES <- kissplice2counts(fpath3, pairedEnd = TRUE, 
    k2rg = TRUE, keep = c("ES"), 
    remove = c("MULTI", "altA", "altD", "altAD", "MULTI_altA",
    "MULTI_altD", "MULTI_altAD"))


## -----------------------------------------------------------------------------
#| label: qualityControl_howto
#| output: false
qualityControl(myCounts, myConditions)


## -----------------------------------------------------------------------------
#| label: returnPCAdata_howto
#| output: false
PCAdata <- qualityControl(myCounts, myConditions, returnPCAdata = TRUE)


## -----------------------------------------------------------------------------
#| label: diffExpressedVariants_howto
myResults <- diffExpressedVariants(countsData = myCounts,
    conditions = myConditions)


## -----------------------------------------------------------------------------
#| label: myResults_description
names(myResults)


## -----------------------------------------------------------------------------
#| label: hist_pvalue_before_correction
#| output: false
hist(myResults$uncorrectedPVal, main = "Histogram of p-values", 
    xlab = "p-values", breaks = 50)


## -----------------------------------------------------------------------------
#| label: finaltable_description
print(str(myResults))


## -----------------------------------------------------------------------------
#| label: finaltable_write
#| eval: false
# writeOutputKissDE(myResults, output = "kissDE_results_table.tab")


## -----------------------------------------------------------------------------
#| label: finaltable_thresholds_write
#| eval: false
# writeOutputKissDE(myResults, output = "kissDE_results_table_filtered.tab",
#     adjPvalMax = 0.05, dPSImin = 0.10)


## -----------------------------------------------------------------------------
#| label: krg_output_write
#| eval: false
# writeOutputKissDE(myResults_K2RG, output = "kissDE_K2RG_results_table.tab",
#     adjPvalMax = 0.05, dPSImin = 0.10)


## -----------------------------------------------------------------------------
#| label: fPSItable_description
head(myResults$`f/psiTable`, n = 3)


## -----------------------------------------------------------------------------
#| label: fPSItable_write
#| eval: false
# writeOutputKissDE(myResults, output = "result_PSI.tab", writePSI = TRUE)


## -----------------------------------------------------------------------------
#| label: AS_data
fileInAS <- system.file("extdata", "output_k2rg_alt_splicing.txt",
    package = "kissDE")
exampleK2RG <- read.table(fileInAS)
names(exampleK2RG) <- c("Gene_Id", "Gene_name",
    "Chromosome_and_genomic_position", "Strand", "Event_type",
    "Variable_part_length", "Frameshift_?", "CDS_?", "Gene_biotype",
    "number_of_known_splice_sites/number_of_SNPs")
print(head(exampleK2RG[, c(1:10)], 3), row.names = FALSE)


## -----------------------------------------------------------------------------
#| label: AS_counts
# 'fileInAS' contains the absolute path of the file on the user's hard disk.
fileInAS <- system.file("extdata", "output_k2rg_alt_splicing.txt",
    package = "kissDE")
myCounts_AS <- kissplice2counts(fileInAS, pairedEnd = TRUE, k2rg = TRUE, 
    counts = 2, exonicReads = FALSE)
head(myCounts_AS$countsEvents)


## -----------------------------------------------------------------------------
#| label: AS_condition
myConditions_AS <- c(rep("SKNSH",2), rep("SKNSH-RA",2))


## -----------------------------------------------------------------------------
#| label: qualityControl_AS
#| output: false
qualityControl(myCounts_AS, myConditions_AS)


## -----------------------------------------------------------------------------
#| label: AS_test
myResult_AS <- diffExpressedVariants(myCounts_AS, myConditions_AS)
# head(myResult_AS$finalTable, n = 3)
str(myResult_AS)


## -----------------------------------------------------------------------------
#| label: AS_export
#| eval: false
# writeOutputKissDE(myResults_AS, output = "results_table.tab")
# writeOutputKissDE(myResults_AS, output = "psi_table.tab", writePSI = TRUE)


## -----------------------------------------------------------------------------
#| label: as_explore_result
#| eval: false
# exploreResults(rdsFile = "results_table.tab.rds")


## -----------------------------------------------------------------------------
#| label: as_kissDE_result
#| eval: false
# fileInAS <- system.file("extdata", "output_k2rg_alt_splicing.txt",
#     package = "kissDE")
# myConditions_AS <- c(rep("SKNSH", 2), rep("SKNSH-RA", 2))
# kissDE(fileName = fileInAS, conditions = myConditions_AS,
#        output = "results_table.tab", counts = 2, pairedEnd = TRUE, k2rg = TRUE,
#        exonicReads = FALSE, writePSI = TRUE, doQualityControl = TRUE,
#        resultsInShiny = TRUE)


## -----------------------------------------------------------------------------
#| label: snv_kissplice_data
headfasta <- system.file("extdata", "head_output_kissplice_SNV_fasta.txt", 
    package = "kissDE")
writeLines(readLines(headfasta))


## -----------------------------------------------------------------------------
#| label: snv_counts
# 'fileInSNV' contains the absolute path of the file on the user's hard disk.
fileInSNV <- system.file("extdata", "output_kissplice_SNV.fa", 
    package = "kissDE")
myCounts_SNV <- kissplice2counts(fileInSNV, counts = 0, pairedEnd = TRUE)
head(myCounts_SNV$countsEvents)


## -----------------------------------------------------------------------------
#| label: snv_condition
myConditions_SNV <- c(rep("TSC",2), rep("CEU",2))


## -----------------------------------------------------------------------------
#| label: qualityControl_SNV
#| output: false
qualityControl(myCounts_SNV, myConditions_SNV)


## -----------------------------------------------------------------------------
#| label: snv_test
myResult_SNV <- diffExpressedVariants(myCounts_SNV, myConditions_SNV)
str(myResult_SNV)


## -----------------------------------------------------------------------------
#| label: snv_export_result
#| eval: false
# writeOutputKissDE(myResults_SNV, output = "final_table_significants.tab",
#     adjPvalMax = 0.05)


## -----------------------------------------------------------------------------
#| label: snv_explore_result
#| eval: false
# exploreResults(rdsFile = "final_table_significants.tab.rds")


## -----------------------------------------------------------------------------
#| label: snv_kissDE_result
#| eval: false
# fileInSNV <- system.file("extdata", "output_kissplice_SNV.fa",
#     package = "kissDE")
# myConditions_SNV <- c(rep("TSC", 2), rep("CEU", 2))
# kissDE(fileName = fileInSNV, conditions = myConditions_SNV,
#        output = "results_table.tab", counts = 2, pairedEnd = TRUE, k2rg = TRUE,
#        exonicReads = FALSE, writePSI = TRUE, doQualityControl = TRUE,
#        resultsInShiny = TRUE)


## -----------------------------------------------------------------------------
#| label: sessioninfo
sessionInfo()

