|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Bonjour
Au cours de mon stage j'ai réalisé un pipeline permettant d'analyser des variations génomiques. Pour chaque région génomique et chaque échantillon, des fichiers txt et des graphiques sont générés permettant cette analyse. Plusieurs analyses sont lancées en parallèle. pour faciliter l'analyse des résultats, il faudrait que je fasse un script perl permettant de faire une synthèse des résultats par région génomique étudiée. Malheureusement je ne sais pas comment m'y prendre.Quelqu'un pourrait il m'aiguiller? Merci |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() |
hum que veux-tu dire par faire une synthèse ? tu peux préciser un peu plus ?
puisque tes résultats sont liés à une position, tu peux l'utiliser pour retrouver les infos concernées non ?
__________________
Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro. Plus les choses changent, plus elles restent les mêmes |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Par exemple pour chaque échantillon et chaque région génomique donnés, des fichiers txt contenant la région génomique, les positions de la variation structurale et ses caractéristiques sont générés en parallèle.
Ce que j’appelle faire une synthèse par région génomique, c'est regrouper les variations structurales détectées dans cette région dans un même fichier quelque soit les échantillons. Et je ne peut pas faire un copier coller avec les commandes perl ou linux car comme les échantillons sont traités en parallèle je ne peut opier plusieurs choses en même temps dans le même fichier. De plus il faut que rajoute le nom de l’échantillon dans les caractéristiques (le nom de l'échantillon est dans le nom du fichier txt). |
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() |
de ce que j'ai compris, chaque fichier de résultat est spécifique d'un échantillon et d'une position ? par contre il y a plusieurs types de fichiers pour un même échantillon et une même position ?
si tu peux savoir quand un job se termine, alors tu peux ensuite transférer les infos vers un support centralisé, comme un fichier spécifique pour une position. plusieurs jobs en parallèle, plusieurs fichiers de résultat, mais 1 seul "contrôleur" qui exécutera une simple copie une fois le job terminé.
__________________
Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro. Plus les choses changent, plus elles restent les mêmes |
|
|
10
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Mon pipeline se réalise en plusieurs étapes, et pour cela je contrôle le déroulement des jobs. Une fois que tous les jobs d'une étape sont terminés je lance la seconde étape. Donc je peux savoir quand mes jobs se terminent. En revanche un simple copier coller des résultats dans un même fichier ne fonctionne pas à l'intérieur du pipeline. Il fonctionne seulement quand il est réalisé "a la main" après que le pipeline ait fini de tourner. De plus, une simple copie ne me suffit pas, j'ai besoin de récupérer le nom du fichier a chaque copie d'une variation structurale dans le fichier centrale afin de savoir a quel échantillon elle appartient.
|
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() |
comment démarre-tu le pipeline ?
y a-t-il un contrôleur qui gère les jobs ? peux-tu montrer des exemples de fichiers de résultats et de fichiers finaux ? je n'arrive pas à me faire une idée de ce que tu veux au final
__________________
Nous les geeks, c'est pas qu'on a une case en moins, c'est juste qu'on compte à partir de zéro. Plus les choses changent, plus elles restent les mêmes |
|
|
10
|
|
|
#7 |
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
Tu pourrais donner une idée de tes données en entrée (et de ce que tu veux en sortie)?
Là, pour l'instant, on n'a pas une idée claire de ce que tu veux.
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
|
|
00
|
|
|
#8 | ||||||
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Mon pipeline commence par la définition de toutes les options a mettre en ligne de commandes et gestion des erreurs allant avec. Ensuite commencent les étapes d'analyse.
Je gère mes jobs de la façon suivante : Code :
Code :
Et j'aimerai obtenir un fichier du type : Code :
|
||||||
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
Si je comprends bien, tu veux regrouper toutes les lignes commençant par le même mot.
Est-ce ça?
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
C'est une partie de ce que j'aimerai bien faire effectivement.
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
Je ne comprends toujours pas.
Je regarde tes données en sortie du pipeline et celles que tu voudrais avoir. Et je suppose que les données en sortie du pipeline doivent être triturées pour obtenir ce que tu voudrais avoir au final. Déjà, est-ce que c'est ça? Entre les deux séries de données, le premier enregistrement est reconnaissable, mais je ne sais pas d'où vient le "Y1" que tu as ajouté, il ne semble venir de nulle part. Quant aux trois lignes suivantes, je ne vois pas du tout d'où elles viennent. Je précise que je te parle en termes de données (en termes informatiques, donc), parce que je n'y connais rien en génétique: la dernière fois que j'ai fait de la biologie en fac, la génétique en était à ses tous premiers balbutiements, tout cela a énormément changé. Et comme je n'ai jamais eu l'occasion de travailler dans ce domaine, j'en suis resté à ce niveau proche de 0 (j'ai même probablement oublié le peu que je savais à l'époque). Bref il faudrait quelles sont données en entrée et comment tu les veux en sortie. Pour l'instant, je ne suis même pas sûr que ce soit clair dans ton esprit.
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Effectivement, les données doivent être un peu "triturées". Les Y sont les différents échantillons d'ou proviennent les variations structurales.
Les données d'entrées (variations) sont classées en fonction de l'échantillon et de la région génomique étudier. La région génomique est présente dans les données ce qui correspond a XXXX. En revanche les Y (échantillons) sont présents dans le nom du fichier. Donc pour avoir le nom de l'échantillon il faut récupérer le nom du fichier d'ou les variations sont issues. |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
OK, j'ai compris maintenant.
Voici une solution possible: tu lis toutes tes données en entrée en prenant soin de les enrichir avec le nom de l'échantillon, et stokes toutes ces lignes dans un hash dont la clé est la région génomique (xxxx). A la fin, quand tu as lus tous tes fichiers, tu parcours la hash pour l'imprimer dans un fichier.
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
|
|
00
|
|
|
#14 | ||||
|
Membre Expert
![]() Laurent R.Conseil - Consultant en systèmes d'information Inscription : mai 2012 Messages : 588 ![]() |
Quelque chose comme cela (non testé):
Code :
Il suffit alors de balayer le hash et d'imprimer les valeurs: Par exemple, si l'ordre dans lequel les régions apparaissent n'a pas d'importance: Si tu veux les régions par ordre alphabétique (ou plutôt "ASCIIbétique"): Code :
__________________
Sauf mention contraire explicite, les bouts de code que je poste en réponse à une question n'ont pas forcément été testés. |
||||
|
|
00
|
|
|
#15 |
|
Nouveau Membre du Club
![]() Étudiant Inscription : mars 2012 Messages : 63 ![]() |
Merci
Effectivement c'est une idée qui ne m'était pas venu à l'esprit, je vas la tester. En tout cas merci de votre patience et de votre aide. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com