Differential Expression I have genes differentially expressed between two groups (case and control). I would like to annotate them by classifying them according to their biological functions.

I work on parasites of Plasmodium Falciparum type Dd2 which are divided into two groups (case and control). I carried out a Differential expression analysis with cuffdiff and CummeRbund then I annotated my genes on plasmodb.org.

Example of id genes: pfDd2_14005040

Now I would like to do a pathway analysis to see which biological pathways these genes are involved in.

StupidWolf,
I resumed my annotation with the 3D7 strain of plasmoduim Falciparum then I created my geneList as you indicated but when I make the dotplot nothing is displayed

setwd("C:/cygwin64/home/DIANGO/EXCELL")
library(org.Pf.plasmo.db)
library(clusterProfiler)

gene &lt;- c ("PF3D7_0936800","PF3D7_1478900","PF3D7_1009700","PF3D7_0508500")
geneList = keys(org.Pf.plasmo.db)
enr &lt;- enrichGO(gene,universe=geneList,OrgDb='org.Pf.plasmo.db',keyType ="SYMBOL",ont="BP")
head(enr@result,readtable=TRUE)
dotplot(enr)



The output gives a white rectangle

                   ID                           Description GeneRatio  BgRatio     pvalue
GO:0006323 GO:0006323                         DNA packaging       1/2  21/2615 0.01599974
GO:0071103 GO:0071103               DNA conformation change       1/2  30/2615 0.02281728
GO:0051276 GO:0051276               chromosome organization       1/2  58/2615 0.04387582
GO:0006996 GO:0006996                organelle organization       1/2 144/2615 0.10712138
GO:0016043 GO:0016043       cellular component organization       1/2 203/2615 0.14925925
GO:0006464 GO:0006464 cellular protein modification process       1/2 265/2615 0.19244223
            p.adjust     qvalue        geneID Count
GO:0006323 0.1026777 0.07205456 PF3D7_0508500     1
GO:0071103 0.1026777 0.07205456 PF3D7_0508500     1
GO:0051276 0.1316275 0.09237015 PF3D7_0508500     1
GO:0006996 0.2203602 0.15463872 PF3D7_0508500     1
GO:0016043 0.2203602 0.15463872 PF3D7_0508500     1
GO:0006464 0.2203602 0.15463872 PF3D7_1009700     1
&gt; dotplot(enr)





Once again I need your help.
I guess plasmodium doesn't have that many online tools dedicated to it so you can use the annotation packages from bioconductor and try it. I used clusterProfiler for analysis and org.Pf.plasmo.db for annotation below.

From this paper, grabbed table 1, a table of supposed genes involved in something: 

genes = c("PF3D7_1302100", "PF3D7_0501300", "PF3D7_0302500*", "PF3D7_1030200", 
"PF3D7_0302200*", "PF3D7_1327300", "PF3D7_0410000", "PF3D7_0104300", 
"PF3D7_0420300", "PF3D7_0810000*", "PF3D7_0522300", "PF3D7_0935700*", 
"PF3D7_0424700*", "PF3D7_1477700*", "PF3D7_0202000*", "PF3D7_1371600", 
"PF3D7_1036300", "PF3D7_0422900", "PF3D7_0501400", "PF3D7_0221700", 
"PF3D7_0301000", "PF3D7_1454100", "PF3D7_0831800", "PF3D7_0424900", 
"PF3D7_1447500", "PF3D7_1477400", "PF3D7_0424800", "PF3D7_0823700", 
"PF3D7_1477300", "PF3D7_0814100", "PF3D7_1372100", "PF3D7_0201500", 
"PF3D7_0825300", "PF3D7_0201700", "PF3D7_1470000", "PF3D7_1401000", 
"PF3D7_0724900", "PF3D7_0601700", "PF3D7_1410000", "PF3D7_0109300", 
"PF3D7_1347300", "PF3D7_0201800", "PF3D7_1242100", "PF3D7_0403300", 
"PF3D7_0114500", "PF3D7_1301200", "PF3D7_0931200", "PF3D7_0832200.1", 
"PF3D7_0305900", "PF3D7_0608310", "PF3D7_0221800", "PF3D7_0511100", 
"PF3D7_1001300", "PF3D7_1225900", "PF3D7_1444600", "PF3D7_1349900", 
"PF3D7_1008300", "PF3D7_0919600", "PF3D7_1210300", "PF3D7_0929700", 
"PF3D7_0701600", "PF3D7_0201600", "PF3D7_0801600", "PF3D7_1463600", 
"PF3D7_0201900", "PF3D7_0905000", "PF3D7_1310000", "PF3D7_0315200", 
"PF3D7_1139200", "PF3D7_1023500", "PF3D7_1111300", "PF3D7_0930700", 
"PF3D7_1350800", "PF3D7_0412300", "PF3D7_0831900", "PF3D7_0406600", 
"PF3D7_1448100", "PF3D7_0114300", "PF3D7_0526100", "PF3D7_1243200", 
"PF3D7_0921100", "PF3D7_0301900", "PF3D7_0622700", "PF3D7_0811800", 
"PF3D7_0114200", "PF3D7_0221500", "PF3D7_1129850", "PF3D7_1142200", 
"PF3D7_0114100", "PF3D7_0512900", "PF3D7_1346200", "PF3D7_1369400", 
"PF3D7_0314300", "PF3D7_0324100", "PF3D7_0107700", "PF3D7_1122000", 
"PF3D7_0618800", "PF3D7_0601200", "PF3D7_1360300", "PF3D7_1318500", 
"PF3D7_1111700", "PF3D7_0901900", "PF3D7_1313900", "PF3D7_1101700", 
"PF3D7_1313200", "PF3D7_1039700", "PF3D7_0222100", "PF3D7_1371500", 
"PF3D7_1344700", "PF3D7_1408300", "PF3D7_0929800", "PF3D7_0115000", 
"PF3D7_1462900", "PF3D7_1352600", "PF3D7_0626200", "PF3D7_0831750", 
"PF3D7_0602300", "PF3D7_0521100", "PF3D7_1452100", "PF3D7_0718900", 
"PF3D7_0101300", "PF3D7_0815700", "PF3D7_0113600", "PF3D7_0937200", 
"PF3D7_1108800", "PF3D7_0221100", "PF3D7_0921500", "PF3D7_1038300", 
"PF3D7_0201400", "PF3D7_0822200", "PF3D7_0937000", "PF3D7_0301100"
)


We can for example using clusterProfiler:

library(org.Pf.plasmo.db)
library(clusterProfiler)


Besides the list of interest, you need to get a "universe" of all genes tested, in your situation it will be genes that you tested for differential gene expression, below I used all the genes annotated:

geneList = keys(org.Pf.plasmo.db)

enr &lt;- enrichGO(genes,universe=geneList, OrgDb='org.Pf.plasmo.db', 
keyType ="SYMBOL",ont="BP")


Above is a GO term enrichment, biological processes, you can look at the result like this:

head(enr@result,readtable=TRUE)
                       ID
    GO:0042000 GO:0042000
    GO:0044417 GO:0044417
    GO:0044766 GO:0044766
    GO:0051808 GO:0051808
    GO:0051836 GO:0051836
    GO:1902579 GO:1902579
                                                                                               Description
    GO:0042000                                             translocation of peptides or proteins into host
    GO:0044417                                                        translocation of molecules into host
    GO:0044766                                                                    multi-organism transport
    GO:0051808 translocation of peptides or proteins into other organism involved in symbiotic interaction
    GO:0051836            translocation of molecules into other organism involved in symbiotic interaction
    GO:1902579                                                                 multi-organism localization


And you can plot it:

dotplot(enr)




You can read more about the analysis you can do at the package website