ObtenciondeAllData.R
2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# ENFERMEDADES MONOGENICAS
# EQUIPO 5
# Este script procesa dos distintas tablas, una obtenida de OMIM tras ciertos filtros
# (gene_filtered_phenENS.txt) y la tabla obtenida del script "get_monogenic_disease_data.sh",
# con la informacin de la base de datos DISEASES DB.
# Como output da una tabla que contiene la información de ambas bases de datos.
#### OMIM
phen<-read.csv(file = "C:/Users/Fer/Desktop/gene_filtered_phenENS.txt", header = FALSE, sep = "\t") ##path a archivo gene_filtered_phenENS.txt
colnames(phen)[7]<-"MIM.gene.accession" ##Cambio de nombres de columnas paa facilitar procesamiento
colnames(phen)[12]<-"Gene.stable.ID"
ensembl<-read.csv(file = "C:/Users/Fer/Desktop/mart_export_v2.txt", header = TRUE, sep = "\t") ##Lectura de archivo mart_export.txt descargado de ensembl
MIM_phen<-merge(x = phen, y = ensembl, by = "MIM.gene.accession") ##Union de las dos tablas (phen y ensembl) por el MIM gene accesion number
MIM_phen1<-MIM_phen[c(15, 16, 17, 18, 20, 19)] ##Seleccion y reordenamiento de columnas
### DISEASES DB
DB<-read.csv(file = "C:/Users/Fer/Desktop/match_v2.tsv", header = FALSE, sep = "\t") ##Lectura de archivo output de script
colnames(DB)[6]="Protein.stable.ID" ##Cambio de nombre de columna que contiene el Protein Stable ID
##Debido a que habIa renglones que no contenian Protein Stable ID dividimos la tabla en dos para procesarlos de distinta manera
empty<-kevin[which(DB$Protein.stable.ID==""),] ##Data frame con renglones que NO tenian Protein Stable ID
full<-DB[-c(which(DB$Protein.stable.ID=="")),] ##Data frame con renglones que SI tenian Protein Stable ID
with_PSI<-merge(x = full, y = ensembl, by = "Protein.stable.ID") ##Union de las dos tablas (DB y ensembl) por el Protein Stable ID
full1<-with_PSI[,c(6,7,8,9,11,10)] ##Seleccion y reordenamiento de columnas
empty$Strand="" ##agregar columna vacia a empty
colnames(empty)<-colnames(full1) ##Asignacion de los mismos nombres de columna que tiene full1 a empty
empty_me<-merge(x = empty, y = ensembl, by = "Gene.name") ##Union de las dos tablas (emty y ensembl) por el Gene.name
empty_me<-empty_me[c(7,8,9,1,11, 10)] ##Seleccion y reordenamiento de columnas
colnames(empty_me)<-colnames(empty) ##Asigancion de mismos nombres de columnas de empty a empty_me
match_full<-as.data.frame(rbind(as.matrix(empty_me), as.matrix(full1)))
colnames(match_full)<-colnames(MIM_phen1)
# Generamos una tabla que contenga la informacion de las 2 bases de datos
all_data<-as.data.frame(unique(rbind(as.matrix(match_full), as.matrix(MIM_foo1)))) ##all_data es una tabla con las siguientes columnas: Gene type, Gene Start, Gene End, Gene Name, Strand, Gene Stable ID. Es la tabla con todos los genes que usaremos para la obtenci?n de secuencias
write.table(all_data, file = "C:/Users/Fer/Desktop/all_data.txt", quote = F, sep = "\t", row.names = FALSE, col.names = FALSE) ##path donde desee el output (all_data.txt)