  How to create a `Venn Diagram` `from data frame` and get the `list of common Genes` expressed in each combination? 

I have a data frame of  DEG, How can I create a `Venn Diagram` `from data frame` and get the `list of common Genes`? 

Note: data frame has NA for some genotypes for some Genes, If all the genotypes are NA for a particular gene, that raw should be ignored.

    Gene	Genotype1	Genotype2	Genotype3	Genotype4
        AT1G17400	NA	NA	NA	NA
        AT1G09420	NA	0.000800188	0.000116452	0.004017191
        AT1G50930	NA	NA	NA	NA
        AT1G65960	NA	NA	NA	NA
        AT1G09400	NA	NA	NA	NA
        AT1G09415	NA	NA	NA	NA
        AT1G74730	NA	NA	NA	NA
        AT1G75100	0.001639398	0.001578892	6.92E-05	NA
        AT1G75100	0.001639398	0.001578892	6.92E-05	NA
        AT1G75240	NA	5.60E-05	0.000235329	0.000162115
        AT1G14920	NA	NA	NA	NA
        AT1G14920	NA	NA	NA	NA
        AT1G65510	NA	NA	NA	NA
        AT1G75250	NA	NA	NA	NA
        AT1G54410	NA	0.000113869	1.25E-05	NA


Question is very vague. What do these numbers mean? What do you consider expressed? Is anything that is not NA considered expressed?

Take a look at the Venn function here:
https://www.rdocumentation.org/packages/gplots/versions/3.0.1.1/topics/venn

It gives you an example on how to create Venn diagrams.

I'll go off the assumption that everything non-NA is considered expressed. Say you have everything stored in a dataframe named `data`. You need to supply lists of non-NA genes that belong to each of your four groups: Genotype1, Genotype2, Genotype3, Genotype4:

```
require(gplots)
Genotype1 <- data[!is.na(data$Genotype1),"Gene"]
Genotype2 <- data[!is.na(data$Genotype2),"Gene"]
Genotype3 <- data[!is.na(data$Genotype3),"Gene"]
Genotype4 <- data[!is.na(data$Genotype4),"Gene"]
input <- list(Genotype1=Genotype1, Genotype2=Genotype2, Genotype3=Genotype3, Genotype4=Genotype4)
venn(input)
```
