Guest User

Untitled

a guest
Jul 21st, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.02 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. #title           :SQL_resultat.py
  4. #description     :
  5. #author          :Damien CHOISNE
  6. #date            :03/15/2012
  7. #version         :1.0
  8. #usage           :Construire une base de données SQL
  9. #notes           :
  10. #python_version  :2.7.2  
  11. #==============================================================================
  12. import subprocess
  13. import sys
  14. import os
  15. import MySQLdb as mdb
  16. from Bio import SeqIO
  17.  
  18. Nom_Orga = ""
  19.  
  20. con = mdb.connect('localhost','root','metaviro','test')
  21.  
  22. cur = con.cursor()
  23. cur.execute("SELECT Orga_ID, Nom_Orga FROM Orga")
  24. fetch_Orga_ID = cur.fetchall()
  25.  
  26. dico_Orga = {}
  27. for i in fetch_Orga_ID :
  28.     dico_Orga.setdefault(i[0], []).append(i[1]) # dico du style {ID:Nom_Orga}
  29.    
  30. for key, value in dico_Orga.iteritems():
  31.     Nom_Orga = dico_Orga[key]
  32.     print Nom_Orga
  33.     cur = con.cursor()
  34.     cur.execute("SELECT CDS.CDS_ID FROM CDS, Orga WHERE CDS.Orga_ID=Orga.Orga_ID  AND Orga.Orga_ID = "+str(key)+"")
  35.     liste_cdsID_Orga = cur.fetchall()
  36. #   print liste_cdsID_Orga
  37.  
  38.     for CDS_ID in liste_cdsID_Orga :
  39.         cur = con.cursor()
  40.         cur.execute("SELECT Liste_dinucl.dinucl, dinucl.Occurrence FROM Liste_dinucl INNER JOIN dinucl ON Liste_dinucl.dinucl_ID = dinucl.dinucl_ID WHERE dinucl.CDS_Id = '"+str(CDS_ID)+"' ")
  41.        
  42.         fetch_OligoOccurence = cur.fetchall() #on recupere les occurences des oligo
  43.    
  44.         longueur_sequence = ''
  45.         cur = con.cursor()
  46.         cur.execute("SELECT CDS.len_seq FROM CDS WHERE CDS.CDS_ID = '"+str(CDS_ID)+"'")
  47.         longeur_seq = cur.fetchall()
  48.         print longeur_seq
  49.         longueur_sequence = longeur_seq[0][0] # on recupere la longueur du cds
  50.    
  51.         dico_cds_OligoOccurence = {}
  52.         for i in fetch_OligoOccurence :
  53.             dico_cds_OligoOccurence.setdefault(i[0], []).append(i[1]) #on le transforme en dico
  54.            
  55.         for key, value in dico_cds_OligoOccurence.iteritems():
  56.             dico_cds_OligoOccurence[key][0]=round(float(dico_cds_OligoOccurence[key][0])/longueur_sequence,5) #on le passe en frequence avec 5 chiffre apres la virgule
  57.        
  58.         print "dico_apres", dico_cds_OligoOccurence
Add Comment
Please, Sign In to add comment