Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO Development Tasks #5

Open
24 of 29 tasks
jmitchell81 opened this issue May 31, 2023 · 1 comment
Open
24 of 29 tasks

TODO Development Tasks #5

jmitchell81 opened this issue May 31, 2023 · 1 comment

Comments

@jmitchell81
Copy link
Collaborator

jmitchell81 commented May 31, 2023

Overview

Task list for development priorities for domino

Intended Outcome

Serves as a central resource for highlighting developments or bugs to address and sharing them with the team who will track when these tasks are accomplished.

Task List

High priority

  • Include a differential expression method within domino to prioiritize interactions based on ligand expression
  • Disregard complex interactions when using gene ortholog conversions
  • Add example usage to all function documentation
  • build_domino fails when no TFs have a p-value below the threshold for one or more clusters.

Priority

  • Linkage based on regression analysis
  • Edit gene conversion to use first returned ortholog
  • Replace counts data with normalized expression
  • Ensure Domino classes are compliant with S4 standards https://adv-r.hadley.nz/s4.html
  • Include helper function for reformatting CellTalkDB mouse or human databases http://tcm.zju.edu.cn/celltalkdb/
  • If using a Seurat object as input data, add dependent of the Seurat package to read the active Assay
  • Clarify the formatting of the tf.activity matrix to match gene x cell formatting used in R as opposed to Python cell x gene
  • test outputs and plotting when running Domino without clustering
  • The help text for build_domino is incomplete, the description for the first 2 options is missing
  • Clarify that counts matrix must have gene names as row names for for expression checks
  • Update references to domino package name to Domino2

Plotting

CI/CD & maintenance

Complete

  • Allow alternative biomaRt mirrors for gene ortholog conversions c96a9ab
  • per-cluster checks of receptor expression 82d2a97
  • dedicated function for cellphoneDB reference processing 971d146
  • Fix hard-coded receptor expression threshold for remove_rec_dropout in create_domino() 971d146
  • AnyMatrix for class slots replaced by dgCMatrix class 518b74a
  • create_rl_map_cellphonedb function is not found after the github install of domino 518b74a
  • Ensure transcription factor targets are tracked in the domino object Issues running with current version of pySCENIC Elisseeff-Lab/domino#16 (comment) 9bbcd4a
  • Move help text for gene_conv from create_domino to create_rl_map_cellphonedb 9474d91
  • Include a check for the ellipses in the auc matrix that warns and removes the ellipses for compatibility with regular searching 679cf66
  • Include Matrix package as a dependency to use rowSums() and allow dcGMatrix sparse formats 518b74a
  • Clarify variable names "features" and "df" to "tf.activity", "regulons" 9474d91
  • Aggregate expression of genes encoding ligand complexes in the cl_signaling matrices fdda20f
  • Correct the setting the correlation of receptors in regulons to 0 679cf66
@kjkrishnan
Copy link
Collaborator

kjkrishnan commented Sep 21, 2023

A few additional things I've noticed as I put together vignettes are below. I have been using the PBMC3k data that @jmitchell81 included in the vignette with 25 TFs per cluster and 25 receptors per TF, correlation threshold 0.25 and other parameters default (in case that matters for troubleshooting).

  • gene_network plot title is not working for more than one cluster in the clust argument with no OutgoingSignalingClust
gene_network(dom, levels(dom@clusters))

results in the below output:
image


  • gene_network plot giving subscript out of bounds error if vectors of clusters are passed to clust and OutgoingSignalingClust. For example:
gene_network(dom, levels(dom@clusters), OutgoingSignalingClust = "CD16_monocyte")

outputs an error:

Error in dom@cl_signaling_matrices[[cl]][, OutgoingSignalingClust] :
subscript out of bounds


  • signaling_network gives an error requiring finite 'xlim' values when using the showIncomingSignalingClusts argument. For example, if I wanted to look at incoming signal to the CD8 T cell clusters:
signaling_network(dom, showIncomingSignalingClusts = "CD8_T_cell")

OR

signaling_network(dom, clusts = levels(dom@clusters), showIncomingSignalingClusts = "CD8_T_cell")

give an error:

Error in plot.window(...) : need finite 'xlim' values


  • circos_ligand_receptor is sometimes throwing an error at the step where expression values are obtained from cl_signaling matrices (ex. LILRB2). However, this is inconsistent. For example,
circos_ligand_receptor(dom, receptor = "CD74", cell_colors = cols)

gives output:
image
but

circos_ligand_receptor(dom, receptor = "LILRB2", cell_colors = cols)

gives error:

Error in data.frame(origin = paste0(cell_names, "-", l), destination = receptor, :
arguments imply differing number of rows: 9, 1, 0


I am not sure to what extent these are usage issues on my end (in which case, we should adjust the function documentation to be more precise about what is or isn't allowed, and maybe include more informative error messages as well), but these are all examples of functionality I would expect to work (ie, I wasn't trying to break anything on purpose), so I figure we should look into that. @snag-gh let me know if you need more information or reproducible examples!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants