library(DESeq2)
countData <- read.csv("~/Genomika/griffith/simple_counts.txt", sep = "\t", skip = 1, row.names = 1) samples = names(countData) cond_1 = rep("cond1", 3) cond_2 = rep("cond2", 3) condition = factor(c(cond_1, cond_2)) colData = data.frame(samples=samples, condition=condition) dds = DESeqDataSetFromMatrix(countData=countData, colData=colData, design = ~condition) # DE dds = DESeq(dds)
# wyniki res = results(dds)
to ważna inicjatywa bioinformatyczna mająca na celu ujednolicenie reprezentacji cech genów i produktów genowych we wszystkich gatunkach. Dokładniej, projekt ma na celu:
Blast2GO to platforma bioinformatyczna do analizy funkcjonalnej zbiorów danych genomicznych. Umożliwia analizowanie i wizualizację nowo zsekwencjonowanych genomów poprzez połączenie najnowocześniejszych metodologii, standardowych zasobów i algorytmów. Blast2GO pozwala uzyskać biologiczne spostrzeżenia szybko i łatwo - nawet dla zupełnie nowych genomów. Umożliwia adnotację funtionalną w jednym programie bioinformatycznym, w tym analizę GO. Jego główną funkcją jest przypisywanie informacji o biologicznej funkcji sekwencji genów lub białek poprzez wykorzystanie różnorodnych zasobów publicznych, takich jak algorytmy porównania i bazy danych. Oprogramowanie identyfikuje już scharakteryzowane podobne sekwencje i przenosi swoje etykiety funkcjonalne do sekwencji niescharakteryzowanych. W ten sposób można uzyskać informacje funkcjonalne dla całego zestawu danych znacznie szybciej niż poprzez eksperymenty. Oprócz zwykłej charakterystyki sekwencji funkcjonalnej "in-silico", pakiet oprogramowania ma wiele innych funkcji, w tym połączone wizualizacje danych i procedury analizy statystycznej. Te cechy pomagają biologowi molekularnemu w procesie funkcjonalnej interpretacji eksperymentalnych zbiorów danych. Oprogramowanie zostało opracowane w języku JAVA, jest niezależne od platformy. Wersja podstawowa jest całkowicie bezpłatna dla społeczności naukowej (wyłącznie non-profit).
Zadanie1
Pobrać plik blast2go_annot_20180418_2116a.annot i zmienić to tak aby odpowiadał schematowi "genID GOID, GOID,....,GOID"
library(topGO)
# wczytujemy dane (GO) geneID2GO <- readMappings("~/b2gWorkspace/GO_data.txt") # wyświetlamy dane str(head(geneID2GO))
## List of 6 ## $ AT1G01010.1: chr [1:26] "GO:0009791" "GO:0044212" "GO:0043565" "GO:0009736" ... ## $ AT1G01020.1: chr [1:7] "GO:0005794" "GO:0016021" "GO:0032541" "GO:0006665" ... ## $ AT1G01020.2: chr [1:7] "GO:0005794" "GO:0016021" "GO:0032541" "GO:0006665" ... ## $ AT1G01020.3: chr [1:7] "GO:0005794" "GO:0016021" "GO:0032541" "GO:0006665" ... ## $ AT1G01020.4: chr [1:7] "GO:0005794" "GO:0016021" "GO:0032541" "GO:0006665" ... ## $ AT1G01020.5: chr [1:7] "GO:0005794" "GO:0016021" "GO:0032541" "GO:0006665" ...
# tworzymy "losowy zestaw genów" - geny, które nas interesują geneNames <- names(geneID2GO) myInterestingGenes <- sample(geneNames, length(geneNames) / 10) geneList <- factor(as.integer(geneNames %in% myInterestingGenes)) names(geneList) <- geneNames str(geneList)
## Factor w/ 2 levels "0","1": 2 1 1 1 1 1 1 1 1 1 ... ## - attr(*, "names")= chr [1:104] "AT1G01010.1" "AT1G01020.1" "AT1G01020.2" "AT1G01020.3" ...
# tworzymy obiekt GOdata GOdata <- new("topGOdata", ontology = "MF", allGenes = geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO)
GOdata
## ## ------------------------- topGOdata object ------------------------- ## ## Description: ## - ## ## Ontology: ## - MF ## ## 104 available genes (all genes from the array): ## - symbol: AT1G01010.1 AT1G01020.1 AT1G01020.2 AT1G01020.3 AT1G01020.4 ... ## - 10 significant genes. ## ## 81 feasible genes (genes that can be used in the analysis): ## - symbol: AT1G01010.1 AT1G01030.1 AT1G01030.2 AT1G01040.1 AT1G01040.2 ... ## - 9 significant genes. ## ## GO graph (nodes with at least 1 genes): ## - a graph with directed edges ## - number of nodes = 216 ## - number of edges = 279 ## ## ------------------------- topGOdata object -------------------------