idiogramFISH: Shiny App. Idiograms with Marks and Karyotype Indices

```{css, echo=FALSE, eval=T} body { counter-reset: counter-rchunks; } :root { --pale-blue: #5A7B9C; --strong-blue: #003366; --blue: #303F9F; --light-blue: #a6b5c6; --light-gray: #f6f6f6; }

content {

padding-left: 3em; }

main {

padding-left: 3em; } div.sourceCode { counter-increment: counter-rchunks; position: relative; overflow: visible; } div.sourceCode::before { content: 'Code [' counter(counter-rchunks) ']: '; display: inline; position: absolute; left: -5em; font-size: 0.7em; color: var(--blue); }

postamble {

background:var(--pale-blue); border-top:solid 10px var(--pale-blue); }

postamble .date {

color: white; } .title { text-align: center; color: var(--strong-blue); } .subtitle { color: var(--strong-blue); } h1, h2, h3, h4, h5, h6, legend { color: var(--pale-blue); }

main :not(.leaflet-control) > a {

color: var(--pale-blue); background-image: linear-gradient(180deg,var(--pale-blue),var(--pale-blue)); }

sidebar h2 {

background-color: var(--pale-blue); }

main .nav-pills > li.active > a,

main .nav-pills > li.active > a:hover,

main .nav-pills > li.active > a:focus {

background-color: var(--pale-blue); }

sidebar #toc, #sidebar {

background-color: var(--light-gray) !important; }

sidebar #toc ul li a:hover {

background-color: var(--light-blue); color: white; }

toc ul.nav li.active ul li.active a {

background-color: var(--light-blue); } code { color: var(--strong-blue); }

``` {r cssjs, results="asis", echo=FALSE, message=FALSE, eval=TRUE}
# <!-- pkgdown -->
# <!-- jquery --><script src="js/jquery.min.js" crossorigin="anonymous"></script>

myfile <- "js/jquery.min.js"
if (file.exists(myfile)) {
  cat(paste0('<script src="', myfile, '" crossorigin="anonymous"></script> <!-- # -->'))
}
# <!-- clipboard.js --><script src="js/clipboard.min.js"  crossorigin="anonymous"></script>
myfile <- "js/clipboard.min.js"
if (file.exists(myfile)) {
  cat(paste0('<script src="', myfile, '" crossorigin="anonymous"></script>'))
}
myfile <- "js/hideOutput.js"
if (file.exists(myfile)) {
  cat(paste0('<script src="', myfile, '" crossorigin="anonymous"></script>'))
}
# <!-- Font Awesome icons --><link rel="stylesheet" href="css/all.minMod.css"  crossorigin="anonymous">
myfile <- "css/all.minMod.css"
if (file.exists(myfile)) {
  cat(paste0('<link rel="stylesheet" href="', myfile, '"  crossorigin="anonymous">'))
}
# <!-- Bootstrap --><link rel="stylesheet" href="css/bootstrap.minO.css" crossorigin="anonymous">
myfile <- "css/bootstrap.minO.css"
if (file.exists(myfile)) {
  cat(paste0('<link rel="stylesheet" href="', myfile, '"  crossorigin="anonymous">'))
}
# <!-- # <script src="js/bootstrap.min.js"  crossorigin="anonymous"></script> -->
myfile <- "js/bootstrap.min.js"
if (file.exists(myfile)) {
  cat(paste0('<script src="', myfile, '" crossorigin="anonymous"></script> <!-- # -->'))
}
myfile <- "js/pkgdown2.js"
if (file.exists(myfile)) {
  cat(paste0('<script src="', myfile, '"></script> <!-- # -->'))
}

# Create myheader.html

line1 <- '<script src="https://kit.fontawesome.com/af0a13599b.js" crossorigin="anonymous"></script>'
line2 <- '<link rel="shortcut icon" href="../man/figures/logo.png" />'
file <- "myheader.html"

if (Sys.info()["sysname"] == "Windows") {

  # check internet response
  res <- !as.logical(system(paste("ping", "www.google.com")))
  if (res) {
    write(line1, file = file)
    write(line2, file = file, append = TRUE)
  }
} else {
  write(line1, file = file)
  write(line2, file = file, append = TRUE)
}

require(idiogramFISH)

knitr::opts_chunk$set(eval = TRUE)

pasteLinks <- function(link) {
  cat(paste0(
    "
</br>
Jupyter interactive version:
<br>
</br>
<table>
<tr>
<td>
[<img src='../man/figures/colab-badge.svg'>](https://colab.research.google.com/github/fernandoroa/IFjupyter/blob/main/",
    note,
    "){target='_blank'}&emsp;
</td>
<td>
&emsp;&emsp;<img src='../man/figures/GitHub-Mark-120px-plus.png' height=25 width=25>&emsp;[Github](https://github.com/fernandoroa/IFjupyter/blob/main/",
    note,
    "){target='_blank'}
</td>
<td>
&emsp;&emsp;[Raw](https://github.com/fernandoroa/IFjupyter/raw/main/",
    note,
    "){target='_blank'}
</td>
</tr>
</table>
</br>
"
  ))
}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"} if (requireNamespace("RCurl", quietly = TRUE)) { # version of manual v <- sub("Version: ", "", readLines("../DESCRIPTION")[3]) # v<-tryCatch(suppressWarnings(rvcheck:::check_github_gitlab("ferroao/idiogramFISH", "gitlab")$latest_version), error=function(e) NA ) pkg <- "idiogramFISH" link <- tryCatch(suppressWarnings(badger::badge_custom("Documentation", paste(pkg, v), "cornflowerblue")), error = function(e) NA) if (!is.na(link)) { svglink <- gsub("\[|\]|!|\(|\)", "", link) manual_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(svglink)), error = function(e) NA) if (!is.na(manual_cont)) { manual_contFile <- "../man/figures/manual.svg" writeLines(manual_cont, con = manual_contFile) manual_contFile <- normalizePath(manual_contFile) knitr::include_graphics(manual_contFile) # cat(paste0(" '',")" ) ) } } } # rcurl

# Introduction {-}

<!-- <div style="width:150px;"> -->
<div style="float: right; width: 20%">
```r
img1_path <- "../man/figures/logo.png"
if (file.exists(img1_path)) {
  cat(paste0("<img src=", img1_path, ">"))
}

The goal of idiogramFISH functions or shiny-app is to plot karyotypes, plasmids and circular chr. having a set of data.frames for chromosome data and optionally marks' data [@Roa2021]. Karyotypes can also be plotted in concentric circles.

It is possible to calculate also chromosome and karyotype indexes [@Watanabe1999;@Zarco1986new] and classify chromosome morphology in the categories of Levan [-@Levan1964], and Guerra [-@Guerra1986d].

Six styles of marks are available: square (squareLeft), dots, cM (cMLeft), cenStyle, upArrow (downArrow), exProtein (inProtein) (column style in dfMarkColor data.frame); its legend (label) (parameter legend) can be drawn inline or to the right of karyotypes. Three styles of centromere are available: rounded, triangle and inProtein (cenFormat parameter). Chromosome regions (column chrRegion in dfMarkPos data.frame) for monocentrics are p, q, cen, pcen, qcen. The last three cannot accommodate most mark styles, but can be colored. The region w can be used both in monocentrics and holocentrics.

IdiogramFISH was written in R [@R-base] and also uses crayon [@R-crayon], tidyr [@R-tidyr], plyr [@plyr2011] and dplyr packages [@R-dplyr]. Documentation was written with R-packages roxygen2 [@R-roxygen2], usethis [@R-usethis], bookdown [@bookdown2016], knitr [@Xie2015], pkgdown [@R-pkgdown], Rmarkdown [@rmarkdown2018], rvcheck [@R-rvcheck], badger [@R-badger], kableExtra [@R-kableExtra], rmdformats [@R-rmdformats] and RCurl [@R-RCurl]. For some vignette figures, packages rentrez [@rentrez2017], phytools [@phytools2012], ggtree [@ggtree2018], ggplot2 [@ggplot22016] and ggpubr [@R-ggpubr] were used.

In addition, the shiny app runBoard() uses shiny [@R-shiny], shinydashboard [@R-shinydashboard], rhandsontable [@R-rhandsontable], gtools [@R-gtools] and rclipboard [@R-rclipboard].

top

Run the Shiny app with docker {-}

docker pull fercyto/idiogramfish

# Run the image
docker run -d -p 8080:8080 fercyto/idiogramfish

In your internet browser go to localhost:8080

# Stop the container
docker ps
docker stop {container id}

Installation instructions {-}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"}

if (requireNamespace("RCurl", quietly = TRUE)) { cranversion <- "https://www.r-pkg.org/badges/version/idiogramFISH" cranversion_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(cranversion)), error = function(e) NA)

if (!is.na(cranversion_cont)) { cranversion_contFile <- "../man/figures/cranversion.svg" writeLines(cranversion_cont, con = cranversion_contFile) cranversion_contFile <- normalizePath(cranversion_contFile) # knitr::include_graphics(cranversion_contFile) # cat(paste0("https://CRAN.R-project.org/package=idiogramFISH,")" ) ) cat(paste0("![CRAN repo](", knitr::include_graphics(cranversion_contFile), ")")) } # cran version

# crandownloads<-"https://cranlogs.r-pkg.org/badges/grand-total/idiogramFISH?color=orange" # crandownloads_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(crandownloads) ), error=function(e) NA )

doibadge <- "https://zenodo.org/badge/DOI/10.5281/zenodo.3579417.svg" doibadge_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(doibadge)), error = function(e) NA)

if (!is.na(doibadge_cont)) { doibadge_contFile <- "../man/figures/doibadge.svg" writeLines(doibadge_cont, con = doibadge_contFile) doibadge_contFile <- normalizePath(doibadge_contFile)

cat(paste0("&nbsp;[![10.5281/zenodo.3579417](", knitr::include_graphics(doibadge_contFile), ")](https://doi.org/10.5281/zenodo.3579417)"))

} # doi } # rcurl

You can install idiogramFISH from [CRAN](https://cran.r-project.org/package=idiogramFISH) with:

``` r
install.packages("idiogramFISH")

Windows users: To avoid installation of packages in OneDrive

.libPaths("D:R/lib") # for example
.libPaths()          # set or read libraries

To do that permanently: Search (magnifier) "environment variables" and set R_LIBS_USER to D:\R\lib (example)

top

Releases {-}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"} if (requireNamespace("RCurl", quietly = TRUE)) { # cran version v <- "NEWS" # tryCatch(suppressWarnings(rvcheck::check_cran("idiogramFISH")$latest_version), error=function(e) NA )

link <- tryCatch(suppressWarnings(badger::badge_custom("gitlab", paste(v), "orange", "?logo=gitlab")), error = function(e) NA) if (!is.na(link)) { svglink <- gsub("\[|\]|!|\(|\)", "", link) news_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(svglink)), error = function(e) NA) if (!is.na(news_cont)) { news_cont_contFile <- "../man/figures/NEWS.svg" writeLines(news_cont, con = news_cont_contFile) cat(paste0("![NEWS](", knitr::include_graphics(news_cont_contFile), "){target='_blank'}")) } } } # rcurl

<!-- [CRAN archive](https://cran.r-project.org/src/contrib/Archive/idiogramFISH/) -->

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"}
if (requireNamespace("RCurl", quietly = TRUE)) {
  archivelink <- tryCatch(suppressWarnings(badger::badge_custom("CRAN", "archive", "gray")), error = function(e) NA)
  if (!is.na(archivelink)) {
    svgnewdownlink <- gsub("\\[|\\]|!|\\(|\\)", "", archivelink)
    archive_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(svgnewdownlink)), error = function(e) NA)
  }
  if (!is.na(archive_cont)) {
    archive_contFile <- "../man/figures/archive.svg"
    writeLines(archive_cont, con = archive_contFile)
    cat(paste0("[![archive](", knitr::include_graphics(archive_contFile), ")](https://cran.r-project.org/src/contrib/Archive/idiogramFISH/){target='_blank'}"))
  }
} # rcurl

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"} if (requireNamespace("RCurl", quietly = TRUE)) { newdownlink <- tryCatch(suppressWarnings(badger::badge_custom("CRAN", "downloads", "green")), error = function(e) NA) if (!is.na(newdownlink)) { svgnewdownlink <- gsub("\[|\]|!|\(|\)", "", newdownlink) realdo_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(svgnewdownlink)), error = function(e) NA) } if (!is.na(realdo_cont)) { realdo_contFile <- "../man/figures/realdownloads.svg" writeLines(realdo_cont, con = realdo_contFile) # message # link cat(paste0("![downloads](", knitr::include_graphics(realdo_contFile), "){target='_blank'}")) } } # rcurl

<div class="goright95">
<a href="#content">top <i class="fa fa-caret-square-o-up" aria-hidden="true"></i></a>
</div>

## Need help? {-}

### Manual in Bookdown style {-}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"}
if (requireNamespace("RCurl", quietly = TRUE)) {
  # version of manual
  # v<-tryCatch(suppressWarnings(rvcheck:::check_github_gitlab("ferroao/idiogramFISH", "gitlab")$latest_version), error=function(e) NA )
  # cran version
  v <- tryCatch(suppressWarnings(rvcheck::check_cran("idiogramFISH")$latest_version), error = function(e) NA)

  pkg <- "idiogramFISH"
  link <- tryCatch(suppressWarnings(badger::badge_custom("bookdown", paste(pkg, v), "orange")), error = function(e) NA)
  if (!is.na(link)) {
    svglink <- gsub("\\[|\\]|!|\\(|\\)", "", link)
    manual_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(svglink)), error = function(e) NA)
    if (!is.na(manual_cont)) {
      bookdown_contFile <- "../man/figures/cranmanualbookdown.svg"
      writeLines(manual_cont, con = bookdown_contFile)
      #    manual_contFile <- normalizePath(manual_contFile)
      # knitr::include_graphics(manual_contFile)
      cat(paste0("[![https://ferroao.gitlab.io/manualidiogramfish](", knitr::include_graphics(bookdown_contFile), ")](https://ferroao.gitlab.io/manualidiogramfish/)"))
    }
  }
} # rcurl

Documentation in Pkgdown style {-}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"} if (requireNamespace("RCurl", quietly = TRUE)) { # version of manual # v<-sub("Version: ","",readLines("DESCRIPTION")[3]) v <- tryCatch(suppressWarnings(rvcheck:::check_github_gitlab("ferroao/idiogramFISH", "gitlab")$latest_version), error = function(e) NA) # cran version # v<-tryCatch(suppressWarnings(rvcheck::check_cran("idiogramFISH")$latest_version), error=function(e) NA )

pkg <- "idiogramFISH" pkglink <- tryCatch(suppressWarnings(badger::badge_custom("pkgdown", paste(pkg, v), "cornflowerblue")), error = function(e) NA) if (!is.na(pkglink)) { pkgsvglink <- gsub("\[|\]|!|\(|\)", "", pkglink) develpkgmanual_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(pkgsvglink)), error = function(e) NA) if (!is.na(develpkgmanual_cont)) { pkgdownmanual_contFile <- "../man/figures/pkgdownver.svg" writeLines(develpkgmanual_cont, con = pkgdownmanual_contFile) cat(paste0("![https://ferroao.gitlab.io/idiogramFISH](", knitr::include_graphics(pkgdownmanual_contFile), " )")) } } } # rcurl

### Vignettes {-}

Online:

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis"}
if (requireNamespace("RCurl", quietly = TRUE)) {
  # version of manual
  # v<-sub("Version: ","",readLines("DESCRIPTION")[3])
  v <- tryCatch(suppressWarnings(rvcheck:::check_github_gitlab("ferroao/idiogramFISH", "gitlab")$latest_version), error = function(e) NA)
  # cran version
  # v<-tryCatch(suppressWarnings(rvcheck::check_cran("idiogramFISH")$latest_version), error=function(e) NA )

  pkg <- "idiogramFISH"
  link <- tryCatch(suppressWarnings(badger::badge_custom("vignettes", paste(pkg, v), "cornflowerblue")), error = function(e) NA)
  if (!is.na(link)) {
    vignettelink <- gsub("\\[|\\]|!|\\(|\\)", "", link)
    vignettemanual_cont <- tryCatch(suppressWarnings(RCurl::getURLContent(vignettelink)), error = function(e) NA)
    if (!is.na(vignettemanual_cont)) {
      vignettemanual_contFile <- "../man/figures/develmanualvignette.svg"
      writeLines(vignettemanual_cont, con = vignettemanual_contFile)
      #    manual_contFile <- normalizePath(manual_contFile)
      # knitr::include_graphics(manual_contFile)
      cat(paste0("[![https://ferroao.gitlab.io/idiogramfishhelppages](", knitr::include_graphics(vignettemanual_contFile), ")](https://ferroao.gitlab.io/idiogramfishhelppages)"))
    }
  }
} # rcurl

Launch vignettes from R for the installed version:

library(idiogramFISH)
packageVersion("idiogramFISH")
browseVignettes("idiogramFISH")
top

Citation {-}

print(citation("idiogramFISH"), bibtex = FALSE)

To write citation to file:

sink("idiogramFISH.bib")
toBibtex(citation("idiogramFISH"))
sink()
top

Authors {-}

img1_path <- "../man/figures/kofi1.png"
img1_path <- normalizePath(img1_path)

if (file.exists(img1_path)) {
  cat(paste0("[Fernando Roa](https://ferroao.gitlab.io/curriculumpu/){target='_blank'}&nbsp;&nbsp;<a href='https://ko-fi.com/X7X71PZZG' target='_blank'><img src=", img1_path, " width=\"10%\">"))
} else {
  cat(paste0("[Fernando Roa](https://ferroao.gitlab.io/curriculumpu/){target='_blank'}"))
}

``` {r, echo=F, message=FALSE, fig.show = "hold", fig.align = "default", results="asis", eval=FALSE} cat("Buy Me a Coffee at ko-fi.com")

[Mariana PC Telles](http://lattes.cnpq.br/4648436798023532)  

```r
# automatically create a bib database for R packages, this is currently not used by vignette refs/packages2.bib
knitr::write_bib(c(
  .packages(), "bookdown", "knitr", "rmarkdown", "devtools", "pkgdown", "crayon", "ggtree", "ggplot2", "ggpubr", "phytools", "plyr", "dplyr", "tidyr", "rentrez"
), "refs/packages2.bib")
top
chapterFile_jupyter <- "../parts/01-jupyter.Rmd"
if (file.exists(chapterFile_jupyter)) {
  childExists_jupyter <- TRUE
  child_docs_jupyter <- chapterFile_jupyter
} else {
  childExists_jupyter <- FALSE
  child_docs_jupyter <- ""
}

chapterFile_first <- "../parts/02-first.Rmd"
if (file.exists(chapterFile_first)) {
  childExists_first <- TRUE
  child_docs_first <- chapterFile_first
} else {
  childExists_first <- FALSE
  child_docs_first <- ""
}

chapterFile_minimal <- "../chaptersBLOCK/03-minimal.Rmd"
if (file.exists(chapterFile_minimal)) {
  childExists_minimal <- TRUE
  child_docs_minimal <- chapterFile_minimal
} else {
  childExists_minimal <- FALSE
  child_docs_minimal <- ""
}

cat("# Minimal Examples")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#minimal-examples)")
note <- "03-minimal.ipynb"
pasteLinks(note)
chapterFile_plotting <- "../chaptersBLOCK/04-plotting.Rmd"
if (file.exists(chapterFile_plotting)) {
  childExists_plotting <- TRUE
  child_docs_plotting <- chapterFile_plotting
} else {
  childExists_plotting <- FALSE
  child_docs_plotting <- ""
}

cat("# Plotting chromosomes")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#plotting-chromosomes)")
note <- "04-plotting.ipynb"
pasteLinks(note)
chapterFile_multiple <- "../chaptersBLOCK/05-multiple.Rmd"
if (file.exists(chapterFile_multiple)) {
  childExists_multiple <- TRUE
  child_docs_multiple <- chapterFile_multiple
} else {
  childExists_multiple <- FALSE
  child_docs_multiple <- ""
}

cat("# Several OTUs")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#multiple-otus)")
note <- "05-multiple.ipynb"
pasteLinks(note)
chapterFile_units <- "../chaptersBLOCK/06-units.Rmd"
if (file.exists(chapterFile_units)) {
  childExists_units <- TRUE
  child_docs_units <- chapterFile_units
} else {
  childExists_units <- FALSE
  child_docs_units <- ""
}

cat("# Changing Units")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#changing-units)")
note <- "06-units.ipynb"
pasteLinks(note)
chapterFile0 <- "../chaptersBLOCK/07-gish.Rmd"
if (file.exists(chapterFile0)) {
  childExists0 <- TRUE
  child_docs0 <- chapterFile0
} else {
  childExists0 <- FALSE
  child_docs0 <- ""
}

cat("# GISH")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#gish)")
note <- "07-gish.ipynb"
pasteLinks(note)
chapterFile1 <- "../chaptersBLOCK/08-groups.Rmd"
if (file.exists(chapterFile1)) {
  childExists1 <- TRUE
  child_docs1 <- chapterFile1
} else {
  childExists1 <- FALSE
  child_docs1 <- ""
}

cat("# Using groups")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#groups)")
note <- "08-groups.ipynb"
pasteLinks(note)
chapterFile2 <- "../chaptersBLOCK/09-circular.Rmd"
if (file.exists(chapterFile2)) {
  childExists2 <- TRUE
  child_docs2 <- chapterFile2
} else {
  childExists2 <- FALSE
  child_docs2 <- ""
}

cat("# Circular plots")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#circular-plots)")
note <- "09-circular.ipynb"
pasteLinks(note)
chapterFile3 <- "../chaptersBLOCK/10-phylogeny.Rmd"
if (file.exists(chapterFile3)) {
  childExists3 <- TRUE
  child_docs3 <- chapterFile3
} else {
  childExists3 <- FALSE
  child_docs3 <- ""
}

cat("# Plotting alongside phylogeny")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#plotting-alongside-phylogeny)")
note <- "10-phylogeny.ipynb"
pasteLinks(note)
chapterFile <- "../chaptersBLOCK/11-citrushelp.Rmd"
if (file.exists(chapterFile)) {
  childExists <- TRUE
  child_docs <- chapterFile
} else {
  childExists <- FALSE
  child_docs <- ""
}

cat("# *Citrus*")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#citrus)")
note <- "11-citrushelp.ipynb"
pasteLinks(note)
chapterFile4 <- "../chaptersBLOCK/12-human.Rmd"
if (file.exists(chapterFile4)) {
  childExists4 <- TRUE
  child_docs4 <- chapterFile4
} else {
  childExists4 <- FALSE
  child_docs4 <- ""
}

cat("# Human karyotype")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#human-karyotype)")
note <- "12-human.ipynb"
pasteLinks(note)
chapterFile_param <- "../chaptersBLOCK/13-functions.Rmd"
if (file.exists(chapterFile_param)) {
  childExists_param <- TRUE
  child_docs_param <- chapterFile_param
} else {
  childExists_param <- FALSE
  child_docs_param <- ""
}

cat("# Functions")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#functions)")
chapterFile_data <- "../chaptersBLOCK/14-datasets.Rmd"
if (file.exists(chapterFile_data)) {
  childExists_data <- TRUE
  child_docs_data <- chapterFile_data
} else {
  childExists_data <- FALSE
  child_docs_data <- ""
}

cat("# Datasets")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#datasets)")
chapterFile_news <- "../chaptersBLOCK/15-news.Rmd"
if (file.exists(chapterFile_news)) {
  childExists_news <- TRUE
  child_docs_news <- chapterFile_news
} else {
  childExists_news <- FALSE
  child_docs_news <- ""
}

cat("# News {-}")
cat("[https://ferroao.gitlab.io/idiogramfishhelppages](https://ferroao.gitlab.io/idiogramfishhelppages/#news)")

References {-}

::: {#refs_normal} :::

R-packages {-}

::: {#refs_software} :::

Shiny App {-}

::: {#refs_shiny} :::

Documentation {-}

::: {#refs_docs} :::



Try the idiogramFISH package in your browser

Any scripts or data that you put into this service are public.

idiogramFISH documentation built on Aug. 22, 2023, 5:08 p.m.