IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

m�thode pour encoder une s�quence ADN


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de FryHandiz
    Femme Profil pro
    �tudiant
    Inscrit en
    Mars 2016
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 26
    Par d�faut m�thode pour encoder une s�quence ADN
    Bonjour � toutes et � tous,

    Je d�bute en C++ et j'ai une petite API � d�velopper.
    Sauf que voil�, j'arrive � un moment o� je bloque un peu... !
    Donc j'ai une s�quence ADN form�e des quatre lettres suivantes : ATCG et j'ai besoin de l'encoder afin de pouvoir la manipuler (genre cr�er une s�quence reverse ex:GCTA, ou le compl�mentaire TAGC). Bref, mon souci est surtout qu'on m'a vite fait parl� d'un truc que je ne comprends pas.
    Apparemment, il est n�cessaire d'encoder pour se retrouver avec par exemple A = 0, C=1, T=2 et G=3. Pour que �a prenne moins de place en m�moire (Gni�h ? 1�re question xD). Apparemment, quand je "stock" mes valeurs dans un tableau, �a prendrait moins de place...
    Et apr�s bon... Je sais pas trop comment cr�er ma m�thode mais d�j�, comprendre �a m'aiderait pas mal.

    Merci d'avance pour votre aide !

  2. #2
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Salut,

    te fatigues pas avec des consid�rations de quantit� de m�moire. (tu peux lancer ce regard � quiconque t'as sorti cette absurdit�)
    Tu veux une s�quence, tu cr�es un vector et basta. Un vector de char est suffisant. Si tu veux fignoler, tu peux cr�er un enum contenant tes 4 valeurs � la place, et c'est tout pour le moment, �a fera tr�s bien l'affaire.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  3. #3
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Si j'ai bien compris le principe de l'ADN (ce qui reste encore � d�montrer, vu que je suis informaticien, et non biologiste ), le nuc�lotide est syst�matiquement compos�s de quatre �l�ments repr�sent�s par les lettre C G A et T (et autre combinaisons possibles), et tu as une s�rie de nuc�lotides qui se suivent pour repr�senter une "s�quence ADN"(merci wikipedia ).

    H� bien, le plus facile est sans doute de cr�er deux types de donn�e bien distincts : un type de donn�e permettant de repr�senter la notion de nucl�otide et un type de donn�e permettant de repr�senter... une s�quence d'ADN.

    Ceci dit, je dis qu'il faut cr�er des types de donn�es, mais le seul but recherch� est de permettre au d�veloppeur de savoir s'il est occup� � travailler sur... ce qui repr�sente un nucl�otide ou sur ce qui repr�sente une s�quence ADN! On n'est donc pas forc�ment oblig� d'aller tr�s loin dans la d�finition de ces types et, en l'occurrence, des alias de type pourraient tr�s bien faire l'affaire (enfin, dans un premier temps du moins).

    Ainsi, la notion de nucl�otide, vu quelle doit �tre repr�sent�e par quatre lettres, pourrait tr�s bien prendre la forme de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    using Nucleotide = std::array<char, 4>;
    (Attention: C++11 obligatoire )

    Quant � la notion de "s�quence d'ADN", elle pourrait tout aussi bien prendre la forme de
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    using AdnSequence = std::vector<Nucleotide>;
    .

    La seule chose, c'est que la notion de tableau (comme celle repr�sent�e par la classe std::vector) est particuli�rement rapide lorsqu'il s'agit d'acc�der aux diff�rents �l�ments qu'elle contient, mais... d'une lenteur crasse lorsqu'il s'agit d'augmenter le nombre d'�l�ments qu'elle est capable de contenir. Si bien que l'id�al est g�n�ralement de faire en sorte que std::vector demande directement "assez de m�moire" que pour �tre en mesure de contenir l'ensemble des �l�ments que nous nous appr�tons � lui donner.

    PS : je confirme ce que bousk dit : un char pour repr�senter les valeurs de C, G, T et A est largement suffisant, et prendra surement moins de place en m�moire que d'utiliser n'importe quel type "entier"

    En outre, il serait �ventuellement possible de faire encore mieux du point de vue de l'utilisation de la m�moire en essayant de faire en sorte d'utiliser syst�matiquement deux bits pour chaque lettre. Mais, � moins d'avoir la preuve que l'utilisation d'un char pour repr�senter un des �l�ments du nucl�otide ne repr�sente d�j� une "utilisation trop importante de la m�moire", je crois qu'il serait particuli�rement masochiste d'essayer de faire autrement
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  4. #4
    Membre �clair�
    Homme Profil pro
    Cocher moderne
    Inscrit en
    Septembre 2006
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Oman

    Informations professionnelles :
    Activit� : Cocher moderne

    Informations forums :
    Inscription : Septembre 2006
    Messages : 50
    Par d�faut Du nucl�otide...
    Salut,

    Un nucl�otide est SOIT : A, C, G ou T. Il semble donc qu'une enum soit plus appropri�e qu'un std::array!

    Non?

  5. #5
    R�dacteur/Mod�rateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : Canada

    Informations professionnelles :
    Activit� : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par d�faut
    Oui mais tu as bien une s�quence de nucl�otide non ? Donc fatalement � un moment il t'en faut plusieurs.. un tableau/array donc.
    Pensez � consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation r�seau ?
    Aucune aide via MP ne sera dispens�e. Merci d'utiliser les forums pr�vus � cet effet.

  6. #6
    Membre �clair�
    Homme Profil pro
    Cocher moderne
    Inscrit en
    Septembre 2006
    Messages
    50
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : Oman

    Informations professionnelles :
    Activit� : Cocher moderne

    Informations forums :
    Inscription : Septembre 2006
    Messages : 50
    Par d�faut
    Ah ouais, je n'avais pas compris �a comme �a.

Discussions similaires

  1. M�thode pour dimensionner une architecture ?
    Par ericlemoustic dans le forum Autres
    R�ponses: 3
    Dernier message: 11/05/2006, 16h14
  2. Pb pour encoder une adresse avec des &
    Par fpouget dans le forum Langage
    R�ponses: 2
    Dernier message: 28/04/2006, 09h41
  3. M�thode pour marquer une carte
    Par Space Cowboy dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 6
    Dernier message: 27/03/2006, 13h15
  4. M�thode pour inclure une langue
    Par HwRZxLc4 dans le forum Langage
    R�ponses: 14
    Dernier message: 20/03/2006, 09h22
  5. [SWING][THREAD]M�thodes pour afficher une Frame
    Par pompidouwa dans le forum Agents de placement/Fen�tres
    R�ponses: 3
    Dernier message: 05/05/2004, 10h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo