Lorsqu’il est question de générer une image Circos, la mise en forme des données est une des étapes les plus importantes. Voici quelques points clés pouvant vous aider à éviter le redoutable ***CIRCOS ERROR***.
Tous les fichiers de données doivent être en format texte, c’est-à-dire avoir une extension .txt et utiliser une tabulation comme séparateur. R s’avère très utile pour générer les fichiers dans le format requis. Avec l’aide de R, je peux générer un fichier myData.txt qui par la suite, sera incorporé dans un de mes fichiers de configuration. Les fichiers de données sont nécessaires pour la création de représentations graphiques en 2 dimensions, pour le positionnement d’étiquettes (qui sont en en réalité considérées comme une sorte de graphique), ainsi que pour la représentation de liens entre deux positions de chromosomes. Pour savoir comment faire la mise en forme du fichier de données, il faut d’abord savoir ce que l’on veut représenter (graphiques 2-d, étiquettes, liens).
Type de représentation de données | Graphiques | Étiquettes | Liens |
Colonnes requises | chr start end val | chr start end label | chr1 start1 end1 chr2 start2 end2 |
Exemple | chr1 1000 1199 1.00 chr1 1200 1399 15.00 chr1 1400 1599 -2.00 |
chr1 11873 14409 DDX11L1 chr1 14361 29370 WASH7P chr1 17368 17436 MIR6859-1 |
chr1 486 769 chr15 10026 10033 chr1 3426 3938 chr15 10021 10026 chr1 5763 6268 chr15 10021 10026 |
D’autres paramètres peuvent être ajoutés après la dernière colonne (respectivement val/label/end2 pour les graphiques, étiquettes et liens). On pourrait ajouter une colonne pour la couleur (color) par exemple. Dans cet article, nous allons toutefois nous en tenir à la mise en forme classique. Notons qu’avec ou sans ces paramètres additionnels, les étapes restent très similaires.
Maintenant que l’on sait comment illustrer nos données, nous pouvons commencer à les formater. Importez tout d’abord les données brutes dans R en créant un nouveau ‘data frame’.
> data_df <- read.table("myRawData.txt", header = TRUE, sep = "\t", as.is = TRUE)
Puis travaillez vos données comme vous le feriez en temps normal. Par exemple, vous pourriez calculer des moyennes, des écarts-types ou vous pourriez filtrer vos données en appliquant un test statistique et conserver seulement les valeurs jugées significatives. Cette étape est complètement à votre guise!
Il faut absolument conserver sur quel chromosome telle valeur se trouve, ainsi que sa position de départ et de fin. Une bonne façon de faire cela est de travailler vos données dans une table. De la sorte, vous pouvez avoir une colonne avec les valeurs , une colonne avec le chromosome et deux autres avec la position initiale et finale. Toutes les autres colonnes de cette table sont à votre discrétion.
Lorsque vous êtes prêts à enregistrer vos données manipulées dans un nouveau fichier, créez une nouvelle table dans laquelle les colonnes correspondent au bon format, tel que représenté dans le tableau plus haut. Si vous travailliez déjà avec une table, assurez-vous que les colonnes soient dans le bon ordre. Pour exporter vos données de façon efficace, vous pourriez utiliser cette simple ligne de code:
> write.table(myDataTable, file = "myData.txt", row.names = FALSE, col.names = FALSE, sep = "\t", quote = FALSE)
myDataTable est le nom de la table à exporter, tandis que myData.txt est le nom du fichier texte résultant. Le format Circos ne permet pas les noms de rangées, d’où row.names = FALSE. Cela dit, les noms de colonnes sont acceptés jusqu’à un certain point, mais l’appellation doit être exacte et doit correspondre à celle attendue par le programme. Pour éviter toute erreur, je vous conseille d’exporter votre table sans les étiquettes de colonnes et d’utiliser col.names = FALSE. L’argument de séparation sep = « \t » assure que chaque entrée de chaque rangée sera séparée par une tabulation, ce qui est préféré par Circos. Finalement, quote = FALSE fait en sorte que tous les guillemets (« ») seront supprimés dans l’appellation des chromosomes et étiquettes. Ce dernier détail est très important, car la présence de guillemets peut facilement causer une erreur du côté de Circos.
Enfin, pour être sûr d’éviter les erreurs, révisez vos fichiers de données avant des les utiliser.
Plusieurs ***CIRCOS ERROR*** peuvent être évitées lorsque l’on sait comment bien formater ses fichiers de données!
Laisser un commentaire