le 12-28-2014 10:09 AM
Bonjour, je suis un simple étudiant en Bac+2 et j'ai un petit projet à présenter mais j'ai un problème de taille au démarrage :
Je voudrais générer une chaîne de x caractères comprenant uniquement les caractères A, T, C, G. Jusque là, rien de bien compliqué, je me suis dit A=0 T=1 C=2 G=3 et je les génère par le hasard.
Là, ou ça se corse, je voudrais avoir un certain pourcentage de C et G par rapport au total des caractères et là je suis bloqué.
Admettons que je veule 60% de caractères C et G dans ma chaîne de longueur 20 par exemple. J'ai eu l'idée de générer une chaîne de 0.6*20=12 caractères pour les C et G et du coup 8 pour les A et T et de les concaténer et voilà le problème, j'obtiens :
CGGGCGCGCCGGAATTTATA
Je voudrais que ces caractères soient complètement mélangés ( ex : CCATGCGAGACTAGGGTTCG ) pour la suite de mon programme.
Comment faire intervenir le désordre avec cette chaine ?
Et là, je sèche, j'ajoute que je débute en Labview et que mon prof n'a pas su me répondre non plus, je m'en remets donc à vous 😕
Merci d'avance à ceux qui répondront !
le 12-28-2014 11:04 AM
12-29-2014 04:48 AM - modifié 12-29-2014 04:49 AM
Bonjour CapitaineNemo,
Voilà une solution qui génère une chaîne de caractère à la taille souhaitée et qui contient une proportion paramétrable de C et G.
Dans mon VI, je suis parti du principe qu'on voulait autant de A que de T et autant de C que de G mais qu'on peut choisir la proportion de C+G par rapport à A+T. Lors des divisions pour calculer les nombre de lettres, j'ai priviliégier le A et le C en faisant la division entière et en ajoutant le reste au A et au C.
Ensuite on vient mélanger le tableau généré avec la fonction donné par @altenbach.
Je te laisse nous dire si ca te convient.
Si c'est bon pour toi, pense à marquer ta question comme résolue et a remercier les contributeurs.
Maxime R.
CLA - Certified LabVIEW Architect / Architecte LabVIEW Certifié
CTA - Certified TestStand Architect / Architecte TestStand Certifié
12-29-2014 06:52 AM - modifié 12-29-2014 06:53 AM
@MaximeR : "... proportion paramétrable de C et G"
comprends pas ... Pourquoi "proportion" ?
Perso, il me semblait avoir compris qu'il fallait simplement "mélanger" ...
donc reprendre la totalité de l'entrée et simplement y inclure un ordre aléatoire.
EDIT
au temps pour moi, je dois encore avoir le cerveau dans la colle.
J'ai relu ... ok Maxime ... tu as raison.
01-05-2015 08:46 AM - modifié 01-05-2015 08:47 AM
Salut,
Ci-dessous l'exemple de MaximeR modifié, à la place de la boucle For j'utilise les valeurs décimales des caractères ATCG:
A+