Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Logiciel R: programme pour modifier une séquence d'ADN



  1. #1
    muriel38

    Logiciel R: programme pour modifier une séquence d'ADN


    ------

    Bonjour!

    Je fais un stage de paléogénétique et je bosse donc sur des séquences d'ADN.

    Je recois mes séquences sous forme d'un fichier .seq, que j'essaye de convertir en .txt afin de pouvoir l'ouvrir avec R mais ca le modifie...
    Est-il possible d'ouvrir un fichier .seq sous R???

    Sinon c'est pas grave, je les crée en faisant:
    seq <- ("ATCG")

    Ce que je cherche à faire surtout c'est pouvoir chercher une occurence dans cette séquence et supprimer tout ce qui est avant, occurence comprise.

    En clair si j'ai:
    seq <- ("AATCGCGGGGGATCG")
    Je souhaite dire à R de me trouver l'occurence "GGGGG" et de la supprimer, ainsi que tout c'est qui est avant, pour n'avoir plus que ATCG.

    Merci d'avance!!

    Muriel

    -----

  2. Publicité
  3. #2
    MaliciaR

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    Salut,

    Es-tu obligée de faire ça en R? Ou tu peux le faire via un prog créé avec un autre langage et juste analyser les nombres d'occurrences en R.
    An expert is one who knows more and more about less and less.

  4. #3
    muriel38

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    Merci pour ta réponse!

    Je pourrais le faire dans un autre langage mais je n'y connais rien...!

    Malheureusement, j'ai des tas d'idées de prgm informatique qui me faciliterait la vie mais que je suis incapable de mettre en oeuvre.
    J'envisage d'essayer de me mettre à la rogrammation dans d'autres langages, mais il faut du temps et pour le moment je dois le consacrer à mon stage et à mes recherches de thèse!

    De nombreuses personnes de ma branche utilise PERL. Je vais peut etre essayer de faire ce prgramme dans ce langage...

    Et sinon que me conseillerais-tu?

    A bientot!

    Muriel

  5. #4
    MaliciaR

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    Salut,

    Citation Envoyé par muriel38 Voir le message
    De nombreuses personnes de ma branche utilise PERL. Je vais peut etre essayer de faire ce prgramme dans ce langage...

    Et sinon que me conseillerais-tu?
    Beh si quelqu'un dans ton équipe peut te filer un coup de main en Perl, fais ton prog en Perl Mais bon, il faut que ce soit clair que c'est un autre domaine de compétences, l'info, et qu'on ne peut pas y arriver du jour au lendemain.
    Sinon, tu pourras apprendre autres choses en thèse (genre, Python ).

    En gros, ce que tu dois faire :
    Code:
    ouvrir input file en lecture et 2 output files en écriture;
    mettre chaque séquence sous la forme d'une seule ligne;
    pour chaque ligne faire 
      parcourir ligne par ligne; #je sais, c'est lourd... Les informaticiens, on ne me blâme pô!
      si titre alors  #(le ">" du format FASTA)
          passer à la ligne suivante;
      sinon
          chercher occurrence;
               si occurrence XXXX trouvée alors
                     supprimer XXXX et ce qui se trouve entre position 0 et dernier X;
                     recopier séquence résultant + son titre dans un nouveau fichier seq.outfile;
                     recopier titre seul de la séquence match dans un autre fichier title.outfile;
               finsi
      finsi
    finpour
    fermer tous les fichiers et quitter le programme;
    Voilà une marche à suivre de base et qui fonctionne (avec #, j'ai mis un commentaire). Cela dit, je pense que d'autres te répondront aussi Et si tu te lances là-dedans avec Perl, n'oublie pas d'installer les modules BioPerl, ils sont assez utiles.


    Bon courage et n'hésite pas si tu as des questions!
    Dernière modification par MaliciaR ; 22/03/2009 à 23h44.
    An expert is one who knows more and more about less and less.

  6. A voir en vidéo sur Futura
  7. #5
    TiClic

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    En VBA, c'est assez facile à faire. Mais comme ta chaîne peut être très longue, tu ne peux pas la charger en mémoire directement sous peine d'avoir un dépassement de la pile.

    On va donc considérer que ce fichier a été écrit en accès direct (1 champ de 1 octet). Il suffit ensuite de lire les octets par 4 (1/2/3/4...2/3/4/5...n-3/n-2/n-1/n) de les comparer à la chaîne recherchée et de supprimer les occurrences rencontrées.

    Si tu as un fichier à proposer, ce sera plus simple à travers un petit exemple.

  8. #6
    TiClic

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    Je viens de le faire sur un fichier de 5.000.000 de caractères. Tu adapteras, car je n'y connais rien en génétique. Tu lances Excel et tu passes sous VB. Tu insères un module dans lequel tu vas déclarer deux types comme ci-dessous :
    Code:
    Public Type Structure
      Séquence As String * 4
    End Type
    
    Public Type Copie
      Octet As String * 1
    End Type
    Tu insères maintenant une UserForm sur laquelle tu places un bouton.
    Mon fichier initial est sur la racine de mon PC et s'appelle c:\genome1.txt. Je vais rechercher la première occurrence "GCCG" par exemple.

    Dans le bouton, tu colles le code suivant :
    Code:
    Private Sub CommandButton1_Click()
      Dim Chaîne As Structure
      Dim Caractère As Copie
      Dim I As Long
      Dim Occurrence As String
      Dim Flag As Long
      Dim FichierOrigine As String
      Dim FichierDestination As String
      
      Occurrence = "GCCG"
      FichierOrigine = "c:\genome1.txt"
      FichierDestination = "c:\genome2.txt"
      
      Open FichierOrigine For Random As #1 Len = 4
        For I = 1 To FileLen(FichierOrigine) - 3
          Get #1, I, Chaîne
          If Chaîne.Séquence = Occurrence Then
            Flag = I
            Exit For
          End If
        Next I
      Close #1
      
      ' Il n'y a pas d'occurrence
      If Flag = 0 Then
        MsgBox "Occurrence non trouvée"
        End
      End If
      
      'Il y a au moins une occurrence, on crée un nouveau fichier où on recopie le reste de la chaîne
      MsgBox "La première occurrence a été trouvée au caractère " & str(Flag)
      Open FichierDestination For Random As #1 Len = 1
        For I = Flag + 2 To FileLen(FichierOrigine)
          Get #1, I, Caractère
          Put #1, I - Flag - 1, Caractère.Octet
        Next I
      Close #1
      End
    End Sub
    Dans mon fichier initial, la 1ère occurrence se trouve du caractère 168. Mon fichier final fait donc 5.000.000 - 168 - 3 = 4.999.829 octets. Temps de traitement : 30 secondes.

    J'ai fait une erreur sur la fin, je corrige dans la matinée.
    Dernière modification par TiClic ; 23/03/2009 à 08h03.

  9. Publicité
  10. #7
    TiClic

    Re : Logiciel R: programme pour modifier une séquence d'ADN

    Tu remplaceras la fin par ça :

    Code:
      'Il y a au moins une occurrence, on crée un nouveau fichier où on recopie le reste de la chaîne
      MsgBox "La première occurrence a été trouvée au caractère " & Str(Flag)
      Open FichierOrigine For Random As #1 Len = 1
        Open FichierDestination For Random As #2 Len = 1
          For I = Flag + 2 To FileLen(FichierOrigine)
            Get #1, I, Caractère
            Put #2, I - Flag - 1, Caractère.Octet
          Next I
        Close #2
      Close #1
      End

Discussions similaires

  1. Bioinformatique - Etudes d'une sequence d'ADN
    Par Barbanath dans le forum Biologie
    Réponses: 10
    Dernier message: 17/10/2010, 20h57
  2. Réponses: 2
    Dernier message: 12/01/2009, 20h40
  3. Séquence pour prendre une photo CCD
    Par star62 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 6
    Dernier message: 05/01/2009, 19h15
  4. Une nanoboîte d'ADN pour délivrer les médicaments
    Par RSSBot dans le forum Commentez les actus, dossiers et définitions
    Réponses: 2
    Dernier message: 01/12/2006, 16h27
  5. logiciel pour sequence audio en boucle
    Par freesbeep dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/02/2006, 13h43
Découvrez nos comparatifs produits sur l'informatique et les technologies.