Coder Social home page Coder Social logo

yguitton / cp-seeker Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 1.83 GB

CP-Seeker is dedicated to the post-acquisition processing, visualization and analysis of ion signals from polychlorinated alkanes (PCAs) and related chemical families within chromatography–high resolution mass spectrometry (HRMS) data sets.

Home Page: https://hal.science/hal-04525586

License: Creative Commons Attribution 4.0 International

R 2.48% C++ 62.88% C 1.79% HTML 29.22% Tcl 1.28% Python 0.02% Shell 0.03% Makefile 0.02% CSS 0.47% Assembly 0.01% TypeScript 0.01% Roff 0.01% TeX 0.16% Batchfile 0.01% Perl 0.01% JavaScript 1.61% q 0.01% Inno Setup 0.01% XSLT 0.01% AppleScript 0.01%
high-resolution mass-spectrometry chlorinated-paraffins

cp-seeker's Introduction

CP-Seeker application

How to install and run this application

Windows

For Windows users, we created one file to click to be able to run our application. So you just have to click on the file CP-Seeker.bat, then the application will run normaly, opening a new internet window. If you want it directly on your desk, right click on this file and create a new shortcut on it.

Ubuntu/Linux

For Ubuntu or Linux users, you will need to open a terminal and write some command lines :

cd my_path_of_CPSeeker
./R-Portable/bin/R.exe

This will open to you the R command line tool from our R portable folder which is directly in CP-Seeker. You now need to run the application by writing :

source("./utils/manager.R")

Now all the application should run and open in a new internet window.

Known bug(s)

Crash when start

Sometimes, it can crash if you didn't closed correctly your last session. You will have this windiw and the application will stop.

crash_chromium

If you have this, you have to go in your Taks Manager. To be able to open it, just click simultanely on CTRL + SHIFT + ECHAP :

open_task_manager

Once it is open, you have to find R for Windows terminal front-end and ending this task !

end_r_task_manager

Now you can launch again your application and it should work fine.

cp-seeker's People

Contributors

shutinet avatar madelinm avatar jsaintvanne avatar akissiinfo avatar damiencode404 avatar yguitton avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

cp-seeker's Issues

Diminution du temps d'affichage des matrices de résultats

Calculer et conserver la matrice de résultats (hors filtres) directement en fin de déconvolution (ajuster aussi la barre de progression pour cette étape finale ?). La conserver dans la DB pour pouvoir l'afficher rapidement lors de l'exploration manuelle des matrices de résultats (avec utilisation des filtres).

Bornes d'intégration homogénéisées pour trapz

J'ouvre cette issue dont on a parlé ce matin. Il s'agit d'abord de comprendre si on manque une partie des pics chromatographiques dans les groupes au score dégradé. Et si oui, pourquoi. Tom va nous filer deux fichiers et pointera un groupe homologue en particulier pour cette étude.

On envisage de fixer les bornes lm[1] et lm[2] de la fonction trapz pour le calcul des into aux min et max parmi l'ensemble des isotopomères détectés (ou alors celui du base peak mais j'hésite).

Point des issues au 29.08.2023 pour formaliser une version 2.1.0.
-Issue à traiter pour l'upgrade 2.1.0.

Affichage résultats standards - Ergonomie

Moins urgent, encore que voir selon gravité message d'erreur.

Le formatage de certains standards dans la table de résultats ne suit pas les règles fixées d'arrondi :

Capture bug standards ARRONDI (1)

Et puis j'ai aussi eu ce message d'erreur à l'arrivée sur la page des résultats (ci-dessous). Après cela, il n'arrivait pas à réafficher d'EIC quand je changeais de ligne (pb ponctuel ?)

Capture bug standards ARRONDI (2)

Ronan.

Emplacements d'export et error.log

Changer les adresses d'enregistrement des fichiers suivants :
EXPORT, Plutôt que "C:\Users<user>\Documents.CP-Seeker <2.1.2>", placer dans un dossier créé sous "<Racine_d'installation_de l'appli>\CP-Seeker<2.1.2>\export"
ERROR LOG, Plutôt que "C:\Users<user>.CP-Seeker <2.1.2>", placer dans un dossier créé sous "...\CP-Seeker_2.0.0\Error_Log"

Bug recherche ".NIASSeeker/error.log"

Sur PC Retraitement 3, Data2 (E:), se trouve CP-Seeker-2.1.2. Il y a quelques jours, j'ai archivé la database.sqlite pour qu'il en recrée une vierge. J'ai commencé à retraiter les data de Mesut (Rec-24-Mesut) acquises par LC. Elles sont sous "E:\Rec-24-Mesut".

J'ai d'abord retraité les fichiers 20240327_005 à _028 dans la séquence LC_20240327_1.Cal. J'ai demandé PCA et un standard, avec l'ion [M+Cl]-. L'export s'est très bien passé, en Excel et en csv (C:\Users\RC\Documents.CP-Seeker 2.1.2).

J'ai ensuite lancé les fichiers 20240327_029 à _133 dans la séquence LC_20240327_2.Dust. J'ai demandé PCA (pas de standard), avec l'ion [M+Cl]-. L'export (csv et Excel) a échoué. C'est le même problème que Shanshan avait eu. Il me semble qu'on avait pas résolu l'affaire.

Il semble que l'appli cherche le fichier path[1]="C:\Users\RC\Documents/../.NIASSeeker/error.log" (C:\Users\RC.CP-Seeker 2.1.2\error - Pb Export Mesut, en attaché aussi). NIAS-Seeker est une ancienne appli développée par Sébastien. Elle n'est pas censée être dans le code de CP-Seeker, et on soupçonne un bug avec Windows.

Challenge : trouver où ça se joue et résoudre ce bug.

error - Pb Export Mesut.log

Spécifier n° de version export Excel

La cellule A1 des onglets de fichiers contient bien le numéro de version de CP-Seeker pour le template PCAs, mais il n'est pas précisé pour les templates PCOs et PXAs. A corriger.

Standards retention times

Lorsque l'on active les standards dans les paramètres, un champ retention time apparait pour chaque ajout de standard. Peux-tu faire en sorte que ces champs soient renommés comme suit ?
"Retention time (+/- 2 min) - <nom de l'adduit>"

ps : le symbole "+/-" en fonction de l'autre issue.

Anglais

Il doit rester un « importation » dans le code pour information à l’utilisateur qu’il faut remplacer par « import » tout court.
Idem « exportation » en « export ».

Emplacements d'export et error.log

@jsaintvanne ,

Peux-tu changer les adresses d'enregistrement des fichiers suivants stp ?

EXPORT
Plutôt que "C:\Users<user>\Documents.CP-Seeker V2.0.0", placer dans un dossier créé sous "...\CP-Seeker_2.0.0\Export"

ERROR LOG
Plutôt que "C:\Users<user>.CP-Seeker V2.0.0", placer dans un dossier créé sous "...\CP-Seeker_2.0.0\Error_Log"

Merci,
Ronan.

Bug au lancement de l'appli vierge

Julien,

J’ai aspiré et installé la version dev sur PC2. Au lancement, il crée bien la db et le dossier « C:\Users\rc.CP-Seeker 2.0.0 » dans lequel se trouve l’error log en PJ. Il ouvre une fenêtre web mais reste planté sur une fenêtre vide (png en PJ aussi).

Peux-tu d’urgence régler le souci ?

Capture
error.log

Merci,
Ronan.

csv export

@jsaintvanne ,
Voici le premier issue. Il s'agit de proposer un export csv.
Lors du clic sur le bouton export, proposer une fenêtre pour sélectionner csv et/ou Excel. Si csv sélectionné, alors exporter un csv à la structure suivante :
File_name, File_Label, Chemical_type, Homologue (Coordonnées C, Br et Cl), Chemical_formula, Adduct, Area, Score, mDa
-Tu peux utiliser le séparateur que tu préfères.
-Seules les cellules "blanches" sont considérées. Si pas de valeur, mettre quand la ligne en mettant quelque chose comme ND pour Area/score/mDa
-Le nom du fichier suit les même règles que celle de l'Excel, sauf que le chemical_family n'est pas considéré (tous les chemical_types dans le même fichier) ; on peut donc avoir plusieurs csv selon si plusieurs adduits uniquement.
C'est une première étape ; on verra ensuite pour l'enrichir un peu.
Merci,
Ronan.

Export csv, Nb chiffres après la virgule

Dans l'export csv, la colonne "area" ne donne actuellement qu'un arrondi à l'unité, celle pour "deviation" un seul chiffre après la virgule. Coller à ce qui est fait pour l'export Excel, soit 6 chiffres après la virgule pour "area" et 2 chiffres après la virgule pour "deviation".

Pb Affichage Métabolites phase I dans Explore

Julien,

J'ai lancé CP-Seeker 2.0.0 sur un unique fichier avec PCA, PCO, PCdiOs, PCtriOs, et les 3 phase I metabolites. J'ai demandé les 2 adduits [M-H]- et [M+Cl]-. L'import du raw et la déconvolution se sont bien passés...

...mais problème à l'affichage sur les métabolites de phase I qui sont présentés comme les standards et non en matrice 2D. Error log en PJ. Je peux aussi te filer la DB qui ne pèse que 20 MB.

error - LC-20230612_126_DAOA-PLE-PbDCM-Thon.log

Merci,
Ronan.

Info Onglet parameters Family

Julien,

Comme discuté à l'instant, je te propose de renseigner dans cette cellule, si il y a des phase I ou du phase II metabolites, selon le modèle :
Phase I PCAs (OH-, COOH-, oxo-), Phase II PCAs (GSH-OH-, SCys-OH-, Mercapturic-OH-)

Idem pour les PCO si pas déjà fait :
PCOs (mono, di, tri)

Ronan.

Error log

@jsaintvanne ,

Peux-tu faire en sorte que le error log ne soit pas écrasé à chaque réouverture de CP-Seeker ?

Il s'agirait de nommer le fichier "error_XXX" avec XXX donnant la date-heure-minute de création du fichier, i.e. à l'ouverture d'une session.

Merci,
Ronan.

Formule normalised area

Julien,

Je crée une issue pour cette modification de formule qu'il nous faut finaliser ensemble, notamment pour la partie "baseline" de "intb".

Ronan.

Parallelisation

Il serait appréciable de creuser la parallélisation (Julien et/ou Solène), principalement pour la déconvolution de chaque datafile, mais aussi pour msConvert, voire pour la création de chaque fichier d'export.

Affichage EICs et Patterns

Lorsque l’on clique sur une cellule, les EIC et patterns correspondants se chargent et s’affichent. Cependant, lorsqu’on change de tableau entre Into/Score/Dev tout en restant sur le même groupe homologue, l’affichage se désactive.
=>Faire en sorte que l’affichage soit conservé si on reste sur le même groupe homologue. De même pour les standards.

Sub-tab TIC/EIC & MS

L'affichage de la légende des fichiers se fait bien sur le TIC mais n'apparait pas lorsqu'on choisit EIC.
Peux-tu rectifier stp ?

Pour rappel, pas d’affichage de la légende sur le MS en-dessous mais une MàJ de la Figure MS si on décoche une trace sur la légende du TIC ou EIC.

Préciser n° de version export Excel

La cellule A1 des onglets de fichiers contient bien le numéro de version de CP-Seeker pour le template PCAs, mais il n'est pas précisé pour les templates PCOs et PXAs. A corriger.

En-têtes des database tables

Dans le sub-tab "Database tables", renommer quelques en-têtes de tableau comme suit 👍
Onglet Sequence
"Sequence" remplacé par "Increment"
Onglet Sample
"Sample ID" remplacé par "Increment"
"Sample" remplacé par "Label"

Infos survol de la souris

Dans HaloSeeker, il est possible d’afficher des infos au survol de la souris au-dessus du plot interactif.
Peut-on afficher les infos de groupe homologue au survol d’une cellule ? Il s’agirait de l’intensité, du score, de la déviation et du statut inside/staddling/outside, quel que soit le filtre appliqué. Peut-être ajouter un info "Filter" In ou Out. Idem pour les standards.

Add some time points

Add time points :

  • start of deconvolution
  • end of deconvolution (after matrice is loading)
  • start of export
  • end of export

Aire des standards

Julien,

Tom a découvert (et je confirme) que les aires "normalisées" retournées pour les standards sont uniquement celle du base peak. Malgré le fait qu'on intègre bien les autres isotopomères (pattern scores ok), il apparait que la somme ne fonctionne pas pour l'aire normalisée.

J'aimerais que ce soit corrigé pour la v2.1.1, stp.

Ronan.

Pré-saisie du "Label" à l'import

Pour les fichier Thermo qu'on utilise, proposer le Sample_ID ou Sample_Name dans les metadata si existent (ThermoRawMetaDump) lors de la pop-up de saisie à l'import des raw ou mzXML.

msConvert dans config.cfg

msConvert n'est pas listé dans config.cfg, c'est normal ?
Est-ce que je le considère bien comme un package embarqué pour le user guide ?

User Guide

Ajouter icône du user guide en haut à droite comme dans HaloSeeker. Mettre le user guide dans l’appli.

Mot Project

Le menu en haut à gauche fait encore apparaitre "Projects". A remplacer par "Sequences", pour que ce premier menu soit "Sequences & Files".

Filtres

Julien,

Voici un nouvel issue d'ergonomie, concernant les filtres situés au-dessus de la matrice de résultats.

• Ajouter un filtre "Intensity min (xE6)" à gauche des deux autres. Il applique de manière explicite un threshold pour les intensités.
• Renommer le filtre "Deviation max (absolute value)" par "Deviation max (±mDa)". Le sigle "±" peut être remplacé par "+/-" si trop difficile trouver. Basculer ce filtre à droite pour respecter le même ordre que les onglets.
• Renommer le filtre "Score (%)" par "Score min (%)". Basculer ce filtre au milieu.

Réduire un peu (disons de 20%) la largeur de ces 3 zones de saisie.

Merci,
Ronan.

Parallelisation

Mettre en place la parallélisation. Il s'agit de détecter le nombre de cœurs et de lancer en parallèle ce qu'il est possible de paralléliser.

  1. Commencer par la déconvolution des chaque datafile.
  2. Si ok, voire ensuite pour msConvert.

Est-ce applicable à la création des fichiers d'export, voire à l'affichage des graphiques ? Si oui, on en discute avant une nouvelle issue.

Error log

Faire en sorte que le error log ne soit pas écrasé à chaque réouverture de CP-Seeker. Il s'agirait de nommer le fichier "error_XXX" avec XXX donnant la date-heure-minute de création du fichier, i.e. à l'ouverture d'une session.

C++

Étudier le C++ écrit par Sébastien dans HaloSeeker voir comprendre comment il fonctionne et si on peut transposer à CP-Seeker pour donner un avantage.

Temps de process

Utiliser les balises horaires (print(Sys.time()) en début et fin de déconvolution (fichier process.R) et d'export (fichier process_results.R).pou calculer et renseigner par différence la durée de process dans la cellule dédiée de l’onglet de l’export Excel. Ca implique de conserver les valeurs dans la DB je pense..

Largeur "active sequence"

Une petite issue.
Augmenter un peu (disons de 30%) la largeur de la zone de la liste "active sequence" en ahut à droite du bandeau bleu. Certains noms de séquence sont assez longs et lorsqu'on clique sur la flèche, ils dépassent et sont illisibles.

Ou alors, garder la largeur mais faire en sorte que la largueur de la liste déroulante s'adapte au nom le plus long lorsqu'on clique sur la flèche pour faire apparaitre cette liste.

Si on n'est pas limités en longueur de nom de séquence, peut-être en proposer une (disons 50 caractères ?) au moment de créer une "new sequence" ?

Merci,

Décalage cellules grise export Excel sur SCys-OH-PCAs

Bug sur cellules gris clair dans Export Excel des SCys-OH-PCAs (celui du milieu dans le template), au moins en [M-H]- et en [M+Cl]-. Ces cellules sont décalées, mais visiblement pas toujours du même vecteur.

Exemple :
Capture CP-Seeker sur fichier 20220802_006 SCys-OH-PCAs [M-H]-
Capture_SCyc-OH-PCAs

Exports Excel des Phase II en [M-H]- et en [M+Cl]-
Rec-22-Delip_20220802_2023-09-18_[M-H]_Phase2metabolites.xlsx
Rec-22-Delip_20220802_2023-09-18_[M+Cl]_Phase2metabolites.xlsx

Fichier 20220802_006 si besoin
https://filesender.renater.fr/?s=download&token=d085c251-2225-414d-825a-c9f7d18af5df

Ronan.

Formule deviation

En préparant les slides Dioxin 2023, j'ai buté sur le signe de la déviation en masse moyenne pondérée, qui était à l'inverse de l'attendu. En visionnant le fichier "deconvolution", il me semble que la formule est à l'envers (et je ne comprend pas pourquoi on a toujours cette erreur après tout ce temps, hum...).

Ce n'est pas la valeur théorique moins l'observée mais l'observée moins la théorique.

Lignes :
595
615/616 ?

Ronan.

v2.0.0

@jsaintvanne ,
Je ne vois toujours pas de tag pour la version 2.0.0 ; c'est normal ?
Ronan.

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.