I'm working with UniProtKB and would like to get the genomic coordinates of list of proteins. To my knowledge, the first step is to retrieve the mapping between uniprot and ensembl via biomaRt:
annotLookup <- getBM( mart = mart, attributes = c( 'ensembl_gene_id', 'uniprot_gn_symbol', 'uniprot_gn_id', 'chromosome_name'), uniqueRows=TRUE)
However, the uniprot id doesn't always exist! So, alternatively I used the gene name. Although that the protein was then found, it has, however, different uniprot id.
For control, I used ID mapping from uniprot to double check, both biomaRt and ID mapping agreed on the same ensembl id. This indeed indicates that here must be a correct mapping between these two.
My question obviously is, how can I map the uniprot id correctly to the ensembl id?