## ----code, echo = FALSE--------------------------------------------------
code <- function(...) {
    cat(paste(..., sep = "\n"))
}

date = "`r doc_date()`"
pkg = "`r pkg_ver('BiocStyle')`"

## ----lastz, eval=FALSE, echo=TRUE----------------------------------------
#  ## lastz aligner
#  assemblyDir <- "/Users/gtan/OneDrive/Project/CSC/CNEr/2bit"
#  axtDir <- "/Users/gtan/OneDrive/Project/CSC/CNEr/axt"
#  assemblyTarget <- file.path(system.file("extdata",
#                              package="BSgenome.Drerio.UCSC.danRer10"),
#                              "single_sequences.2bit")
#  assemblyQuery <- file.path(system.file("extdata",
#                                         package="BSgenome.Hsapiens.UCSC.hg38"),
#                             "single_sequences.2bit")
#  lavs <- lastz(assemblyTarget, assemblyQuery,
#                outputDir=axtDir,
#                chrsTarget=c("chr1", "chr2", "chr3"),
#                chrsQuery=c("chr1", "chr2", "chr3"),
#                distance="far", mc.cores=4)
#  
#  ## lav files to psl files conversion
#  psls <- lavToPsl(lavs, removeLav=FALSE, binary="lavToPsl")

## ----last, eval=FALSE, echo=TRUE-----------------------------------------
#  ## Build the lastdb index
#  system2(command="lastdb", args=c("-c", file.path(assemblyDir, "danRer10"),
#                                   file.path(assemblyDir, "danRer10.fa")))
#  
#  ## Run last aligner
#  lastal(db=file.path(assemblyDir, "danRer10"),
#         queryFn=file.path(assemblyDir, "hg38.fa"),
#         outputFn=file.path(axtDir, "danRer10.hg38.maf"),
#         distance="far", binary="lastal", mc.cores=4L)
#  
#  ## maf to psl
#  psls <- file.path(axtDir, "danRer10.hg38.psl")
#  system2(command="maf-convert", args=c("psl",
#                                        file.path(axtDir, "danRer10.hg38.maf"),
#                                        ">", psls))

## ----chain, eval=FALSE, echo=TRUE----------------------------------------
#  ## Join close alignments
#  chains <- axtChain(psls, assemblyTarget=assemblyTarget,
#                     assemblyQuery=assemblyQuery, distance="far",
#                     removePsl=FALSE, binary="axtChain")
#  
#  ## Sort and combine
#  allChain <- chainMergeSort(chains, assemblyTarget, assemblyQuery,
#                allChain=file.path(axtDir,
#                           paste0(sub("\\.2bit$", "", basename(assemblyTarget),
#                                      ignore.case=TRUE), ".",
#                                  sub("\\.2bit$", "", basename(assemblyQuery),
#                                      ignore.case=TRUE), ".all.chain")),
#                             removeChains=FALSE, binary="chainMergeSort")

## ----netting, eval=FALSE, echo=TRUE--------------------------------------
#  ## Filtering out chains
#  allPreChain <- chainPreNet(allChain, assemblyTarget, assemblyQuery,
#                             allPreChain=file.path(axtDir,
#                                        paste0(sub("\\.2bit$", "",
#                                                   basename(assemblyTarget),
#                                                   ignore.case = TRUE), ".",
#                                               sub("\\.2bit$", "",
#                                                   basename(assemblyQuery),
#                                                   ignore.case = TRUE),
#                                                   ".all.pre.chain")),
#                             removeAllChain=FALSE, binary="chainPreNet")
#  
#  ## Keep the best chain and add synteny information
#  netSyntenicFile <- chainNetSyntenic(allPreChain, assemblyTarget, assemblyQuery,
#                       netSyntenicFile=file.path(axtDir,
#                                                 paste0(sub("\\.2bit$", "",
#                                                        basename(assemblyTarget),
#                                                        ignore.case = TRUE), ".",
#                                                        sub("\\.2bit$", "",
#                                                        basename(assemblyQuery),
#                                                        ignore.case = TRUE),
#                                                 ".noClass.net")),
#                       binaryChainNet="chainNet", binaryNetSyntenic="netSyntenic")

## ----axtNet, eval=FALSE, echo=TRUE---------------------------------------
#  netToAxt(netSyntenicFile, allPreChain, assemblyTarget, assemblyQuery,
#           axtFile=file.path(axtDir,
#                             paste0(sub("\\.2bit$", "",
#                                        basename(assemblyTarget),
#                                        ignore.case = TRUE), ".",
#                                    sub("\\.2bit$", "",
#                                        basename(assemblyQuery),
#                                        ignore.case = TRUE),
#                                    ".net.axt")),
#               removeFiles=FALSE,
#               binaryNetToAxt="netToAxt", binaryAxtSort="axtSort")
#  

## ----sessionInfo, echo=FALSE---------------------------------------------
sessionInfo()

