This is a test version of Biostars. For the public version, visit https://www.biostars.org.
R - GOSemSim - mgeneSim / In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'

I have the entrez IDs of 100 proteins and I have put them in a list and trying to use R's mgeneSim function from the GOSemSim package, but I am getting the following error:

> mgeneSim(protein_id_list, organism="human")

<0 x 0 matrix>
There were 50 or more warnings (use warnings() to see the first 50)
> warnings()
Warning messages:
1: In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'
2: In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'
3: In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'

The contents of the list are:

> protein_id_list

  [1] "O14757" "P49760" "P07333" "P48729" "O43293" "Q13627" "P11362" "P17948" "P36888" "P06241" "P49840" "P49841"
 [13] "P08069" "O60674" "P52333" ...

Even the following code fails:

mgeneSim(c("Q9Y243", "P06213"))

Warning messages:
1: In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'
2: In is.na(go) : is.na() applied to non-(list or vector) of type 'NULL'
r gosemsim mgenesim

1 answer

Read the docs. The input to mgeneSim should be a list of Entrez gene IDs. You're using UniProt accession numbers.

Thanks, I had read the manual! But my mistake was that I didn't realize I was using UNIPROT IDs. I converted them to Entrez Gene IDs using bitr('P08069', 'UNIPROT', 'ENTREZID') function and then my code worked perfectly fine.

Log in to answer this question.