Giter VIP home page Giter VIP logo

csbl-usp / fcoex Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 4.0 9.48 MB

The fcoex package implements an easy-to use interface to co-expression analysis based on the FCBF (Fast Correlation-Based Filter) algorithm. it was implemented especifically to deal with single-cell data. The modules found can be used to redefine cell populations, unrevel novel gene associations and predict gene function by guilt-by-association. The package structure is based on the CEMiTool package.

R 100.00%

fcoex's Introduction

fcoex

A package for FCBF-based coexpression analysis of single cell data.

The fcoex package implements an easy-to use interface to co-expression analysis based on the FCBF (Fast Correlation-Based Filter) algorithm. The package structure is adapted from the CEMiTool package, relying on visualizations and code designed and written by CEMiTool's authors.

Installing the package

Bioconductor

fcoex is now on Bioconductor (https://bioconductor.org/packages/fcoex/)

To install it, just run:`


if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install(version='devel')

BiocManager::install("fcoex")

Development version

It is also possible to install the current, development version from source code using devtools.

Modifications from version on Bioconductor:

  • fc@adjacency returned previously a trimmed version of the adjacency matrix. Now it returns a full, weighted adjacency matrix.
  • fc@adjacency_trimmed now returns the trimmed adjacency matrix.

install.packages(devtools)
devtools::install_github(repo = "csbl-usp/fcoex", ref="devel")

fcoex's People

Contributors

lubianat avatar nturaga avatar csbl-usp avatar

Stargazers

Yang Eric Li avatar kento avatar  avatar John avatar Vini Salazar avatar

Watchers

James Cloos avatar  avatar

fcoex's Issues

Adjacent vertices

I am interested in a specific gene in the module and its most correlated neighbors.
I would like to know if there is a way of getting all adjacent vertices for a particular gene in a module?
I check in the object but the 'fc@coex_network_plot$SLC1A2$data' seems to not contain that information.

Moreover how are defined the degree in that dataframe?
Because when I plot the related network the degrees don't match the number of edge connecting vertices.

Best,
Andy

mod_ora(fc, gmt_in)

I am trying to run:

fc <- mod_ora(fc, gmt_in)

Error in (function (classes, fdef, mtable) :
unable to find an inherited method for function ‘mod_ora’ for signature ‘"fcoex"’

It is the same for my and mini_pbmc dataset

'gpar' element 'lwd' must not be length 0 when trying to plot the diagram?

Hi, it's me again.

I had successfully ran this a few days ago, but forgot to save the plotted diagrams. It doesn't seem to be working now. I did change computers, but would still like to do some troubleshooting.

The problem is in show_net, although it's possible to have come up earlier since I have loaded a previously-generated fc .RData

show_net(fc)[["TYROBP"]]
Error in check.length(gparname) : 
  'gpar' element 'lwd' must not be length 0

On googling, this seems to have something to do with Pheatmap, ggplot2, or even grid-gpar?

I have re-installing the Pheatmap package manually, it did not solve this issue.

Have you encountered this before? If so, what was the solution?

UPDATE 1:

This is strange, I just tried again on yet another computer, but this time I'm getting a different error:

Error in valid.units(units) : Invalid unit

UPDATE 2:
Went back to the original computer, and it plotted fine. The biggest apparent difference is that this original computer (all parts run) is on Ubuntu, while the other 2 throwing errors are on Windows 10.

Intra-cluster Co-Expression modules/networks possible?

Hi again, I was just wondering about intra-cluster modules/networks. The default uses clusters as target, and wouldn't run without this.

I realise the package is already in very late stages of development, and this may be out of scope entirely, so any discussion on alternative ideas would be greatly appreciated.

I don't know the underlying code, so I would assume that the target is essential to the method, and cannot be skipped? In this case, I think maybe supply intra-cluster targets, for example running Louvain again on a subsetted cluster?

Do you think this would be a good idea? Or have any other alternatives I should consider?

Easier way to access anti-correlation data?

Hi again, I was going through the vignette and found the anti-correlation part, which is quite exciting.

However, it seems to require re-clustering with Seurat.

I checked in fc@adjacency, and there are no negative values (typically used to convey anti-correlation edges).

Are anti-correlations even found at this stage (I think find_cbf_modules)?

fcoex vs CEMiTool?

Hi Authors, couldn't seem to find any article publication introducing fcoex, and the Readme is rather brief.

Would just like to know what are the novelties or shortcomings addressed by fcoex over CEMiTools? Or any other pros/cons users should be aware of?

Just a quick text summary would be appreciated. Thanks!

Significance of Module Name and Network Edge distances?

Hi, I'm sorry to be bothering again.

I realise you'll probably have these details in your final publication, but I am keen to already be using this tool. I have 2 further questions:

  1. I was just wondering how Genes are selected to be the "Names" of each module, is it something like centrality? Or some other metric?

  2. Is there any significance in the distance between nodes (length of edges)? I noticed some plots have one tight cluster with surrounding sparse nodes. Or is this purely for aesthetics?

error in save_plots: plots unavailable!

Copying an issue sent by e-mail.

When running:

save_plots(name = "75percent_10clusters", fc, force = T)

I get the following message:

Some plots have not been defined. Please run the appropriate plot functions. Saving available plots.

$MSGN1

(...)

$DLX3B NULL

$ASPH NULL

[[1]] null device
`

It is not clear to me why the plots are not generated. Restarting R does not help, for example.

Prepare for upcoming Seurat v5 release

I am opening this issue as a notification because fcoex is listed here as a package that relies (depends/imports/suggests) on Seurat. As you may know, we recently released Seurat v5 as a beta in March of this year, with new updates for spatial, multimodal, and massively scalable analysis. For more information on updates and improvements, check out our website https://satijalab.org/seurat/.
We are now preparing to release Seurat v5 to CRAN, and plan to submit it on October 23rd. While we have tried our best to keep things backward-compatible, it is possible that updates to Seurat and SeuratObject might break your existing functionality or tests. We wanted to reach out before the new version is on CRAN, so that there's time to report issues/incompatibilities and prepare you for any changes in your code base that might be necessary.

We apologize for any disruption or inconvenience, but hope that the improvements to Seurat v5 will benefit your users going forward.
To test the upcoming release, you can install Seurat from the seurat5 branch using the instructions available on this page: https://satijalab.org/seurat/articles/install.

Thank you!
Seurat v5 team

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.