cytomining / cytotools Goto Github PK
View Code? Open in Web Editor NEWCommand-line Tools to Get Things Done Using Cytominer
License: Other
Command-line Tools to Get Things Done Using Cytominer
License: Other
The argument univariate
is missing in the aggregate
function.
Most scripts in https://github.com/broadinstitute/cytominer_scripts assume a specific folder structure, which is great for keeping the options compact (only need to specify batchname and plate_id for most cases). But this makes it inflexible. Keep the current options, but also have the option to explicitly specify paths.
See the http://docopt.org docs to make sure we do it the right way.
These are the scripts that need to be updated:
select.R
sample.R
: output
and workspace_dir
can be specified, but expects a predefined folder structure for this to work. It is not worth the effort to make this more flexible – the code gets far too complex.preselect.R
normalize.R
: all paths can be specified explicitlycompare_plates.R
collapse.R
audit.R
annotate.R
: same as sample.R
#8 appended an aggregation tag. But this should be handled in cytominer, not here.
Convert the collapse script to an R function.
Update these files to be consistent with new behavior of cytominer::aggregate
https://github.com/cytomining/cytotools/blob/master/inst/extdata/backend/batch0/SQ00015116/SQ00015116_augmented.csv
https://github.com/cytomining/cytotools/blob/master/inst/extdata/backend/batch0/SQ00015116/SQ00015116.csv
https://github.com/cytomining/cytotools/blob/master/tests/testthat/test-aggregate.R
Convert the select script to an R function.
cytominer-database drops the Image_
prefix from image table. Let's update cytotools such that the Image_
prefix is assumed to not be present:
Convert the annotate script to an R function.
This is intended to be used right after the SQLite file is produced. It strips Image_
from column names with prefix Image_Metadata_
in the image
table.
I'm not thrilled about the fact that this is a hack, but it helps remove code downstream where this is done repeatedly
Here's a stub
db <- DBI::dbConnect(RSQLite::SQLite(), sqlite_file)
image <- dplyr::tbl(src = db, "image") %>%
columns_names <- colnames(image) %>% stringr::str_sub("^Image_Metadata_")
purrr::walk(columns_names, function(column_name) DBI::dbSendQuery(db, sprintf("'UPDATE image SET %s = %s;'", column_name, stringr::str_replace(column_name, "^Image_", ""))))
DBI::dbDisconnect(db)
It would be great to have one test data set that can be used to test all functions implemented in cytotools.
Some parts should be available as csv and sql.
Level 1: Raw unprocessed images from microscopes
Level 2: Per-cell level measurements
Level 3: Per-well level aggregated measurements
Level 4: Morphological profiles computed using z-scores relative to the plate population as control or relative to the plate vehicle control.
Level 5: Replicate-collapsed perturbation signatures
Convert the sample script to an R function.
The cytominerScript function normalize.R (https://github.com/broadinstitute/cytominer_scripts/blob/master/normalize.R) is missing and needs to be implemented in cytotools.
Convert the preselect script to an R function.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.