IFC

Tools for Imaging Flow Cytometry

https://github.com/gitdemont/ifc

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.2%) to scientific vocabulary

Keywords

cytometry cytometry-data flow flow-cytometry flow-cytometry-analysis flow-cytometry-data flow-cytometry-files ifc image imaging-flow-cytometry imaging-flow-cytometry-data microscopy r
Last synced: 6 months ago · JSON representation

Repository

Tools for Imaging Flow Cytometry

Basic Info
  • Host: GitHub
  • Owner: gitdemont
  • License: gpl-3.0
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 2.01 MB
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • Open Issues: 3
  • Releases: 0
Topics
cytometry cytometry-data flow flow-cytometry flow-cytometry-analysis flow-cytometry-data flow-cytometry-files ifc image imaging-flow-cytometry imaging-flow-cytometry-data microscopy r
Created almost 6 years ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License

README.md

R build status Dependencies License: GPL v3

<!-- badges: end -->

Tools for Imaging Flow Cytometry (IFC)

INSTALLATION (from CRAN)

The easiest way to install IFC package is:

R install.packages("IFC")

INSTALLATION (from in-dev github master branch)

Current in development branch can be installed from github and requires compilation

On Windows (tested 7 and 10)

In R console, if you installed Rtools directly on C: you should see something like C:\Rtools\bin and C:\Rtools\mingw_32\bin

R print(unlist(strsplit(Sys.getenv("PATH"), ";")))

Otherwise, try to set it

```R

e.g.

shell('setx PATH "C:\Rtools\bin"') shell('setx PATH "C:\Rtools\mingw_32\bin"') ```

You may need to reboot to operate changes

On MacOS (tested on High Sierra)

  • IFC package seems to install without additional requirement.

On Linux (tested on Ubuntu 16.04 LTS)

  • tiff package requires tiff libraries which may not be on the system.

terminal sudo apt-get install libtiff-dev

in R

  • install R dependencies required for IFC package "Rcpp", "xml2", "utils", "grid", "gridExtra", "gridGraphics", "lattice", "latticeExtra", "KernSmooth", "DT", "visNetwork"

R install.packages(c("Rcpp", "xml2", "utils", "grid", "gridExtra", "gridGraphics", "lattice", "latticeExtra", "KernSmooth", "DT", "visNetwork"))

  • install "remotes", to install IFC package from github remotes is needed.

R install.packages("remotes")

  • install IFC

R remotes::install_github(repo = "gitdemont/IFC", ref = "master", dependencies = FALSE)

USAGE

Several examples in IFC package are dependent on data files that can be found in dedicated IFCdata package.

To install IFCdata package and run examples in IFC:

R install.packages("IFCdata", repos = "https://gitdemont.github.io/IFCdata/", type = "source")

DETAILS

  • parse files .daf, .rif, .cif

use: readIFC() or ExtractFromDAF() or ExtractFromXIF()

This allows retrieving several information from files like at single cell level:

features defined and their values

masks defined and their definitions,

regions drawn and their vertices,

populations created and know whether a cell belongs to this population or not,

graphs from the analysis worksheet.

As a consequence ones can get for each cell the population it belongs to. One main advantage is that you don't have to use export / extract .cif or .fcs or .txt manually for each subpopulation you are interested in. Having features values for each cells and knowing which populations a cell is belonging to, one can pass it to a supervised machine learning (ML) algorithm (they are many in R) to create a model fitting the data.

  • write in .daf

use: writeIFC() or ExportToDAF()

Once data are parsed and treated new elements can be injected in daf file, e.g. a ML model is trained on a daf file and used to predict populations in other daf files. Then these predicted populations can be injected so as to be checked using IDEAS in addition to their predicted probability values (or other features like PCA/t-SNE/UMAP dimensions).

  • subset or merge .rif, .cif,

use: writeIFC() or ExportToXIF()

Once data are parsed and treated new elements can be used to subset or merge raw / compensated images files

  • Scale up productivity; here are several (among others) functions that have been created:

ExtractFromFCS or ExportToFCS, to read FCS and create FCS files,

DisplayGallery(), displays cells / gallery of cells in R,

ExtractImages_toFile(), extracts cells (with desired channels) to image files (tiff, png, jpeg, …),

This allows direct extraction of raw / compensated images and associated masks for all acquired channels. These images can be then easily exported to R arrays or TIFF / JPEG / PNG images. For instance, we can programmatically export images from a desired population identified in a daf file. Accessing images allows to pass them to deep learning frameworks like tensorflow (e.g. Convolutional Neural Network)

ExportToReport(), exports graphs and associated stats from analysis worksheet of files,

popsNetwork(), allows visualization in R / exports population hierarchy,

ExportToBATCH(), creates batch demand to be processed by IDEAS,

  • Other low level functions are very useful see ?IFC, for how to use them.

getInfo() for retrieving rich information about file,

objectExtract() for extracting individual image or mask within .rif or .cif file,

plotGraph() and autoplot() for displaying graphical elements of analysis worksheet,

dataadd* and datarm* functions for data object manipulation,

datatoDAF to export object manipulated in R to .daf file.

DISCLAIMER

  • You are using this package on your own risk!

  • We do not guarantee privacy nor confidentiality.

  • This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. In no event shall the copyright holders or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

GitHub Events

Total
  • Watch event: 1
  • Push event: 24
  • Create event: 1
Last Year
  • Watch event: 1
  • Push event: 24
  • Create event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 873
  • Total Committers: 3
  • Avg Commits per committer: 291.0
  • Development Distribution Score (DDS): 0.069
Past Year
  • Commits: 49
  • Committers: 1
  • Avg Commits per committer: 49.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
unknown g****t@g****m 813
unknown g****t@g****m 59
Dirk Eddelbuettel e****d@d****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 5
  • Total pull requests: 1
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 4 days
  • Total issue authors: 5
  • Total pull request authors: 1
  • Average comments per issue: 7.0
  • Average comments per pull request: 2.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 8.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wooksh (1)
  • gitdemont (1)
  • alefrol638 (1)
  • rmassei (1)
  • bavanesyan (1)
Pull Request Authors
  • eddelbuettel (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 240 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 2
  • Total versions: 10
  • Total maintainers: 1
cran.r-project.org: IFC

Tools for Imaging Flow Cytometry

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 240 Last month
Rankings
Dependent repos count: 19.2%
Forks count: 21.0%
Stargazers count: 23.6%
Average: 25.8%
Dependent packages count: 28.7%
Downloads: 36.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.4.0 depends
  • DT * imports
  • KernSmooth * imports
  • Rcpp >= 0.10.0 imports
  • RcppProgress * imports
  • grid * imports
  • gridExtra * imports
  • jpeg * imports
  • lattice * imports
  • latticeExtra * imports
  • png * imports
  • tiff * imports
  • utils * imports
  • visNetwork * imports
  • xml2 * imports
  • IFCdata * suggests
  • reticulate * suggests
  • shiny * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/deploy-cran-repo.yml actions
  • ./.actions/build-rwasm * composite
  • actions/checkout v4 composite
  • actions/deploy-pages v2 composite
  • actions/upload-pages-artifact v2 composite