Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2658 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Mismatch distribution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mismatch distribution

n°2327720
cmyriam
Posté le 16-01-2019 à 10:33:47  profilanswer
 

Bonjour,
 
J'aurai besoin d'aide pour l'analyse de fichiers fasta (sequence ADN).
J'ai une centaine de fichiers fasta contenant chacun 600 sequences.
Voila a quoi ressemble les fichiers:
 
>1-1-1
CAACCCACAAAAACCCAACACAACAAAACCAACCCAACCAACCCCCCAACACACCCAAAACACACACAACCCAACAAACCACAAAACCAAACAACCCAACACACAACACCCCACCAACCAACAACACCCAAACCAACCCAAAACAAAACCACCACCACCACCCCACACAAAACCAAACCCACC
>1-1-2
CAACCCACAAAAACCCAACAAAACAAACCCCACCCAACCAACCCCCCACCACACCCAAAACACACACAACCCAACAAACCACAAAACCAAACAAACCAACACACAACACCCAACCAACCAACAACACCCAAACCAACCCAAAACAAAACCACCACCACCACCCCACACAAAACCAAACCCACC
>1-1-3
AAACCCACAAAAACCCAACACAACACAACCACCACAACCAACCCCCCCCCACACCCAAAACACACCCAAAACAACAAACCACAACACCAAACAAACCAAAACACAACACCCCCCCAACCAACACCACCAAAACCAACCCAAAACAACCCCACCACCACCACCCCAAACAAAACCACACCCACC
>1-1-4
CAACCCACAAAAACCCAACACAACAAAACCAACCCAACCAACCCCCCAACACACCCAAAACACACACAACCCAACAAACCACAAAACCACACAACCCAACACACAACACCCCACCAACCAACAACACCCAAACCAACCCAAAACAAAACCACCACCACCACCCCACACAAAACCAAACCCACC
 
 
J'aimerai calculer pour chaque fichier de 600 sequences le nombre de differences par pair de sequences.
Par example, le nombre de difference entre 1-1-1 et 1-1-2 puis le nombre de difference entre 1-1-1 et 1-1-3, etc
 
A la fin, j'aimerai obtenir un fichier output qui me donne le nombre de pairs pour chaque nombre differences ainsi que le pourcentage.
Par example:Nombre de Difference     Nombre de pairs   Pourcentage
                             1                           25                     2%
                             2                           50                     4%
                            ...                         ....                     ....
 
Voila le script que j'ai ecrit:
 

Code :
  1. import sys
  2. def readFas(inf):
  3.         seqs = []
  4.         count = 0
  5.         for line in inf:
  6.                 if line.find(">" ) >= 0:
  7.                         #seq = line
  8.                         count += 1
  9.                 else:
  10.                         #seq += line
  11.                         if count == 0:
  12.         return seqs
  13. def count_Diff(seqs, real):
  14. numDiff = 0
  15. for s in range(len(seqs[0])):
  16.  for idx_seq in range(len(seqs)-1):
  17.   if seqs[idx_seq][s] != seqs[idx_seq+1][s]:
  18.    numDiff += 1
  19.    break
  20. return numDiff
  21. #################################################
  22. filehead = sys.argv[1]
  23. startRepl = int(sys.argv[2])
  24. endRepl = int(sys.argv[3])
  25. real = 0
  26. outf = open("p-seg1_"+filehead+".txt", "w" )
  27. for sim in range(startRepl, endRepl):
  28.         for repl in range(1, 51):
  29.          name = "seg1_"+ filehead + "_" +str(sim) + "_" + str(repl) + "_pick.fas"
  30.          inf = open(name, "r" )
  31.        
  32.          seqsWindow = readFas(inf)
  33.          inf.close()
  34.        
  35.          Diff = count_Diff(seqs, real)
  36.  outf.write(str(Diff)"\n" )

     
 
Cependant je n'arrive pas a faire un script qui fonctionne et je ne vois vraiment pas comment obtenir le tableau que je veux.
Si quelqu'un pouvait m'aider ou avait des suggestions a me proposer, j'en serai tres heureuse car je suis vraiment perdue.
 
Merci d'avance
 
 

mood
Publicité
Posté le 16-01-2019 à 10:33:47  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Mismatch distribution

 

Sujets relatifs
JAVA - Distribution d'un paquet de carteJAVA - Distribution d'un jeu de carte
App Android : distribution, MAJ, versioningdistribution des données dans une base des données
[PHP][MAIL] Envoyer un message d'échec de distributionrecuperer les messages de non distribution d'email?
[Débutant] Distribution aléatoireDistribution et droit
Distribution de lotsProblème de distribution d'un programme
Plus de sujets relatifs à : Mismatch distribution


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR