Coder Social home page Coder Social logo

msreader's Introduction

image

MS_Reader

MS_Reader is a package for parsing and rearranging data originating from ThermoFisher's Tracefinder software or Skyline by Proteoziward for Mass Spectrometry data processing.

It is one of the routine tools used on the MetaToul Platform

The code is open-source, and available on GitHub under a GPLv3 license.

Quick-start

MS_Reader requires Python 3.9 or higher and run on all platforms.

Use pip to install MS Reader from PyPi:

$ pip install ms_reader

Then, start the graphical interface with:

$ ms_reader

Bug and feature requests

If you have an idea on how we could improve MS_Reader please submit a new issue to our GitHub issue tracker.

msreader's People

Contributors

llegregam avatar

Stargazers

Helge Hecht avatar  avatar

Watchers

 avatar

msreader's Issues

Ratio IDMS gamme vs. échantillon

Hello, avec Nina on se demandait s'il serait possible d'intégrer dans l'outil (dans une partie de la normalisation par exemple), le fait que l'on puisse ne pas avoir le même ratio d'IDMS entre les échantillons et la gamme de calibration ? Car cela nous oblige à corriger entre TraceFinder et MSReader les concentrations. On en rediscute tous ensemble si tu le souhaites, merci :)

Utilisation de la colonne "Normalized Area" pour les ratios C12/C13 (Skyline)

Pour extraire les ratios C12/C13 il faudrait que MSReader utilise la colonne "Normalized Area" de la sortie Skyline car la colonne "Ratio Ligh to Heavy" ne prend pas en compte la subrogation d'un signal C13, et recalculer le ratio a posteriori avec les aires C12 et les aires C13 (heavy) associées ne prend pas en compte la subrogation du signal C13 non plus.

Merci :)

Enlever tableau LLOQ/ULOQ onglet données normalisées

On souhaiterait que les tableaux de LLOQ/ULOQ présents tout à droite des tables de données dans le fichier Tables.xlsx des onglets Normalized Quantites et Normalized Quantities LLOQ, soient supprimés. On ne souhaite conserver que celui présent sur l'onglet "Calibration" aux côté de la gamme (unité µM à préciser). Sinon les collaborateurs sont perdus entre la lecture de valeurs d'unités différentes. Merci :)

Analyses POS-NEG

Hello,
Quand on fait des analyses type HILIC en polarité positive et négative en même temps (un seul fichier raw pour POS-NEG), MSReader nous dit qu'il y a des doublons de lignes et ne veut pas traiter le batch. Les acides aminés (AA) sont notamment étudiés dans les deux polarités.
Il va falloir qu'il puisse le faire car cela va nous arriver de plus en plus souvent.
Merci :)

PS : ci-dessous un jeu de données POS-NEG pour exemple

20240715_GUILLOT_HILIC-POSNEG_QUANT.txt

Metadata - absence de données de normalisation

Actuellement lorsque l'on ne met pas de données de normalisation pour un échantillon il transforme l'absence de données en "1". Afin de forcer le calcul nous sommes obligés d'inscrire "0". Ce serait bien que MSReader considère qu'une absence de données équivaut à un zéro. Sinon on se retrouve avec des variables normalisées alors que l'on n'a pas de données de normalisation pour ces échantillons.

Prise en compte de multiples gammes et QC

Hello,
Lors d'analyses de grandes cohortes (>100 échantillons) nous devons analyser une gamme de calibration et un QC au début et à la fin de chaque séquence. Pour l'instant MSReader ne prend pas en charge cette multiplicité des gammes et des QC, il faudrait l'envisager :)
Merci
Amandine

Export output_for_graphstat pour les ACP

Salut Loïc,

Est-ce qu'il serait possible d'exporter le fichier output_for_graphstat pour les ACP sous un autre nom que le output_for_graphstat originel ? Car si on exporte les deux, ils portent le même nom donc ils s'écrasent. Tu peux l'exporter sous le nom output_for_graphstat_ACP par exemple :)

Merci
Amandine

Changement nom métabolite - QC

Hello, depuis le changement de noms de métabolites l'Orotate n'apparait plus dans les métabolites QC des métabolites centraux. Il faudrait changer la recherche du métabolite initialement appelé "Oro" en "Orotate".
Merci beaucoup !

Noms colonnes pour coller à GraphStatsR

Hello,
Depuis la mise à jour de GraphStatsR, on a besoin que le nom des colonnes soient strictement ceux-ci : features, type, unit (actuellement : Features, type, Unit). Est-ce que tu peux les modifier dans la sortie "output_for_graphstat.tsv" s'il te plait ?
Merci
Amandine

Add back unit tests

TODO

  • Create simple test data for integrated tests
  • Have unit tests for object creation and specific functions

Changement nom colonne normalisations

Salut Loïc,

J'ai voulu modifier le nom des colonnes des données de normalisations dans le fichier de metadata. Mais si je fais ça il me met une erreur comme quoi il attend le nom "Norm1". Du coup c'est assez inflexible et entre les pesées / les protéines / l'injection / etc ... j'aimerai bien distinguer tout ça. C'est possible de modifier le script pour qu'il prenne en compte les noms qu'on lui donne ?

Merci
Amandine

Tables.xlsx > Report pour HILIC

Pour tous les types d'analyses (même ceux qui ne sont pas rentrés dans les critères de validation de l'outil comme l'HILIC par exemple), il faudra que MSReader nous sorte au moins l'onglet "Report" avec tous les R² et leur validation (>0.99 dans tous les cas quelque soit l'analyse). L'onglet "Validation" avec l'utilisation de l'échantillon QC serait à l'appréciation de chaque analyse, mais au moins avoir le report.
Merci :)

Géneration d'une sortie traceFinder avec une entrée skyline

J'ajoute un ficher de skyline pour faire la quantification mais lors de la génération du fichier les colonnes de concentration sont vides et le fichier ressemble à un fichier traceFinder. Il faut que j'ajoute les aires et les ratios pour avoir la quantif.

Metabolites remover

Salut Loïc, quand j'enlève des métabolites de mes data grâce au "metabolites remover", ils n'apparaissent pas dans la table finale sauf dans l'onglet "Report" où ils y sont toujours. Ce serait possible de les enlever de cet onglet également s'il te plait ? Merci :)

Outputs - cases vides et "inf"

Actuellement lorsque l'on exporte la Table ou les outputs pour GraphStatsR, MSReader laisse des cases vides ou des "inf" dans les variables normalisées lorsque l'on a "0" en données de normalisation. Ce serait bien que MSReader remplace ces cases vides et ces "inf par des NA afin que l'interprétation des données soit plus aisée pour tous (demandeur, analyste).

Problème nouvelle version ?

Hello Loïc, quand j'ai voulu faire tourner MSReader pour récupérer les aires mises en forme pour GraphStats seulement, j'ai eu le message d'erreur ci-dessous, est-ce parce que je n'ai pas d'aires C13 dans mon fichier ? Je voudrais seulement les aires C12. Je dois créer des lignes C13 "N/F" pour qu'il les prenne en compte ? Merci :)

ValueError: Empty DataFrame Columns: [Unit] Index: [] is empty
Traceback:
File "C:\Users\a_rocher\Anaconda3\envs\msreader\lib\site-packages\streamlit\scriptrunner\script_runner.py", line 554, in _run_script
exec(code, module.dict)
File "C:\Users\a_rocher\Anaconda3\envs\msreader\lib\site-packages\ms_reader\app.py", line 257, in
reader.export_stat_output(destination)
File "C:\Users\a_rocher\Anaconda3\envs\msreader\lib\site-packages\ms_reader\extract.py", line 898, in export_stat_output
stat_out = self._build_stat_output()
File "C:\Users\a_rocher\Anaconda3\envs\msreader\lib\site-packages\ms_reader\extract.py", line 1029, in _build_stat_output
c13_areas = self._replace(self.c13_areas, [0, np.inf, "", "ND"],
File "C:\Users\a_rocher\Anaconda3\envs\msreader\lib\site-packages\ms_reader\extract.py", line 982, in _replace
raise ValueError(f"{df} is empty")

Nouveau fichier sortie

Comme discuté ensemble au téléphone et après avoir rebouclé avec Floriant : il faudrait créer un nouveau fichier de sortie exclusivement pour les ACP, qui ne serait pas diffusé aux demandeurs. Il s'appellera "output_for_graphstats_ACP", il contiendra uniquement les aires C12, aires C13 et ratios C12/C13 des métabolites et remplacera tous les NA par 0.

Merci :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.