Programme python qui recherche toutes les occurrences d’un site de restriction

Fermé
ERMO - 14 nov. 2020 à 19:37
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 17 nov. 2020 à 18:19
Bonjour, j'ai un programme à réaliser mais je rencontre des difficultés. Pouvez-vous m'aider s'il vous plait ?

Voici l'énnoncé :

Ecrire un programme qui lis une séquence d’ADN au format fasta stockée dans un fichier et qui recherche toutes les occurrences d’un site de restriction donné par l’utilisateur pour les indiquer en majuscules, le reste de la séquence étant en minuscules. Ce programme devra afficher la séquence par blocs de 60.

Avez-vous des idées ?
Merci d'avance pour votre réponse
A voir également:

4 réponses

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
14 nov. 2020 à 22:59
0
J'ai réussi à lire la séquence au format FASTA, et à l'afficher par bloc de 60. Cependant je n'arrive pas à mettre en évidence le site de restriction rentré par l'utilisateur.
Voici ce que j'ai essayé:

nom_fichier = input('Quel est le nom du fichier FASTA contenant la séquence ? ')
fichier_fasta = open(nom_fichier) #ouverture fichier FASTA contenant la séquence
nom = fichier_fasta.readline().strip() #On passe la premiere ligne
sequence = '' # boucle de lecture de la sequence
for ligne in fichier_fasta.readlines() :
sequence = sequence + ligne.strip()
fichier_fasta.close() #fermeture fichier FASTA
sequence=sequence.lower()

# affichage par bloc de 60
for i in range(0,len(sequence),60) :
print(sequence[i:i+60])
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
16 nov. 2020 à 20:54
peux-tu relire soigneusement la page dont je t'ai envoyé le lien? elle explique, entr'autres, comment poster du code.
0
J'ai réussi à lire la séquence au format FASTA, et à l'afficher par bloc de 60. Cependant je n'arrive pas à mettre en évidence le site de restriction rentré par l'utilisateur.
Voici ce que j'ai essayé:

<code csharp>nom_fichier = input('Quel est le nom du fichier FASTA contenant la séquence ? ')
fichier_fasta = open(nom_fichier) #ouverture fichier FASTA contenant la séquence
nom = fichier_fasta.readline().strip() #On passe la premiere ligne
sequence = '' # boucle de lecture de la sequence
for ligne in fichier_fasta.readlines() :
sequence = sequence + ligne.strip()
fichier_fasta.close() #fermeture fichier FASTA
sequence=sequence.lower()

# affichage par bloc de 60
for i in range(0,len(sequence),60) :
print(sequence[i:i+60])
</code>
                
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
17 nov. 2020 à 14:30
si c'est du python, pourquoi le postes-tu avec les balises pour c#?

je ne vois pas où tu essaies de faire quelque chose avec le site de restriction.
0
Le programme doit demander un site de restriction à l'utilisateur. Il s'agit d'une suite de lettres. Ensuite le programme doit repérer et mettre en évidence ce site dans la séquence qu'il a lu dans le format FASTA.

Exemples d'exécution :
Nom du fichier de la sequence d'ADN (format fasta) : seq1.txt
Entrez un site de restriction : AAGCTT
affichage en majuscules des sites de restriction trouves :
tgcggctgagggcggattcctggtggatccggtgaacggccagaagatcaccgtgttAAG
CTTgcgcgacccggccaacatcaactgggccagtgggaattcctggagccgaattcgtat
gtggtggagtccaccggagtgttcaccaccattgacaagAAGCTTgcgtccacccacttg
aagggcgg


nom_fichier = input('Quel est le nom du fichier FASTA contenant la séquence ? ')
fichier_fasta = open(nom_fichier) #ouverture fichier FASTA contenant la séquence
nom = fichier_fasta.readline().strip() #On passe la premiere ligne
sequence = '' # boucle de lecture de la sequence
for ligne in fichier_fasta.readlines() :
     sequence = sequence + ligne.strip()         
fichier_fasta.close() #fermeture fichier FASTA
sequence=sequence.lower()

# affichage par bloc de 60
for i in range(0,len(sequence),60) :
   print(sequence[i:i+60]) 
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
17 nov. 2020 à 18:19
à toi maintenant de trouver comment continuer l'exercice.
si tu ne trouves vraiment pas, je suggère de faire d'abord des exercices plus simples.
0