|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Bonjour à tous et à toutes bioinformaticiens !
Actuellement étudiant français en bio-informatique, je suis en stage en hollande pour valider mon diplôme... J'ai un petit problème pour avancer dans mon projet et j'aurais besoin d'un coup de main des bio-informaticiens beaucoup plus expérimenté que moi. Voici mon problème : comme vous le savez peut être tous déjâ il existe de nombreuses techniques permettant l'étude et la quantification de l'expression génique, tel que les puces à ADN.... Pour ma part je suis sur la technique récente de mRNA-seq qui porte sur l'étude des transcriptome (=: ensemble des ARNm d’une cellule, d’un tissu) (Pour en savoir d'avantage voir article : mRNA-seq : a revolutionary tool for transcriptomics , facilement trouvable sur google ). Donc je continue..; Le but de mon stage sera donc de créer un programme ( en perl ) qui fera bien des choses, je ne rentrerais pas dans les details... Cependant là ou je coince, c'est dans la réalisation d'une fonction capable de prendre n'importe quelle séquence d'ADN ou ARN et de la fragmenté en séquence de taille aléatoire , et c'est le fait que ce soit totalement aléatoire qui me dérange, je ne vois pas du tout comment faire... Si vous avez donc des idées de rédaction de cette fonction, je suis preneur ! Merci d'avance pour l'aide que vous me fournirez !!! A bientot. |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
J'aurais une idée, mais je ne sais pas si ca marcherait, surement quelqu'un en aura une meilleure.
Tu peux générer une liste de nombre aléatoire, grâce à la fonction rand() (en fonction du nombre de séquence que tu veux) et récupérer dans un tableau, les nucléotides correspondant à ces nombre aléatoires. Apres je n'ai jamais utilisé la fonction rand(), et je ne sais pas comment elle génère un nombre aléatoire. Faut-il que les fragments se chevauchent, ou doivent-ils être les uns a la suite des autres ? |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Marion DupouyEtudiante Inscription : avril 2011 Messages : 10 ![]() |
Salut Jordi ! Deux premiers topics, deux stagiaires aurillacois... On est doués Pour faire de l'aléatoire, je ne vois que ce qu'a proposé laura. Je n'ai pas trouvé le code source de rand(), mais l'ayant utilisé en C, ça m'a l'air fiable. Bon stage ! |
|
00
|
|
|
#4 | |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Salut !
Aurillacois Pour la fonction rand() je vais voir ce que cela peut donner, je ne connait pas trop cette fonction mais je vais essayer de trouver des renseignements dessus ! Citation:
blablablbalbalblablablbalblbbalbalbalbalbalbalbalbalbalbalbalbalbalbalbalbal ( on va dire que c'est pas séquence ) j'obtiendrais donc : blablablababla balabalalbalablabalablablablabblaba balabalblablablablab balbalablablabalbalablabalbalablbablbalbala et ceci complémtement aléatoire !! Si tu as quelques pistes...je suis preneur !! A bientot, |
|
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
Si je résume, tu as besoin d'un nombre de brin aléatoire qui auront tous des positions aléatoires et des tailles aussi aléatoires. C'est bien ca ?
Il te suffit de générer un premier nombre aléatoire (qui sera ton nombre de brins) et de faire tourner ton programme le nombre de fois avec une valeur de position sur ta sequence et une valeur de taille, toutes deux aléatoires. par ex : Code :
|
||
|
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Soit, Pour le moment j'en suis la :
Code :
mon programme prend donc une sequence au format fasta et la concatene sur une seul et meme ligne pour faciliter le decoupage.. Et c'est la que je bloque... je voyais le truc du genre : Code :
En fait je voudrais qu'il parcours la ligne de ma sequence, la coupe a un endroit aleatoire, extrait le morceaux qu'il vient de couper et continue le decoupage sur le reste de la sequence... I am in the right direction...i think.. Merci deja pour ta piste, ca m'aide deja beaucoup... si tu peux m'eclairer encore un peu.. Thanks, ps : dsl pour l'orthographe je suis sur un clavier hollandais ^^ |
||||
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
Pour ouvrir un fichier fasta, il vaut mieux utiliser le module Bio::SEQIO pour lire ton fichier et chaque séquence lue est un BIO::SEQ
Code :
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Pour le moment ce n'est pas ce qui me pose probleme jasmine , je m'occuperai de la recuperation de sequence apres, pour le moment je me concentre sur une sequence que jai deja mis dans un fichier...( car apres je vais devoir faire cette manipulation pour des milliers de sequences....
J'en suis toujours a essayer de creer un tableaux qui contiendra mes sequences.... puis une fonction qui prendra le 1er element du tableaux ( soit ma 1ere sequence) et qui la coupera en un nombre aleatoire de fragments et qui me reverra les fragments dans un second tableaux , et qui continuera a prendre le second element de mon premier tableaux , pour mettre les fragments dans encore un autre tableaux... Pourb cela j'ai pense a ecrire une fonction (qui coupera aleatoirement ma chaine de characteres )dont je ferai apelle dans une boucle... pourrais tu me guider ?? je coince et je n'ai pas les notions assez pousser pour le moment... |
|
|
00
|
|
|
#9 | ||||||
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
Citation:
Citation:
Code :
Si par exemple tu as une séquence : Citation:
Citation:
Nb : Il faut faire quelque chose de ce genre, mais il y a un problème dans le if(), j'y regarde et je te dis quoi
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
||||||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
Le problème avec cette méthode est que tu as des fragments de plus en plus courts car leur taille est définie par une valeur aléatoire dépendant de la longueur de la séquence restante int(rand($l_rest)) donc, avec la séquence entière de départ, ton fragment sera plus grand qu'avec la séquence restante après découpage.
Si par exemple ta séquence de départ fait 500 nucléotides Tu peux donc récupérer un fragment compris entre 0 et 500 nucléotides int(rand(500)). Admettons que tu récupères un fragment aléatoire de 150 nucléotides, allant de la position 36 à 136 de la séquence de départ. Il reste donc pour le fragment suivant à découper dans la sous-séquence restante de 137 à 500 (position de la séquence de départ). Cette sous-séquence fait donc 363 nucléotides, le fragment à récupérer peut donc faire entre 0 et 363 nucléotides int(rand(363)) et ainsi de suite. La solution, si tu veux des fragments de tailles équivalentes est de définir une taille maximale.
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
|
|
00
|
|
|
#11 |
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
Pour repartir de l'idée de Jasmine, tu pourrais aussi, plutot que de faire tourner ton programme qui génère des fragments de séquences SUR la séquence découpée, de la faire tourner TOUJOURS sur la séquence de départ.
Ce pourrait etre une solution non ? |
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() ![]() Jasmine Inscription : octobre 2006 Messages : 2 814 ![]() |
Citation:
Ce serait le plus simple mais Faktis a dit plus haut : Citation:
__________________
-- Jasmine -- Merci de poser les questions dans le forum, je ne répondrai pas aux MP. |
||
|
|
00
|
|
|
#13 | |||||
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Citation:
Citation:
Citation:
Ici, tu extrait des fragment aléatoires mais tu oublis certain morceaux de la séquence initiales... Si ma séquence est celle que tu as donné , pour te reprendre... Citation:
Citation:
jusqu'à que le reste de ma séquence initiales soit trop petit ou fini... We are in the right way ! |
|||||
|
|
00
|
|
|
#14 |
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
Je pensais que tes fragments devaient se chevaucher, c'est pour ca que je pensais que tu voulais partir du meme fragment à chaque fois, autant pour moi !
Edit : Apres un rapide coup d'oeil à la publication dont tu parlais, j'ai vérifié et tes fragments d'ARN doivent être chevauchant, de manière à être le plus exhaustif au moment du séquencage. |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
je suis perdu... tu m'as perdu laura..
|
|
|
00
|
|
|
#16 |
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
oublie mon commentaire, fais comme tes maitres de stage t'ont dis de faire.
Pour le reste de la methode, tu t'en sors avec les conseils de Jasmine? |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
non pas du tout....je suis un peu deboussoler la
|
|
|
00
|
|
|
#18 | ||
|
Membre à l'essai
![]() Laura GÉtudiant Inscription : février 2011 Messages : 38 ![]() |
qu'est ce que tu ne comprends pas ?
j'ai reecris le code que jasmine avait donné en changeant deux trois choses peut etre que tu comprendras mieux . Sinon, quel est ton probleme ? Code :
|
||
|
|
00
|
|
|
#19 |
|
Membre expérimenté
![]() |
Je ne suis pas bio-informaticien, mais informaticien. Néanmoins, il me semble assez net que le problème est mal défini. Dire que le découpage doit être complètement aléatoire, ça ne veut pas dire grand chose.
Comme l'a souligné Jasmine, si on coupe chaque morceau avec une fonction uniforme sur la taille du morceau, on découpe en morceaux de plus en plus petits, ce qui n'est pas vraiment aléatoire. Ce qui faudrait, c'est savoir, c'est s'il y a une probabilité donnée de cassure de l'ADN, et si cette probabilité est uniforme. Si c'est le cas, l'algorithme est simple. |
|
|
10
|
|
|
#20 | |
|
Invité de passage
![]() Étudiant Inscription : avril 2011 Messages : 11 ![]() |
Salut salut !! en forme aprés ce weekend ?
Citation:
Sinon Pour Laura Ton programme m'a l'air trés bien, je suis en train de le tester... Edit : Maintenant j'ai un autre probleme quand je le lance , il me marque cela : Code :
/usr/bin/perl : symbol lookup error : /geninf/prog64/lib/perl/x86_64-linux-thread-multi/auto/Cwd/Cwd.so : undefinied symbol: Perl_Tstack_sp_ptr Merci bien ! Enjoy |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com