The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The goal of syncons is to support massive construction
of synthetic communities (SynComs) with 24-, 96- and 384-well
plates.
You can install the development version of syncons like
so:
install.packages("pak")
pak::pak("gaospecial/syncons")Now you can use this package.
library("syncons")A shiny app ported with this package can be accessed through shiny.io.
Screenshot
of the shiny app
A 24-well plate can be used to construct 16 different SynComs with 4 strains.
one_plate(24, return_layout = TRUE)
#> # A tibble: 4 × 5
#> row `1` `2` `3` `4`
#> <chr> <chr> <chr> <chr> <chr>
#> 1 A S1/S2/S3/S4 S1/S3/S4 S2/S3/S4 "S3/S4"
#> 2 B S1/S2/S3 S1/S3 S2/S3 "S3"
#> 3 C S1/S2/S4 S1/S4 S2/S4 "S4"
#> 4 D S1/S2 S1 S2 ""A 96-well plate can be used to construct 64 different SynComs with 6 strains.
one_plate(96, return_layout = TRUE)
#> # A tibble: 8 × 9
#> row `1` `2` `3` `4` `5` `6` `7` `8`
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 A S1/S2/S3/S4/S5/S6 S1/S2/S4/S5/S6 S1/S3/S4… S1/S… S2/S… S2/S… S3/S… "S4/…
#> 2 B S1/S2/S3/S4/S5 S1/S2/S4/S5 S1/S3/S4… S1/S… S2/S… S2/S… S3/S… "S4/…
#> 3 C S1/S2/S3/S4/S6 S1/S2/S4/S6 S1/S3/S4… S1/S… S2/S… S2/S… S3/S… "S4/…
#> 4 D S1/S2/S3/S4 S1/S2/S4 S1/S3/S4 S1/S4 S2/S… S2/S4 S3/S4 "S4"
#> 5 E S1/S2/S3/S5/S6 S1/S2/S5/S6 S1/S3/S5… S1/S… S2/S… S2/S… S3/S… "S5/…
#> 6 F S1/S2/S3/S5 S1/S2/S5 S1/S3/S5 S1/S5 S2/S… S2/S5 S3/S5 "S5"
#> 7 G S1/S2/S3/S6 S1/S2/S6 S1/S3/S6 S1/S6 S2/S… S2/S6 S3/S6 "S6"
#> 8 H S1/S2/S3 S1/S2 S1/S3 S1 S2/S3 S2 S3 ""A 384-well plate can be used to construct 256 different SynComs with 8 strains.
one_plate(384, return_layout = TRUE)
#> # A tibble: 16 × 17
#> row `1` `2` `3` `4` `5` `6` `7` `8` `9` `10` `11` `12`
#> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 A S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 2 B S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 3 C S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 4 D S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 5 E S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 6 F S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 7 G S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 8 H S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S5 S2/S… S2/S… S2/S… S2/S5
#> 9 I S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 10 J S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 11 K S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 12 L S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S6 S2/S… S2/S… S2/S… S2/S6
#> 13 M S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S2/S… S2/S… S2/S… S2/S…
#> 14 N S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S7 S2/S… S2/S… S2/S… S2/S7
#> 15 O S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S… S1/S8 S2/S… S2/S… S2/S… S2/S8
#> 16 P S1/S… S1/S… S1/S… S1/S2 S1/S… S1/S3 S1/S4 S1 S2/S… S2/S3 S2/S4 S2
#> # ℹ 4 more variables: `13` <chr>, `14` <chr>, `15` <chr>, `16` <chr>Support we have eight strains and want to construct a series of SynComs with all the possible combinations.
strains = paste0("S", 1:8)
assign_plate(strains, plate_type = "96")
#> # A tibble: 256 × 2
#> combination_id combination
#> <chr> <chr>
#> 1 P1A1 S1/S2/S3/S4/S5/S6
#> 2 P1B1 S1/S2/S3/S4/S5
#> 3 P1C1 S1/S2/S3/S4/S6
#> 4 P1D1 S1/S2/S3/S4
#> 5 P1E1 S1/S2/S3/S5/S6
#> 6 P1F1 S1/S2/S3/S5
#> 7 P1G1 S1/S2/S3/S6
#> 8 P1H1 S1/S2/S3
#> 9 P1A2 S1/S2/S4/S5/S6
#> 10 P1B2 S1/S2/S4/S5
#> # ℹ 246 more rowsThis is for Bio-Protocol submission.
strains = paste0("S", 1:11)
sheets = list(
sheet1 = assign_plate(strains[1:4]),
sheet2 = assign_plate(strains[1:5]),
sheet3 = assign_plate(strains[1:6], plate_type = "96"),
sheet4 = assign_plate(strains[1:7], plate_type = "96"),
sheet5_1 = assign_plate(strains[1:8], plate_type = "96"),
sheet5_2 = assign_plate(strains[1:8], plate_type = "384"),
sheet6_1 = assign_plate(strains[1:9], plate_type = "96"),
sheet6_2 = assign_plate(strains[1:9], plate_type = "384"),
sheet7 = assign_plate(strains[1:10], plate_type = "384"),
sheet8 = assign_plate(strains[1:11], plate_type = "384")
)
openxlsx::write.xlsx(sheets, file = "Sheets.xlsx")These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.