Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import urllib.request
- import sys
- def check_importMIMAT(MIMAT): # Micro ARN
- print("Verification de la récupération du µARN en cours... Database : mirbase")
- weblink = "http://www.mirbase.org/cgi-bin/get_seq.pl?acc="+MIMAT
- final = urllib.request.urlopen(weblink)
- data_uARN= final.read()
- final.close()
- if len(data_uARN) != 0 : # Si l'iD fournie est juste, len(data) ne sera pas nulle
- return True # Renvoie True
- else:
- print("Problème dans la création du fichier MIMAT.")
- def check_importBC_seq(BC_seq): # Sequence
- print("Verification de la récupération de la sequence en cours... Database : EBI")
- weblink = "http://www.ebi.ac.uk/ena/data/view/"+BC_seq
- weblink += "&display=fasta"
- final = urllib.request.urlopen(weblink)
- data_BC_seq = final.read()
- data_BC_seq_test = data_BC_seq.decode("utf-8")
- final.close()
- if "not found" not in data_BC_seq_test :# Si l'iD fournie est juste, len(data) ne sera pas nulle
- return True # Renvoie True
- else:
- print("Problème dans la création du fichier EBI.") # Sinon renvoie False
- def check_importBC_fiche(BC_fiche): # Fiche
- print("Verification de la récupération de la fiche en cours... Database : ENA")
- weblink = "http://www.ebi.ac.uk/ena/data/view/"+BC_fiche
- weblink += "&display=text"
- final = urllib.request.urlopen(weblink)
- data_BC_fiche = final.read()
- data_BC_fiche_test = data_BC_fiche.decode("utf-8")
- final.close()
- if "not found" not in data_BC_fiche_test : # Si l'iD fournie est juste, len(data) ne sera pas nulle
- return True #Renvoit True si ID correct.
- else:
- print("Problème dans la création de la fiche ENA.") #Renvoit True si ID incorrect.
- def import_MIMATseq(): # Si on ne le précise pas, b vaudra 0 de base
- weblink = "http://www.mirbase.org/cgi-bin/get_seq.pl?acc="+MIMAT # Recrée une adresse complète mirbase via l'id fournie
- final = urllib.request.urlopen(weblink)
- data = final.read()
- string = data.decode("utf-8") # Permet de convertir via utf8
- string = string.replace('<pre>','') # Supprime les balises <pre> par rien
- seq_string = string.replace('</pre>','') #Supprime les balises <\pre> par rien
- final.close()
- return seq_string # Renvoie la séquence fasta sous forme de string
- def import_BC_seq (): # Si on ne le précise pas, b vaudra 0 de base
- weblink = "http://www.ebi.ac.uk/ena/data/view/"+BC_seq # Recrée une adresse complète EBI via l'ID fournie
- weblink += "&display=fasta"
- final = urllib.request.urlopen(weblink)
- data = final.read()
- string = data.decode("utf-8") # Permet de convertir via utf8
- string = string.replace('<pre>','') # Supprime les balises <pre> par rien
- seq_string = string.replace('</pre>','') #Supprime les balises <\pre> par rien
- final.close()
- return seq_string # Renvoie la séquence fasta sous forme de string
- def import_BC_fiche (): # Si on ne le précise pas, b vaudra 0 de base
- weblink = "http://www.ebi.ac.uk/ena/data/view/"+BC_fiche # Recrée une adresse complète EBI via l'ID fournie
- weblink += "&display=text"
- final = urllib.request.urlopen(weblink)
- data = final.read()
- string = data.decode("utf-8") # Permet de convertir via utf8
- string = string.replace('<pre>','') # Supprime les balises <pre> par rien
- fiche_string = string.replace('</pre>','') #Supprime les balises <\pre> par rien
- final.close()
- return fiche_string # Renvoie la séquence fasta sous forme de string
- def create_file_micro():
- f = open(MIMAT+"seq.txt","w") # Ouvre le fichier "Séquence_mirbase.txt" en mode ajout ("a" = append)
- f.write(import_MIMATseq()[2:]) # écrit dans le fichier la séquence, nécéssite le [2:] pour pas avoir un saut de ligne
- f.write('\n') # Saut à la ligne après l'ajout de séquence pour la lisibilité en cas d'import multiple de séquence
- f.close() # Fermeture de fenêtre
- def create_file_seq():
- f = open(BC_seq+"seq.txt","w")
- f.write(import_BC_seq()) # Idem que Verification mirbase sauf qu'on ajoute l'argument 1 pour la BD Ncbi
- f.write('\n')
- f.close()
- def create_file_fiche():
- f = open(BC_fiche+"fiche.txt","w")
- f.write(import_BC_fiche()) # Idem que Verification mirbase sauf qu'on ajoute l'argument 1 pour la BD Ncbi
- f.write('\n')
- f.close()
- ################################################################################
- MIMAT=input("Step1-Veuillez indiquer un ID au format mirbase contenant votre microARN (Ex: MIMAT0000128) :") #"mmu-mir-30a.fas" MIMAT0000128 file_uARN
- BC_seq=input("Step2-Veuillez indiquer un ID au format au format fasta contentant uniquement votre sequence (Ex :BC058693) :") #"smad1.fas" BC058693 file_utr_fas
- BC_fiche=input("Step3-Veuillez indiquer un ID au format ENA contentant votre sequence afin d'isoler le CDS (Ex : BC058693) : ")#"smad1_ENA.txt" BC058693 file_ena
- if check_importMIMAT(MIMAT) is True:
- import_MIMATseq()
- create_file_micro()
- if check_importBC_seq(BC_seq) is True:
- import_BC_seq
- create_file_seq()
- if check_importBC_fiche(BC_fiche) is True:
- import_BC_fiche
- create_file_fiche()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement