Salut!
Je travaille sur un data frame que je voudrais par la suite utiliser comme base de données. Pour le contexte, je dois récupérer des données sur des gènes à partir d'expériences de microarray, comme par exemple le symbole du gène, l'identifiant sonde, le GB_acc, le titre du gène, et son identifiant en base de données (entrez, unigene... en fonction de ce qui est dispo).
Je vous mets un exemple de deux morceaux de tableaux que j'obtiens à partir de 2 expériences différentes sur des technologies différentes:
J'ai utilisé la fonction merge et j'obtiens le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Tableau1 ID GeneSymbol GeneTitle GBAcc 4 Prr13 proline rich 13 NM_025385 9 Pla2g4d phospholipase A2, group IVD NM_001024137 10 Tmem59l transmembrane protein 59-like NM_182991 15 Spty2d1 SPT2, Suppressor of Ty, domain containing 1 (S. cerevisiae) NM_175318 25829 Copg coatomer protein complex, subunit gamma NM_017477 11826 Atp6v0d1 ATPase, H+ transporting, lysosomal V0 subunit D1 NM_013477 12269 Iigp1 interferon inducible GTPase 1 NM_001146275 12943 Agpat1 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) NM_001163379 Tableau2 ID GeneSymbol GeneTitle GBAcc ENTREZ 1415670_at Copg coatomer protein complex, subunit gamma BC024686 54161 1415671_at Atp6v0d ATPase, H+ transporting, lysosomal V0 subunit D1 NM_013477 11972 1415672_at Golga7 golgi autoantigen, golgin subfamily a, 7 NM_020585 57437 1415673_at Psph phosphoserine phosphatase NM_133900 100678 1423686_a_at Prr13 proline rich 13 BC016234 66151 1421024_at Agpat1 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) BB524140 55979 1421025_at Agpat1 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) BB524140 55979
D'un côté j'obtiens bien ce que je veux : ce sous-tableau mergé ne me renvoie que les entrées GeneTitle en commun entre les deux tableaux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 GeneTitle ID.x GeneSymbol.x GBAcc.x ENTREZ ID.y GeneSymbol.y GBAcc.y 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) 1421024_at Agpat1 BB524140 55979 12943 Agpat1 NM_001163379 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) 1421025_at Agpat1 BB524140 55979 12943 Agpat1 NM_001163379 ATPase, H+ transporting, lysosomal V0 subunit D1 1415671_at Atp6v0d1 NM_013477 11972 11826 Atp6v0d1 NM_013477 coatomer protein complex, subunit gamma 1415670_at Copg BC024686 54161 25829 Copg NM_017477 proline rich 13 1423686_a_at Prr13 BC016234 66151 4 Prr13 NM_025385
Maintenant mon problème c'est, dans cet exemple, le cas de Agpat1 que l'on retrouve avec 2 identifiants de sonde différents pour une même technologie.
Ce que je voudrais faire à ce moment-là (et par la suite je pense que ça sera le même principe pour des noms de gènes, ou des symboles)
c'est transformer ces deux lignes Agpat1 pour avoir le résultat suivant:
Et j'avoue que je ne vois pas comment faire. Est-ce que quelqu'un aurait une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Avant (Extrait) GeneTitle ID.x GeneSymbol.x GBAcc.x ENTREZ ID.y GeneSymbol.y GBAcc.y 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) 1421024_at Agpat1 BB524140 55979 12943 Agpat1 NM_001163379 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) 1421025_at Agpat1 BB524140 55979 12943 Agpat1 NM_001163379 Après (le changement d'ordre des colonnes est involontaire, il n'a pas d'importance dans mon cas) ID.x ID.y GeneSymbol GeneTitle GBAcc ENTREZ 1421024_at,1421025_at 12943 Agpat1 1-acylglycerol-3-phosphate O-acyltransferase 1 (lysophosphatidic acid acyltransferase, alpha) BB524140 55979
Merci d'avance!
Partager