#!/usr/bin/env python # -*-coding:Utf-8 -* ######################### Lecture fichier PDB apres avoir entre le code PDB (E. Jaspard 2017) ######################### import urllib # Le module urllib fait partie de la bibliotheque standard de Python. CodePDB = raw_input("Entrer le code PDB : ") URLPDB = "http://files.rcsb.org/view/" + CodePDB + ".pdb" # symbole + pour concatener des chaines / Exemple : https://files.rcsb.org/view/2NBT.pdb print"URL PDB demandee : ", URLPDB FichierPDB = urllib.urlopen(URLPDB) # fonction urlopen ==> lit le texte complet de la page web / comme pour un fichier texte PONTnumero = 1 NombrePONTS = 0 EcriturePONTS = open('PontDisulfure.txt', 'w') # w : ouverture en ecriture (WRITE) / a chaque ouverture le contenu du fichier est ecrase. Si le fichier n'existe pas python le cree. # a : ouverture avec ajout a la fin du fichier (APPEND). Si le fichier n'existe pas python le cree. print"Position des cysteines impliquees dans les ponts :" for LigneEnCours in FichierPDB.readlines(): # Les 2 points ':' sont necessaires a la syntaxe / readlines() est une methode if(len(LigneEnCours) > 6): if(LigneEnCours[0:6] == "SSBOND"): print"numero ", PONTnumero, " => ", LigneEnCours [10:40:+1] # Affichage de la ligne en cours a partir de la 7eme position PONTnumero += 1 NombrePONTS += 1 EcriturePONTS.write(LigneEnCours) if NombrePONTS == 0: print ("Aucun pont disulfure.") EcriturePONTS.close() FichierPDB.close() print("\n") # Retour a la ligne LecturePONTS = open('PontDisulfure.txt', mode = 'r') print"Lecture des lignes fichiers PONTS : " indice = 1 for LigneEnregistre in LecturePONTS.readlines(): print"Ligne enregistree ", indice , " => ", LigneEnregistre [10:40:+1] # Affichage de la ligne en cours a partir de la 7eme position indice += 1 LecturePONTS.close() print("\n") # Retour a la ligne