scDblFinder
salmon
scDblFinder | salmon | |
---|---|---|
1 | 1 | |
139 | 742 | |
- | 1.9% | |
6.0 | 4.1 | |
14 days ago | 12 days ago | |
R | C++ | |
GNU General Public License v3.0 only | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scDblFinder
-
Are there any methods for doublet deconvolution?
The scDblFinder method identifies doublets by combining singlet profiles to generate artificial doublets, then finding the nearest neighbors to those artificial profiles. You could use this approach to deconvolve your doublets, inferring that the two cells in the actual observed doublet are of the same cell types as those used to generate the nearest artificial doublet profile.
salmon
-
Why should academic researchers use Rust?
Rust makes distribution and maintenance near trivial. My lab develops a fairly widely-used tool, salmon, for the quantification of transcript expression from RNA-seq data. This tool is written in C++14, and has a substantial number of dependencies. The process of updating the tool (e.g. bumping dependencies) and cutting a new release is painful. To maintain widespread availability, we distribute this tool using bioconda which uses it's own CI and setup to build new releases for (in our case) Linux and MacOS. Things break all the time. For example, recently, they bumped the compiler used to build packages. This changed some default "implementation defined" behavior, causing previously functioning code to fail. We didn't find this locally, because we didn't test that specific compiler version. When we tried to release a new version, we had to go back and fix things etc. This is not just because different compilers exist, but because the C++ specification is soooo complicated and the set of undefined and implementation defined behavior is sooo broad that it's very brittle and it's easy for things to "break" via bitrot. However, the stability provided by Rust has been phenomenal so far. In our code, we only use stable Rust features, and we have benefited tremendously from the empirical guarantee that valid Rust code (except in exceptional cases like latent bugs in the language) will remain valid. While not all crates follow it religiously, there is a reasonable respect for semantic versioning. Thus, cutting a new release of one of our Rust tools is often as simple as just updating the Cargo.toml (and Cargo.lock in the case of applications), tagging a new release in GitHub, and letting the bioconda CI do it's business with the tagged artifacts. The build "scripts" are almost always trivial because the builds just work, across platforms, across CIs, etc. Now, new projects like cargo dist look like they make this process even simpler.
What are some alternatives?
awesome-single-cell - Community-curated list of software packages and data resources for single-cell, including RNA-seq, ATAC-seq, etc.
rnaseq - RNA-seq analyses.
rnaseqc - Fast, efficient RNA-Seq metrics for quality control and process optimization
noson-app - The essential to control music from your SONOS devices on Linux platforms
gEAR - The gEAR Portal was created as a data archive and viewer for gene expression data including microarrays, bulk RNA-Seq, single-cell RNA-Seq and more.
IntaRNA - Efficient target prediction incorporating accessibility of interaction sites
nanopolish - Signal-level algorithms for MinION data
mixcr - MiXCR is an ultimate software platform for analysis of Next-Generation Sequencing (NGS) data for immune profiling.
mirdeep2 - Discovering known and novel miRNAs from small RNA sequencing data