[BioC] Quickest way to convert IDs in a data frame?
Enrico Ferrero
enricoferrero86 at gmail.com
Thu Jul 25 23:06:22 CEST 2013
Hi,
Hervé, that's exactly what I'm trying to say.
Attached to this email is a tab delimited file with two columns of
GeneSymbols (or Aliases), and here is some simple code to reproduce
the unexpected behaviour:
library(org.Hs.eg.db)
mydf <- read.table("testdata.txt", sep="\t", header=TRUE, as.is=TRUE)
mytest <- select(org.Hs.eg.db, key=mydf$GeneSymbol1, keytype="ALIAS",
cols=c("SYMBOL","ENTREZID","ENSEMBL"))
# check that mytest has less rows than mydf
nrow(mydf)
nrow(mytest)
# pick a random row: they don't match
mydf[250,]
mytest[250,]
Ideally, mytest should have the same number and position of rows of
mydf so that I can then cbind them.
If mytest has more rows because of multiple mappings that's also fine:
I can always use merge(mydf, mytest), right?
Thanks a lot to both for your help, it's very appreciated.
Best,
On 25 July 2013 21:32, Hervé Pagès <hpages at fhcrc.org> wrote:
> Hi Enrico,
>
>
> On 07/25/2013 01:20 PM, James W. MacDonald wrote:
>>
>> Hi Enrico,
>>
>> Please don't take things off-list (e.g., use reply-all).
>>
>>
>> On 7/25/2013 2:17 PM, Enrico Ferrero wrote:
>>>
>>> Hi James,
>>>
>>> Thanks very much for your help.
>>> There is an issue that needs to be solved before thinking about what's
>>> the best approach in my opinion.
>>>
>>> I don't understand why, but the object created with the call to select
>>> (test in my example, first.two in yours) has a different number of
>>> rows from the original object (df in my example). Specifically it has
>>> *less* rows.
>
>
> I'm surprised it has less rows. It can definitely have more, when some
> of the keys passed to select() are mapped to more than 1 row, but my
> understanding was that select() would propagate unmapped keys to the
> output by placing them in rows stuffed with NAs. So maybe I
> misunderstood how select() works, or its behavior was changed, or
> there is a bug somewhere. Could you please send the code that allows
> us to reproduce this? Thanks.
>
> H.
>
>
>> If all symbols were converted to all possible Entrez IDs,
>>>
>>> I would expect it to have more rows, not less. To me, it looks like
>>> not all rows are looked up and returned.
>>>
>>> Do you see what I mean?
>>
>>
>> Sure. You could be using outdated gene symbols. Or perhaps you are using
>> a mixture of symbols and aliases. Which is even cooler than just all
>> symbols:
>>
>> > symb <- c(Rkeys(org.Hs.egSYMBOL)[1:10],
>> Rkeys(org.Hs.egALIAS2EG)[31:45])
>> > symb
>> [1] "A1BG" "A2M" "A2MP1" "NAT1" "NAT2" "AACP"
>> [7] "SERPINA3" "AADAC" "AAMP" "AANAT" "AAMP" "AANAT"
>> [13] "DSPS" "SNAT" "AARS" "CMT2N" "AAV" "AAVS1"
>> [19] "ABAT" "GABA-AT" "GABAT" "NPD009" "ABC-1" "ABC1"
>> [25] "ABCA1"
>> > select(org.Hs.eg.db, symb, "ENTREZID","SYMBOL")
>> SYMBOL ENTREZID
>> 1 A1BG 1
>> 2 A2M 2
>> 3 A2MP1 3
>> 4 NAT1 9
>> 5 NAT2 10
>> 6 AACP 11
>> 7 SERPINA3 12
>> 8 AADAC 13
>> 9 AAMP 14
>> 10 AANAT 15
>> 11 AAMP 14
>> 12 AANAT 15
>> 13 DSPS <NA>
>> 14 SNAT <NA>
>> 15 AARS 16
>> 16 CMT2N <NA>
>> 17 AAV <NA>
>> 18 AAVS1 17
>> 19 ABAT 18
>> 20 GABA-AT <NA>
>> 21 GABAT <NA>
>> 22 NPD009 <NA>
>> 23 ABC-1 <NA>
>> 24 ABC1 <NA>
>> 25 ABCA1 19
>> > select(org.Hs.eg.db, symb, "ENTREZID","ALIAS")
>> ALIAS ENTREZID
>> 1 A1BG 1
>> 2 A2M 2
>> 3 A2MP1 3
>> 4 NAT1 9
>> 5 NAT1 1982
>> 6 NAT1 6530
>> 7 NAT1 10991
>> 8 NAT2 10
>> 9 NAT2 81539
>> 10 AACP 11
>> 11 SERPINA3 12
>> 12 AADAC 13
>> 13 AAMP 14
>> 14 AANAT 15
>> 15 DSPS 15
>> 16 SNAT 15
>> 17 AARS 16
>> 18 CMT2N 16
>> 19 AAV 17
>> 20 AAVS1 17
>> 21 ABAT 18
>> 22 GABA-AT 18
>> 23 GABAT 18
>> 24 NPD009 18
>> 25 ABC-1 19
>> 26 ABC1 19
>> 27 ABC1 63897
>> 28 ABCA1 19
>> Warning message:
>> In .generateExtraRows(tab, keys, jointype) :
>> 'select' and duplicate query keys resulted in 1:many mapping between
>> keys and return rows
>> > mget(c("1982","6530","10991"), org.Hs.egGENENAME)
>> $`1982`
>> [1] "eukaryotic translation initiation factor 4 gamma, 2"
>>
>> $`6530`
>> [1] "solute carrier family 6 (neurotransmitter transporter,
>> noradrenalin), member 2"
>>
>> $`10991`
>> [1] "solute carrier family 38, member 3"
>>
>> Best,
>>
>> Jim
>>
>>>
>>> On 25 July 2013 18:17, James W. MacDonald<jmacdon at uw.edu> wrote:
>>>>
>>>> Hi Enrico,
>>>>
>>>>
>>>> On 7/25/2013 12:56 PM, Enrico Ferrero wrote:
>>>>>
>>>>> Dear James,
>>>>>
>>>>> Thanks very much for your prompt reply.
>>>>> I knew the problem was the for loop and the select function is indeed
>>>>> a lot faster than that and works perfectly with toy data.
>>>>>
>>>>> However, this is what happens when I try to use it with real data:
>>>>>
>>>>>> test<- select(org.Hs.eg.db, keys=df$GeneSymbol, keytype="ALIAS",
>>>>>> cols=c("SYMBOL","ENTREZID","ENSEMBL"))
>>>>>
>>>>> Warning message:
>>>>> In .generateExtraRows(tab, keys, jointype) :
>>>>> 'select' and duplicate query keys resulted in 1:many mapping
>>>>> between
>>>>> keys and return rows
>>>>>
>>>>> which is probably the warning you mentioned.
>>>>
>>>>
>>>> That's not the warning I mentioned, but it does point out the same
>>>> issue,
>>>> which is that there is a one to many mapping between symbol and
>>>> entrez gene
>>>> ID.
>>>>
>>>> So now you have to decide if you want to be naive (or stupid,
>>>> depending on
>>>> your perspective) or not. You could just cover your eyes and do this:
>>>>
>>>> first.two<- first.two[!duplicated(first.two$SYMBOL),]
>>>>
>>>> which will choose for you the first symbol -> gene ID mapping and
>>>> nuke the
>>>> rest. That's nice and quick, but you are making huge assumptions.
>>>>
>>>> Or you could decide to be a bit more sophisticated and do something like
>>>>
>>>> thelst<- tapply(1:nrow(first.two), first.two$SYMBOL, function(x)
>>>> first.two[x,])
>>>>
>>>> At this point you can take a look at e.g., thelst[1:10] to see what
>>>> we just
>>>> did
>>>>
>>>> thelst<- do.call("rbind", lapply(thelst, function(x) c(x[1,1],
>>>> paste(x[,2],
>>>> collapse = "|")))
>>>>
>>>> and here you can look at head(thelst).
>>>>
>>>> Then you can check to ensure that the first column of thelst is
>>>> identical to
>>>> the first column of df, and proceed as before.
>>>>
>>>> But there is still the problem of the multiple mappings. As an example:
>>>>
>>>>> thelst[1:5]
>>>>
>>>> $HBD
>>>> SYMBOL ENTREZID
>>>> 2535 HBD 3045
>>>> 2536 HBD 100187828
>>>>
>>>> $KIR3DL3
>>>> SYMBOL ENTREZID
>>>> 17513 KIR3DL3 115653
>>>> 17514 KIR3DL3 100133046
>>>>
>>>>> mget(as.character(thelst[[1]][,2]), org.Hs.egGENENAME)
>>>>
>>>> $`3045`
>>>> [1] "hemoglobin, delta"
>>>>
>>>> $`100187828`
>>>> [1] "hypophosphatemic bone disease"
>>>>
>>>>> mget(as.character(thelst[[2]][,2]), org.Hs.egGENENAME)
>>>>
>>>> $`115653`
>>>> [1] "killer cell immunoglobulin-like receptor, three domains, long
>>>> cytoplasmic tail, 3"
>>>>
>>>> $`100133046`
>>>> [1] "killer cell immunoglobulin-like receptor three domains long
>>>> cytoplasmic
>>>> tail 3"
>>>>
>>>>
>>>> So HBD is the gene symbol for two different genes! If this gene
>>>> symbol is in
>>>> your data, you will now have attributed your data to two genes that
>>>> apparently are not remotely similar. if KIR3DL3 is in your data, then it
>>>> worked out OK for that gene.
>>>>
>>>> Best,
>>>>
>>>> Jim
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> The real problem is that the number of rows is now different for the 2
>>>>> objects:
>>>>>>
>>>>>> nrow(df); nrow(test)
>>>>>
>>>>> [1] 573
>>>>> [1] 201
>>>>>
>>>>> So I obviously can't put the new data into the original df. My
>>>>> impression is that when the 1 to many mapping arises, the select
>>>>> functions exits, with that warning message. As a result, my test
>>>>> object is incomplete.
>>>>>
>>>>> On top of that, and I can't really explain this, the row positions are
>>>>> messed up, e.g.
>>>>>
>>>>>> all.equal(df[100,],test[100,])
>>>>>
>>>>> returns FALSE.
>>>>>
>>>>> How can I work around this?
>>>>>
>>>>> Thanks a lot!
>>>>>
>>>>> Best,
>>>>>
>>>>> On 25 July 2013 16:58, James W. MacDonald<jmacdon at uw.edu> wrote:
>>>>>>
>>>>>> Hi Enrico,
>>>>>>
>>>>>>
>>>>>> On 7/25/2013 11:35 AM, Enrico Ferrero wrote:
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I often have data frames where I need to perform ID conversions on
>>>>>>> one
>>>>>>> or
>>>>>>> more of the columns while preserving the order of the rows, e.g.:
>>>>>>>
>>>>>>> GeneSymbol Value1 Value2
>>>>>>> GS1 2.5 0.1
>>>>>>> GS2 3 0.2
>>>>>>> ..
>>>>>>>
>>>>>>> And I want to obtain:
>>>>>>>
>>>>>>> GeneSymbol EntrezGeneID Value1 Value2
>>>>>>> GS1 EG1 2.5 0.1
>>>>>>> GS2 EG2 3 0.2
>>>>>>> ..
>>>>>>>
>>>>>>> What I've done so far was to create a function that uses
>>>>>>> org.Hs.eg.db to
>>>>>>> loop over the rows of the column and does the conversion:
>>>>>>>
>>>>>>> library(org.Hs.eg.db)
>>>>>>> alias2EG<- function(x) {
>>>>>>> for (i in 1:length(x)) {
>>>>>>> if (!is.na(x[i])) {
>>>>>>> repl<- org.Hs.egALIAS2EG[[x[i]]][1]
>>>>>>> if (!is.null(repl)) {
>>>>>>> x[i]<- repl
>>>>>>> }
>>>>>>> else {
>>>>>>> x[i]<- NA
>>>>>>> }
>>>>>>> }
>>>>>>> }
>>>>>>> return(x)
>>>>>>> }
>>>>>>
>>>>>>
>>>>>> I should first note that gene symbols are not unique, so you are
>>>>>> taking a
>>>>>> chance on your mappings. Is there no other annotation for your data?
>>>>>>
>>>>>> In addition, you should note that it is almost always better to
>>>>>> think of
>>>>>> objects as vectors and matrices in R, rather than as things that
>>>>>> need to
>>>>>> be
>>>>>> looped over (e.g., R isn't Perl or C).
>>>>>>
>>>>>> first.two<- select(org.Hs.eg.db, as.character(df$GeneSymbol),
>>>>>> "ENTREZID",
>>>>>> "SYMBOL")
>>>>>>
>>>>>> Note that there used to be a warning or an error (don't remember
>>>>>> which)
>>>>>> when
>>>>>> you did something like this, stating that gene symbols are not unique,
>>>>>> and
>>>>>> that you shouldn't do this sort of thing. Apparently this warning has
>>>>>> been
>>>>>> removed, but the issue remains valid.
>>>>>>
>>>>>> ## check yourself
>>>>>>
>>>>>> all.equal(df$GeneSymbol, first.two$SYMBOL)
>>>>>>
>>>>>> ## if true, proceed
>>>>>>
>>>>>> df<- data.frame(first.two, df[,-1])
>>>>>>
>>>>>> Best,
>>>>>>
>>>>>> Jim
>>>>>>
>>>>>>
>>>>>>
>>>>>>> and then call the function like this:
>>>>>>>
>>>>>>> df$EntrezGeneID<- alias2GS(df$GeneSymbol)
>>>>>>>
>>>>>>> This works well, but gets very slow when I need to do multiple
>>>>>>> conversions
>>>>>>> on large datasets.
>>>>>>>
>>>>>>> Is there any way I can achieve the same result but in a quicker, more
>>>>>>> efficient way?
>>>>>>>
>>>>>>> Thank you.
>>>>>>>
>>>>>> --
>>>>>> James W. MacDonald, M.S.
>>>>>> Biostatistician
>>>>>> University of Washington
>>>>>> Environmental and Occupational Health Sciences
>>>>>> 4225 Roosevelt Way NE, # 100
>>>>>> Seattle WA 98105-6099
>>>>>>
>>>>>
>>>> --
>>>> James W. MacDonald, M.S.
>>>> Biostatistician
>>>> University of Washington
>>>> Environmental and Occupational Health Sciences
>>>> 4225 Roosevelt Way NE, # 100
>>>> Seattle WA 98105-6099
>>>>
>>>
>>>
>>
>
> --
> Hervé Pagès
>
> Program in Computational Biology
> Division of Public Health Sciences
> Fred Hutchinson Cancer Research Center
> 1100 Fairview Ave. N, M1-B514
> P.O. Box 19024
> Seattle, WA 98109-1024
>
> E-mail: hpages at fhcrc.org
> Phone: (206) 667-5791
> Fax: (206) 667-1319
--
Enrico Ferrero
PhD Student
Steve Russell Lab - Department of Genetics
FlyChip - Cambridge Systems Biology Centre
University of Cambridge
e.ferrero at gen.cam.ac.uk
http://flypress.gen.cam.ac.uk/
-------------- next part --------------
GeneSymbol1 GeneSymbol2
HTR1A NA
HTR1B NA
HTR1D NA
HTR1E NA
HTR1F NA
HTR2A NA
HTR2B NA
HTR2C NA
NA NA
HTR4 NA
HTR5A NA
HTR5BP NA
HTR6 NA
HTR7 NA
ALOX5 ALOX5AP
ALOX5 NA
ADCY5 NA
ACACA NA
ACACB NA
SLC33A1 NA
ADA NA
ADK NA
SLC1A5 NA
GABRA1 NA
CHRNA1 NA
GLRA1 NA
CHRNA10 NA
GABRA2 NA
GLRA2 NA
CHRNA2 NA
GABRA3 NA
GLRA3 NA
CHRNA3 NA
GABRA4 NA
CHRNA4 NA
GABRA5 NA
CHRNA5 NA
GABRA6 NA
CHRNA6 NA
CHRNA7 NA
CHRNA9 NA
ADRA1D NA
ADRA1B NA
ADRA2A NA
ADRA2B NA
ADRA2C NA
NA ADM
NA ADM2
NA CALCA
NA CALCB
NA IAPP
AKR1B1 NA
ACE NA
ACE2 NA
APLNR APLN
APLNR NA
TNPO1 NA
AQP1 NA
AQP10 NA
AQP2 NA
AQP3 NA
AQP5 NA
AQP6 NA
AQP7 NA
AQP8 NA
ASIC1 NA
ASIC2 NA
ASIC3 NA
ADORA1 NA
ADORA2A NA
ADORA2B NA
ADORA3 NA
SLC6A14 NA
AGTR1 AGT
AGTR1 NA
AGTR2 AGT
AGTR2 NA
AXL GAS6
AXL PROS1
SLC12A2 NA
NMBR NA
NMBR GRP
NMBR NMB
GRPR NA
GRPR GRP
GRPR NMB
BRS3 NA
GLRB NA
GABRB1 NA
GABRB2 NA
GABRB3 NA
ADRB1 NA
ADRB2 NA
ADRB3 NA
SLC6A12 NA
LTB4R NA
LTB4R2 NA
BDKRB1 KNG1
BDKRB1 NA
BDKRB2 KNG1
BDKRB2 NA
C3AR1 C3
C3AR1 NA
C5AR1 NA
C5AR1 C5
C5AR1 RPS19
C5AR2 C5
C5AR2 NA
ANO1 NA
NA CALM2
CASP1 NA
CASP2 NA
CASP3 NA
CASP5 NA
CASP6 NA
CASP8 NA
CASP9 NA
CASR NA
CACNA1S NA
CACNA1C NA
CACNA1D NA
CACNA1F NA
CACNA1A NA
CACNA1B NA
CACNA1E NA
CACNA1G NA
CACNA1H NA
CACNA1I NA
CATSPER1 NA
CNR1 NA
CNR2 NA
CCKAR NA
CCKBR NA
CCKBR CCK
CCR1 CCL13
CCR1 CCL8
CCR1 NA
CCR1 CCL14
CCR1 CCL15
CCR1 CCL23
CCR1 CCL3
CCR1 CCL5
CCR1 CCL7
CCR1 CCL4
CCBP2 CCL27
CCBP2 ENC1
CCR2 NA
CCR2 CCL11
CCR2 CCL13
CCR2 CCL16
CCR2 CCL2
CCR2 CCL7
CCR2 CCL8
CCR2 CCL24
CCR2 CCL26
CCR3 NA
CCR3 CCL13
CCR3 CCL15
CCR3 CCL2
CCR3 CCL24
CCR3 CCL26
CCR3 ENC1
CCR3 CCL5
CCR3 CCL7
CCR3 CCL8
CCR3 CCL11
CCR3 CXCL10
CCR3 CXCL11
CCR3 CXCL9
CCR4 NA
CCR4 CCL17
CCR4 CCL22
CCR5 NA
CCR5 CCL11
CCR5 CCL13
CCR5 CCL14
CCR5 CCL16
CCR5 CCL2
CCR5 CCL3
CCR5 CCL4
CCR5 CCL5
CCR5 CCL8
CCR5 CCL7
CCR6 DEFB4A
CCR6 CCL20
CCR6 NA
CCR7 CCL19
CCR7 CCL21
CCR7 NA
CCR8 CCL17
CCR8 CCL1
CCR8 CCL16
CCR8 CCL4
CCR8 NA
CCBP2 CCL25
CCBP2 NA
CCRL2 NA
CCRL2 CCL19
CFTR NA
CMKLR1 NA
CMKLR1 RARRES2
SLC44A1 NA
SLC5A7 NA
CNTFR CNTF
NA CNTF
CLCN1 NA
CLCN2 NA
CLCN3 NA
CLCN4 NA
CLCN6 NA
CLCN7 NA
CLCNKA NA
CLCNKB NA
MERTK GAS6
CNGA1 NA
CNGA3 NA
CSF1R CSF3
CSF1R CSF2
CSF1R CSF1
CSF2RA CSF2
NR1I3 NA
PTGS1 NA
PTGS2 NA
CRHR1 CRH
CRHR1 NA
CRHR1 UCN
CRHR1 UTS2
CRHR2 CRH
CRHR2 NA
CRHR2 UCN
CRHR2 UTS2
CRHR2 UCN3
CALCR ADM
CALCR ADM2
CALCR CALCA
CALCR IAPP
CALCR CALCB
CALCR NA
GJC3 NA
GJB7 NA
GJB2 NA
GJB6 NA
GJB4 NA
GJB3 NA
GJB5 NA
GJD3 NA
GJB1 NA
GJD2 NA
GJA4 NA
GJA5 NA
GJD4 NA
GJA1 NA
GJC1 NA
GJA3 NA
GJC2 NA
GJA8 NA
GJA9 NA
CXCR1 YARS
CXCR1 CXCL1
CXCR1 CXCL6
CXCR1 IL8
CXCR1 NA
CXCR2 NA
CXCR2 CXCL1
CXCR2 CXCL2
CXCR2 CXCL3
CXCR2 CXCL5
CXCR2 CXCL6
CXCR2 PPBP
CXCR2 IL8
CXCR3 CCL11
CXCR3 CCL13
CXCR3 CCL19
CXCR3 CCL20
CXCR3 CCL5
CXCR3 CCL7
CXCR3 CXCL10
CXCR3 CXCL11
CXCR3 CXCL9
CXCR3 CXCL12
CXCR3 NA
CXCR4 NA
CXCR4 CXCL12
CXCR5 CXCL13
CXCR6 CXCL16
CXCR6 NA
CXCR7 NA
CXCR7 CXCL12
CX3CR1 CX3CL1
CX3CR1 NA
CYSLTR1 NA
CYSLTR2 NA
CBS NA
CTH NA
SLC6A3 NA
GABRD NA
OPRD1 NA
OPRD1 POMC
OPRD1 PDYN
OPRD1 PENK
NAPEPLD NA
DAGLA NA
DPEP1 NA
MVD NA
PTGDR NA
PTGDR2 NA
DRD1 NA
DRD2 NA
DRD3 NA
DRD4 NA
DRD5 NA
NT5E NA
ECE1 NA
EGFR AREG
EGFR BTC
EGFR EGF
EGFR EPGN
EGFR EREG
EGFR HBEGF
EGFR TGFA
GABRE NA
PTGER1 NA
PTGER2 NA
PTGER3 NA
PTGER4 NA
SLC29A1 NA
SLC29A2 NA
ESR1 NA
ESR2 NA
ESRRA NA
ESRRB NA
ESRRG NA
EDNRA EDN1
EDNRA EDN2
EDNRA NA
EDNRB NA
EDNRB EDN3
SLC1A3 NA
SLC1A2 NA
SLC1A1 NA
SLC1A6 NA
SLC1A7 NA
EPOR EPO
EPOR NA
EPOR IL1RN
NR1H4 NA
FDPS NA
FAAH NA
FAAH2 NA
FFAR1 NA
FFAR2 NA
FFAR3 NA
O3FAR1 NA
FLT1 VEGFA
FLT1 VEGFB
FLT3 FLT3LG
FLT4 VEGFC
FLT4 FIGF
FLT4 PDGFC
SLC19A1 NA
FPR1 NA
FPR1 ANXA1
FPR2 NA
FPR2 ANXA1
FPR3 ANXA1
FPR3 HEBP1
FPR3 NA
FPR3 MT-RNR2
PTGFR NA
FSHR CGA
FSHR NA
FZD6 WNT3A
FZD6 WNT4
FZD6 WNT5A
GABBR1 NA
GALR1 NA
GALR2 NA
GABRG1 NA
GABRG2 NA
GABRG3 NA
SLC6A1 NA
SLC6A13 NA
GFRA1 NA
GGPS1 NA
GHSR NA
GHSR GHRL
GHRHR NA
GIPR GIP
GIPR NA
GLP1R NA
GLP1R GCG
GLP2R GCG
GRIA1 NA
GRIA2 NA
GRIA3 NA
GRIA4 NA
GCGR GCG
GCGR NA
NR3C1 NA
SLC2A1 NA
SLC2A2 NA
SLC2A3 NA
SLC2A4 NA
GRIK1 NA
GRIK2 NA
GRIK3 NA
GRIK4 NA
GRIK5 NA
GRIN1 NA
GRIN2A NA
GRIN2B NA
GRIN2C NA
GRIN2D NA
SLC6A9 NA
SLC6A2 NA
GNRHR2 NA
GNRHR NA
GNRHR GNRH1
GNRHR GNRH2
GPBAR1 NA
GPER NA
GPRC6A NA
CSF3R CSF3
NA CSF2
GHR CSH1
GHR GH1
GHR GH2
GHR IL36RN
GUCY2C NA
HCAR1 NA
HCAR2 NA
HCAR3 NA
HCN1 NA
HCN2 NA
HCN3 NA
HCN4 NA
HNF4A NA
HDC NA
DHX8 NA
DHX15 NA
HRH3 NA
HRH4 NA
HRH4 CCL16
HVCN1 NA
HMGCR NA
BAI1 NA
GPR119 NA
GPR12 NA
GPR132 NA
GPR143 NA
GPR17 NA
GPR183 NA
GPR18 NA
GPR1 NA
GPR1 RARRES2
GPR32 NA
GPR34 NA
GPR35 NA
GPR37 NA
GPR3 NA
GPR55 NA
GPR63 NA
GPR75 CCL5
GPR84 NA
GPR87 NA
LGR4 RSPO1
LGR4 RSPO2
LGR4 RSPO3
LGR4 RSPO4
LGR5 RSPO2
LGR5 RSPO1
LGR5 RSPO3
LGR5 RSPO4
LGR6 RSPO3
LGR6 RSPO1
LGR6 RSPO2
LGR6 RSPO4
MAS1 AGT
MRGPRD NA
MRGPRX1 NA
MRGPRX2 NA
MRGPRX2 CORT
NOS2 NA
NAAA NA
IGF1R IGF1
IGF1R IGF2
INSR INS
NA IFNA10
NA IFNA1
NA IFNA14
NA IFNA16
NA IFNA17
NA IFNA2
NA IFNA21
NA IFNA4
NA IFNA5
NA IFNA6
NA IFNA7
NA IFNA8
NA IFNB1
NA IFNK
NA IFNW1
NA IFNG
NA IL10
NA IL11
IL11RA IL11
NA IL12B
IL12RB1 IL12B
IL13RA1 IL13
IL13RA2 IL13
NA IL15
IL15RA IL15
NA IL17C
NA IL17A
NA IL17F
IL18R1 IL18
NA IL18
IL1RL1 IL33
IL1RL2 IL36A
IL1RL2 IL36B
IL1RL2 IL36G
IL1R1 IL1A
IL1R1 IL1B
IL1R1 NA
IL1R1 IL1RN
NA IL1A
NA IL1B
NA IL1RN
NA IL19
NA IL20
NA IL24
IL21R IL21
NA IL22
IL23R IL12A
NA IL12A
NA IL17B
NA C19orf10
NA IL28A
NA IL28B
NA IL29
NA IL2
IL2RA IL2
IL2RB IL15
IL2RB IL2
NA IL31
IL31RA IL31
NA IL33
NA IL36A
NA IL36B
NA IL36G
NA IL36RN
NA IL3
IL3RA IL3
IL4R IL13
IL4R IL4
NA IL4
NA IL13
NA IL5
IL5RA IL5
IL6R IL6
NA IL6
IL7R IL7
NA IL7
IL9R IL9
NA IL9
P2RY10 NA
PTGIR NA
ITPR1 NA
ITPR2 NA
ITPR3 NA
IDI1 NA
OPRK1 PDYN
OPRK1 NA
OPRK1 POMC
SLC12A4 NA
SLC12A5 NA
SLC12A6 NA
SLC12A7 NA
SLC12A1 NA
KDR VEGFA
KDR VEGFC
KDR PDGFC
KISS1R NA
KISS1R KISS1
KCNK10 NA
KCNK12 NA
KCNK13 NA
KCNK15 NA
KCNK18 NA
KCNK2 NA
KCNK3 NA
KCNK4 NA
KCNK9 NA
KCNMA1 NA
KCNN1 NA
KCNN2 NA
KCNN3 NA
KCNN4 NA
KCNT1 NA
KCNT2 NA
KCNU1 NA
KCNJ1 NA
KCNJ2 NA
KCNJ12 NA
KCNJ4 NA
KCNJ14 NA
KCNJ3 NA
KCNJ6 NA
KCNJ9 NA
KCNJ5 NA
KCNJ10 NA
KCNJ8 NA
KCNJ11 NA
KCNJ13 NA
KCNH1 NA
KCNA1 NA
KCNH2 NA
KCNH6 NA
KCNA2 NA
KCNH8 NA
KCNH3 NA
KCNA3 NA
KCNA4 NA
KCNA5 NA
KCNA6 NA
KCNA7 NA
KCNA10 NA
KCNB1 NA
KCNB2 NA
KCNC1 NA
KCNC2 NA
KCNC3 NA
KCNC4 NA
KCND1 NA
KCNQ1 NA
KCNQ2 NA
KCNQ3 NA
KCNQ4 NA
KCNQ5 NA
LEPR LEP
NA CTF1
NA LIF
NA OSM
LIFR CTF1
LIFR LIF
LIFR OSM
LTA4H NA
LHCGR CGA
LHCGR LHB
LHCGR NA
NR1H3 NA
NR1H2 NA
LPAR1 NA
LPAR2 NA
LPAR3 NA
LPAR4 NA
LPAR5 NA
LPAR6 NA
PAH NA
TPH1 NA
TDO2 NA
TH NA
MST1R MST1
SLC47A2 NA
MCHR1 NA
MCHR1 PMCH
MCHR2 NA
MCHR2 PMCH
MC1R POMC
MC1R NA
MC2R NA
MC3R POMC
MC3R NA
MC3R AGRP
MC4R POMC
MC4R NA
MC4R AGRP
MC5R POMC
MC5R NA
MC5R AGRP
MET HGF
MVK NA
GRM1 NA
GRM2 NA
GRM3 NA
GRM4 NA
GRM5 NA
GRM6 NA
GRM7 NA
GRM8 NA
NR3C2 NA
SLC25A4 NA
SLC25A1 NA
MMP13 NA
MMP2 NA
MGLL NA
MLNR NA
MLNR MLN
CHRM1 NA
CHRM2 NA
CHRM3 NA
CHRM4 NA
CHRM5 NA
MTNR1A NA
MTNR1B NA
SLC47A1 NA
OPRM1 NA
OPRM1 PDYN
OPRM1 PENK
MYLK CALM2
MYLK2 CALM2
SLC12A3 NA
NALCN NA
SCN1A NA
SCN2A NA
SCN3A NA
SCN4A NA
SCN5A NA
SCN8A NA
SCN9A NA
SCN10A NA
SCN11A NA
NGFR BDNF
NGFR NTF3
NGFR NTF4
NGFR NGF
NOS1 NA
NTRK3 NTF3
MME NA
TACR1 NA
TACR1 TAC4
TACR1 TAC1
TACR1 TAC3
TACR2 NA
TACR2 TAC4
TACR2 TAC1
TACR2 TAC3
TACR3 NA
TACR3 TAC4
TACR3 TAC1
TACR3 TAC3
NOD1 NA
NOD2 NA
NLRP1 NA
NMUR1 NMS
NMUR1 NMU
NMUR1 NA
NMUR2 NMS
NMUR2 NMU
NMUR2 NA
OPRL1 NA
OPRL1 PNOC
NPBWR1 NA
NPBWR1 NPB
NPBWR1 NPW
NPBWR2 NA
NPBWR2 NPB
NPBWR2 NPW
NPFFR1 NA
NPFFR1 NPFF
NPFFR1 NPVF
NPFFR1 PPY
NPFFR2 NA
NPFFR2 NPFF
NPFFR2 PPY
NPFFR2 NPVF
NPR1 NPPA
NPR1 NPPB
NPR1 NA
NPR2 NPPC
NPR2 NA
NPR3 NA
NPR3 OSTN
NPSR1 NPS
NPSR1 NA
NTSR1 NA
NTSR1 NTS
NTSR2 NA
NTSR2 NTS
SLCO1A2 NA
SLCO1B1 NA
SLCO1B3 NA
SLCO1C1 NA
SLCO2A1 NA
SLCO2B1 NA
SLCO3A1 NA
SLCO4A1 NA
SLCO4C1 NA
OSMR OSM
ODC1 NA
OXTR NA
OXTR OXT
OXTR AVP
OXER1 NA
OXGR1 NA
HCRTR1 NA
HCRTR1 HCRT
HCRTR2 NA
HCRTR2 HCRT
P2RX1 NA
P2RX3 NA
P2RX7 NA
P2RY11 NA
P2RY12 NA
P2RY13 NA
P2RY14 NA
P2RY1 NA
P2RY2 NA
P2RY4 NA
P2RY6 NA
ADCYAP1R1 NA
ADCYAP1R1 ADCYAP1
ADCYAP1R1 VIP
PTAFR NA
F2R NA
F2RL1 NA
F2RL3 NA
PDE1A CALM2
PDE1A NA
PDE1B CALM2
PDE1B NA
PDE1C CALM2
PDE1C NA
PDE2A NA
PDE3A NA
PDE3B NA
PDE4A NA
PDE4B NA
PDE4C NA
PDE4D NA
PDE5A NA
PDE7A NA
PDE7B NA
PDE8A NA
PDE8B NA
PDE9A NA
SLC15A1 NA
SLC15A2 NA
SLC15A3 NA
SLC15A4 NA
PPARA NA
PPARD NA
PPARG NA
SFI1 NA
PMVK NA
GABRP NA
PROKR1 NA
PROKR1 PROK1
PROKR1 PROK2
PROKR2 NA
PROKR2 PROK1
PROKR2 PROK2
SLC29A4 NA
PLD2 ARF1
PLD2 NA
NR1I2 NA
PGR NA
SLC6A7 NA
PRKCB NA
PRKCZ NA
PRKG1 NA
SLC36A1 NA
SLC36A2 NA
SLC46A1 NA
PRLHR PRLH
PRLHR NA
PRLHR PTHLH
PRLHR NPY
PTH1R NA
PTH1R PTHLH
PTH1R PTENP1
PTH2R NA
PTH2R PTHLH
PTH2R PTENP1
PANX1 NA
PANX2 NA
PANX3 NA
QRFPR QRFP
QRFPR NA
RORA NA
RORB NA
RORC NA
RARA NA
RARB NA
RARG NA
RXRA NA
RXRB NA
RXRG NA
NR1D1 NA
NR1D2 NA
RHAG NA
RHCG NA
GABRR1 NA
GABRR2 NA
GABRR3 NA
RXFP1 NA
RXFP1 RLN1
RXFP1 RLN2
RXFP1 RLN3
RXFP1 RLN
RXFP2 NA
RXFP2 RLN1
RXFP2 RLN2
RXFP2 RLN3
RXFP2 INSL3
RXFP2 RLN
RXFP3 NA
RXFP3 RLN3
RXFP3 INSL5
RXFP4 NA
RXFP4 RLN3
RXFP4 INSL5
RYR1 NA
RYR2 NA
RYR3 NA
S1PR1 NA
S1PR2 NA
S1PR3 NA
S1PR4 NA
S1PR5 NA
AHCY NA
SCTR FLNB
SCTR VIP
SCTR NA
SLC6A4 NA
SLC5A1 NA
SLC5A2 NA
SLC5A11 NA
SLC5A8 NA
SLC5A3 NA
SLC38A1 NA
SLC38A2 NA
SLC38A3 NA
SLC38A4 NA
SLC38A5 NA
SLC10A1 NA
SLC10A2 NA
SLC23A2 NA
FDFT1 NA
SSTR1 NA
SSTR1 CORT
SSTR1 SST
SSTR2 NA
SSTR2 CORT
SSTR2 SST
SSTR3 NA
SSTR3 CORT
SSTR3 SST
SSTR4 NA
SSTR4 CORT
SSTR4 SST
SSTR5 NA
SSTR5 CORT
SSTR5 SST
SUCNR1 NA
TAAR1 NA
TEK ANGPT1
TEK ANGPT4
NR2C2 NA
GABRQ NA
SLC19A2 NA
SLC19A3 NA
MPL THPO
NA TSLP
THRA NA
THRB NA
TLR2 NA
TLR3 NA
TLR4 NA
TLR5 NA
TLR7 NA
TLR8 NA
TLR9 NA
TNFRSF10A TNFSF10
TNFRSF10B TNFSF10
TNFRSF11A TNFSF11
BTF3P11 TNFSF11
TNFRSF25 TNFSF12
TNFRSF25 TNFSF15
TNFRSF12A TNFSF12
TNFRSF13B TNFSF13B
TNFRSF13C TNFSF13B
TNFRSF14 BTLA
TNFRSF14 LTA
TNFRSF14 TNFSF14
TNFRSF17 TNFSF13
TNFRSF17 TNFSF13B
TNFRSF18 TNFSF18
TNFRSF1A LTA
TNFRSF1A TNF
TNFRSF1B LTA
TNFRSF1B TNF
LTBR TNFSF14
LTBR LTB
TNFRSF4 TNFSF4
CD40 CD40LG
FAS FASLG
CD27 CD70
TNFRSF8 TNFSF8
TNFRSF9 TNFSF9
TBXA2R NA
TRHR NA
TRPA1 NA
TRPC1 NA
TRPC3 NA
TRPC4 NA
TRPC5 NA
TRPC6 NA
TRPM2 NA
TRPM1 NA
CLU NA
TRPM3 NA
TRPM4 NA
TRPM5 NA
TRPM6 NA
TRPM7 NA
TRPM8 NA
MCOLN3 NA
PKD2 NA
PKD2L1 NA
TRPV1 NA
TRPV2 NA
TRPV3 NA
TRPV4 NA
TRPV5 NA
TRPV6 NA
TSHR NA
TSHR TSHB
TYRO3 GAS6
TYRO3 PROS1
UTS2R NA
UTS2R UTS2
UTS2R UTS2D
AKT1 NA
ERBB4 BTC
ERBB4 EREG
ERBB4 HBEGF
ERBB4 NRG1
ERBB4 NRG2
ERBB4 NRG3
ERBB4 NRG4
ERBB3 NRG1
ERBB3 NRG2
SLC18A3 NA
SLC32A1 NA
SLC18A1 NA
SLC18A2 NA
CYP27B1 NA
KIT KITLG
VIPR1 NA
VIPR1 GHRH
VIPR1 ADCYAP1
VIPR1 VIP
VIPR2 NA
VIPR2 ADCYAP1
VIPR2 VIP
AVPR1A NA
AVPR1A AVP
AVPR1A OXT
AVPR1B NA
AVPR1B AVP
AVPR1B OXT
AVPR2 NA
AVPR2 AVP
AVPR2 OXT
XCR1 XCL2
XCR1 NA
XCR1 XCL1
NPY1R NA
NPY1R NPY
NPY2R NA
NPY2R NPY
NPY2R PYY
PPYR1 NA
PPYR1 NPY
PPYR1 PPY
PPYR1 PYY
NPY5R NA
NPY5R NPY
NPY5R PPY
NPY5R PYY
ZACN NA
More information about the Bioconductor
mailing list