I want to get a bed file mapping human protein domains to the human genome. UniProt actually offers such a thing here. The problem, however, is that the file doesn't include any kind of domain accession, so I have no way of knowing exactly what domain this is. For example:
$ grep P30443 UP000005640_9606_domain.bed | sed -E 's/\t+/ /g' chr6 29933668 29933929 P30443 0 + 29933668 29933929 153,153,255 1 261 0 . P209-T295; Ig-like C1-type chr6 29936281 29936542 P30443 0 + 29936281 29936542 153,153,255 1 261 0 . P209-T295; Ig-like C1-type
This tells me there's a "Ig-like C1-type" domain at positions 209-295 of the protein. But what is this domain?
The UniProt page for this protein doesn't add any more information:
I thought they might be using the official description of the domain from PFam. However, there is no such domain in PFam as far as I can tell. I downloaded the full PFam annotation of SwissProt from PFam's FTP site and searched for P30443:
$ zgrep -A4 P30443 swisspfam.gz | sed -E 's/ */ /g; s/[-=_]+//g' >1A01HUMAN || P30443.1 365 a.a. C1set 1 (5782) PF07654.14 Immunoglobulin C1-set domain 210290 MHCI 1 (1847) PF00129.17 Class I Histocompatibility antigen, domains alpha 1 and 2 25203 MHCIC 1 (439) PF06623.10 MHCI Cterminus 337364
This tells me there is a "Immunoglobulin C1-set domain" at 210-290. So both the coordinates and the domain "name" are different.
I also checked the
Pfam-A.regions.uniprot.tsv.gz file available here. This one had:
$ zgrep P30443 Pfam-A.regions.uniprot.tsv.gz | sed -E 's/\t+/ /g' P30443 1 8667AFF3F06C4932 d5f7ef1d93bd6e2e0ca1f7b3477ffb67 PF07654 210 290
This gives me a PFam accession (PF07654) but, once more, I can't use this to go back to the bed file because the coordinates are different.
I hoped I could figure this out using the SwissProt flat files, but no luck there either. These are the relevant lines from the entry for P30443:
ID 1A01_HUMAN Reviewed; 365 AA. AC P30443; O77964; O78171; Q9MYA3; Q9TP25; Q9TQP5; [. . .] DR InterPro; IPR021157; Cyt_c1_TM_anchor_C. DR InterPro; IPR007110; Ig-like_dom. DR InterPro; IPR036179; Ig-like_dom_sf. DR InterPro; IPR013783; Ig-like_fold. DR InterPro; IPR003006; Ig/MHC_CS. DR InterPro; IPR003597; Ig_C1-set. DR InterPro; IPR011161; MHC_I-like_Ag-recog. DR InterPro; IPR037055; MHC_I-like_Ag-recog_sf. DR InterPro; IPR011162; MHC_I/II-like_Ag-recog. DR InterPro; IPR001039; MHC_I_a_a1/a2. DR InterPro; IPR010579; MHC_I_a_C. DR Pfam; PF07654; C1-set; 1. DR Pfam; PF00129; MHC_I; 1. DR Pfam; PF06623; MHC_I_C; 1. DR PRINTS; PR01638; MHCCLASSI. DR SMART; SM00407; IGc1; 1. DR SUPFAM; SSF48726; SSF48726; 1. DR SUPFAM; SSF54452; SSF54452; 1. DR PROSITE; PS50835; IG_LIKE; 1. DR PROSITE; PS00290; IG_MHC; 1. FT DOMAIN 209 295 Ig-like C1-type.
So, while it does have this domain, uses the same "name" and coordinates I had in the bed file ("Ig-like C1-type"), and it has the relevant PFam accession (PF07654), there's no way to link the
FT line with "Ig-like C1-type" to the relevant PFam accession.
I even tried using ProSite and downloaded
prosite.dat from here. This one has yet another "name" for the domain:
AC PS50835; DT 01-MAY-2003 CREATED; 10-MAY-2017 DATA UPDATE; 20-DEC-2017 INFO UPDATE. DE Ig-like domain profile.
Finally, I had hoped I could use the coordinates given in the bed file to map but since those aren't the same as those I find in the various PFam files, I'm stumped.
Is there any way to map the domain names given in the UniProt bed files to specific domains (either PFam, or PROSITE or anything else) so that I can know exactly what domain is annotated there?
Update: After jumping through various hoops using the files mentioned above, I have managed to map only 701 domain names which leaves me with 2764 unmapped.