Teichlab / cellphonedb

MIT License
337 stars 105 forks source link

No CellPhoneDB interacions found in this input #353

Closed poorvi4 closed 2 years ago

poorvi4 commented 2 years ago

Hi all,

I'm new to using CellphoneDB and have been encountering issues when running the command "cellphonedb method statistical_analysis --counts-data=hgnc_symbol d197_kidney_meta.txt d197_kidney_norm_counts.txt" for my kidney data.

The error that I get is: cellphonedb.src.core.exceptions.NoInteractionsFound.NoInteractionsFound: No CellPhoneDB interacions found in this input.

I've checked the format of my normalized counts matrix and metadata files and it seems fine to me. Also, the samples in the metadata are identical in name and order to the column names of my counts matrix. I tried subsampling to a single cell and I still get the same issue. I'm not sure if the above error is true or if I did something wrong when it came to saving the normalized counts. Also, I'm not sure if its due to the naming convention of my cell annotations

To note, I'm working with spatial data in Seurat following the spatial transcriptomics vignette and thus have my raw counts are stored in the 'Spatial' assay. I'm not working with single cell data rather I'm working with a gene by spot matrix. I had performed SCTransform normalization, however I went back and performed LogNormalize on the raw counts in the Spatial Assay and have been using the log-normalized counts for CellphoneDB.

Below, I've attached my compressed counts.txt file (couldnt attach it in its uncompressed format because it was too big), meta_data.txt, and the complete terminal output from the command:

d197_kidney_norm_counts.txt.gz d197_kidney_meta.txt err.log

I appreciate the help!

prete commented 2 years ago

Hi @poorvi4 thank you for using CellPhoneDB.

I got the same error with the files you provided, however, I noticed that the genes in your counts file are not capitilized, is that because this is mouse data? I changed them from lowercase to uppercase and re-run the analysis and it worked.

I suggest you make your gene names uppercase (as specified by HGNC Guidelines) or using Ensembl Stable IDs.

poorvi4 commented 2 years ago

@prete ah thank you so much! I guess since this is mouse data, I would need to provide the human orthologs in order for CellPhoneDB to work right? Or is CellphoneDB only for human ligand-receptor interactions?

prete commented 2 years ago

since this is mouse data, I would need to provide the human orthologs in order for CellPhoneDB to work right? Or is CellphoneDB only for human ligand-receptor interactions?

For the mouse dataset, people have used ortholog genes and that worked quite well. Keep in mind that CellPhoneDB has been manually curated only considering human interactions so it can't guarantee the accuracy of all interactions.

You can have a look at these other issues where it's been mentioned: #18, #166, #194

poorvi4 commented 2 years ago

Ah ok thank you so much! One final question, does the method of normalization matter i.e should the counts always be log-normalized as opposed to sctransformed?

prete commented 2 years ago

According to the FAQ, it shouldn't matter and you should be able to use any preferred method.

poorvi4 commented 2 years ago

ah ok thank you so much for the clarifications!