Problématique

Lorsque les échantillons sont précieux ou qu’ils peuvent servir de contrôles d’une étude à l’autre, il devient intéressant de réutiliser les fichiers FCS de cytométrie de masse pour une nouvelle analyse. Cependant, le panel a souvent légèrement évolué entre les études, et il est nécessaire d’harmoniser, réconcilier ou renommer les canaux et les marqueurs. Plusieurs cas se présentent :

  • le nom du canal a changé
  • la marqueur associé au canal a changé
  • le canal est absent dans un panel et doit être ajouté avec des intensités à zéros dans les fichiers FCS ce panel
  • le canal est absent dans un panel et doit être enlevé des fichiers FCS où il est présent (perte d’information)
  • l’ordre des canaux doit être uniformisé selon un panel choisi arbitrairement

Différents outils sont disponibles pour réaliser ces tâches spécifiquement, c’est à dire lire, modifier, écrire des fichiers FCS. D’autres outils intègrent ces pré-traitements lors de la lecture/importation des fichiers FCS. La différence entre l’approche externe via un outil dédié (ce que nous étudions ici) et l’approche intégrée lors de la lecture, est que la première génère des fichiers FCS qui peuvent être analysés par différents logiciels. La seconde approche est plus souple, mais n’est pas disponible dans chacun des logiciels.

NB1: Avant d’utiliser ces outils, il faut absolument effectuer un backup des fichiers FCS originaux, c’est à dire travailler sur une copie des fichiers FCS originaux. Il faut aussi être très prudent dans l’organisation des fichiers car certains outils ne donnent pas un nom différent aux fichiers modifiés.

NB2: les outils décrits ici utilisent R et les fonctions read/write de flowCore, ce qui ajoute de paramètres supplémentaires dans l’entête des fichiers FCS (voire en enlève certains).

Voici les outils que nous avons référencés le 2018-05-04, principalement à partir d’une question similaire qui a été posée sur Cytoforum Data analysis development-wishlists and datasets?.

cytutils

cytutils dispose d’une méthode pour renommer le nom et la description des marqueurs. Cet outil comporte 2 étapes. La 1ère étape dresse un rapport au format CSV (Excel) des canaux en parcourant les fichiers FCS. Il en résulte un fichier CSV trié par masse, indiquant les canaux et leur marqueur. La 2ème étape effectue le renommage que l’utilisateur a défini en éditant le fichier CSV. Plus d’informations dans l’aide fcs-channel-renaming.

cytutils propose aussi de calculer la divergence de Jensen-Shannon et l’index Average Overlap Frequency.

Langage: R Site: cytutils

ChangeFCSParameters

ChangeFCSParameters propose de renommer le nom et la description des marqueurs à l’aide d’une interface graphique Web (via Shiny). Cet outil travaille sur un dossier contenant les fichiers FCS et permet de le traiter un par un. Pas d’automatisation, mais la possibilité de réaliser un copier/coller depuis Excel.

Langage : R Site: ChangeFCSParameters

cytofCore

cytofCore offre des fonctionnalités poussées, notamment l’ajout de canaux, mais pas d’interface graphique. La sélection des canaux pour le panel consolidé est soit un fichier FCS, soit un fichier CSV (ou TXT). Le tableau CSV doit être constitué de 2 colonnes sans titre (entête). La 1ère contient le nom du canal, la 2nde contient le nom du marqueur que l’on souhaite assigner à ce canal. Ce tableau décrit donc le nouveau panel que l’on constitue. Pour chaque fichier FCS, cet outil va rechercher le canal et renommer son marqueur comme indiqué. S’il ne trouve pas le canal, alors il peut l’ajouter en remplissant l’intensité avec des zéros. Et ce choix peut être mémorisé pour les fichiers suivants. Les canaux qui ne font pas partie du modèle sont éliminés des fichiers de sortie. Les canaux des fichiers de sortie sont ordonnés de la même façon dans tous les fichiers FCS résultats, mais ce n’est ni l’ordre du modèle, ni l’ordre original.

cytofcore propose aussi de réparer des fichiers IMD.

Langage: R Site: cytofCore

premessa

premessa offre une interface Web poussée pour l’édition des marqueurs. Pour chaque canal (1ère colonne de l’interface), premessa indique le marqueur associé dans chaque fichier où le canal est présent. Une cellule en rose indique que le marqueur est absent du fichier considéré ou que son nom n’est pas celui le plus commun. Une colonne indique le nom le plus commun défini pour chaque canal. Les canaux sont présentés dans l’ordre alphabétique (et non par masse). Cet outil va rechercher le canal dans chaque fichier FCS et renommer son marqueur comme indiqué, à la condition qu’il trouve le canal dans le fichier FCS. Il est possible de supprimer des marqueurs, mais pas d’ajouter des marqueurs. Premessa ne vérifiera pas si les fichiers ont bien les mêmes marqueurs : cette validation est laissée à l’utilisateur. Cet outil place les fichiers créés dans un nouveau dossier, mais les fichiers gardent le même nom, donc attention à bien identifier les fichiers originaux et transformés.

premessa propose aussi une normalisation basée sur l’utilisation de billes (Bead-based normalization) et une fonction de De-barcoding.

Langage: R Site: Premessa

Conclusion

ChangeFCSParameters permet de répondre à un besoin simple et ponctuel. cytutils présente un rapport synthétique de l’association canal-marqueur et permet de renommer le canal et le marqueur. premessa propose une interface pour le renommage du marqueur seulement et la possibilité de supprimer des canaux. cytofCore permet permet de renommer le marqueur associé à un canal (mais pas le canal), mais surtout de supprimer des canaux et de créer des canaux (avec une intensité zéro) en garantissant que tous les fichiers FCS auront les mêmes canaux avec les mêmes noms et dans le même ordre.

premessa est probablement le plus simple (car graphique) pour réconcilier 2 panels en ne gardant que les canaux communs et en renommant les marqueurs. Le couple cytuils + cytofCore est plus puissant par sa capacité à renommer les canaux et les marqueurs, et sa capacité à ajouter des canaux.

Stratégie du choix d’outils

Utiliser cytutils pour un aperçu des canaux et des marqueurs

Décider pour chaque canal le nom du marqueur ==> cytutils/premessa/cytofcore

Décider des canaux doivent être renommés ==> cytutils

Décider si des canaux sont considérés identiques : par exemple un changement de métal mais pas de marqueur ==> cytutils

Décider si le panel réconcilié contient l’intersection des canaux (ou moins) ==> premessa/cytofcore, ou si des canaux absents doivent être ajoutés ==> cytofcore

Décider les marqueurs du panel réconcilié doivent être dans le même ordre dans tous les  fichiers FCS ==> cytofcore, en prenant soin d’ajouter les marqueurs présents dans le modèle CSV, mais éventuellement absents dans certains fichiers FCS.

Exemple d’utilisation

Suivre le lien
Follow the link