de retour à l'extérieur de la fonction
Hii j'obtiens l'erreur suivante dans Biopython: "retour" à l'extérieur de la fonction (nom de fichier.. en ligne 26)
Ci-dessous est le code de myfile
S'IL VOUS PLAÎT AIDER
# File Name RandonProteinSequences.py
# standard library
import os
import random
# biopython
from Bio.Seq import Seq
from Bio.Alphabet import IUPAC
from Bio.SeqRecord import SeqRecord
import Bio.writers.SeqRecord.fasta
from Bio import SeqIO
from sys import *
residueList1 = ["C","D","E","F","G","H","I"]
residueList2 = ["A","K","L","M","N","S"]
residueList3 = ["P","Q","R","T","V","W","Y"]
residueList4 = ["C","A","G","U"]
def getProteinSeqRecord(residue, seqcount):
strSeq = ""
for i in range(0,100,1):
index = random.randint(0, len(residue)-1)
strSeq += residue[index]
sequence = Seq(strSeq, IUPAC.IUPACProtein)
seqRec = SeqRecord(sequence, id = 'randSeq' + str(seqcount), description= 'A random sequence using Amino acid residues.')
return seqRec
def getProteinSequence(residue):
strSeq = ""
for i in range(0,100,1):
index = random.randint(0, len(residue)-1)
strSeq += residue[index]
sequence = Seq(strSeq, IUPAC.IUPACProtein)
return sequence
def randomProteinSeqRecord(index):
if(index%2)==0:
return getProteinSeqRecord(residueList1, index)
elif(index%3)==0:
return getProteinSeqRecord(residueList2, index)
else:
return getProteinSeqRecord(residueList3, index)
#information
print '--- This is python based program to generate random sequences ---'
print '--- Provide number of random sequences to generate. Default 10 ---'
print '--- Inorder to save to a file provide file path or filename ---'
print '--- If none or invalid filepath is provided then results will be displayed to console ---'
print '--- The file will be created in fasta format ---'
print
filepathProvided = False
#raw_input received the user input as string
try:
filepath = raw_input('Enter filepath to save sequences ... ')
filepath = filepath + '.fasta'
handle = open(filepath, "w")
handle.close()
filepathProvided = True
except IOError:
print 'Invalid or No File provided will print results to console'
print
ranSeqCount = 10
try:
ranSeqCount = int(raw_input('Enter number of random sequences to generate ... '))
except ValueError:
ranSeqCount = 10
pass
if(filepathProvided):
handle = open(filepath, "w")
if(filepathProvided):
fasta_writer = Bio.writers.SeqRecord.fasta.WriteFasta(handle)
else:
fasta_writer = Bio.writers.SeqRecord.fasta.WriteFasta(stdout)
print 'Sequence Count : '
print ranSeqCount
for i in range(0,ranSeqCount,1):
fasta_writer.write(randomProteinSeqRecord(i+1))
if(filepathProvided):
handle.close()
print 'File created at : ' + filepath
print
raw_input('Press any key to exit ...')
print
on dirait que vous copie&collé mal
Malgré le fait que la question de l'affiche aurait évidemment fait QUELQUES recherches pour trouver la solution, je pense que cette question ne mérite pas vers le bas-droit de vote, car il peut être très utile pour python nouveaux arrivants. L'ensemble de l'espace problème, combiné avec la perte de mise en forme sur le copier-coller depuis/vers différentes sources peut être très déroutant
En effet. J'ai n'ai ni voté en bas, ni voté pour fermer. Mais je n'ai pas envie, je veux donner une réponse sérieuse, comme l'OP, on n'a visiblement pas passé beaucoup de temps à apprendre les bases de python.
Malgré le fait que la question de l'affiche aurait évidemment fait QUELQUES recherches pour trouver la solution, je pense que cette question ne mérite pas vers le bas-droit de vote, car il peut être très utile pour python nouveaux arrivants. L'ensemble de l'espace problème, combiné avec la perte de mise en forme sur le copier-coller depuis/vers différentes sources peut être très déroutant
En effet. J'ai n'ai ni voté en bas, ni voté pour fermer. Mais je n'ai pas envie, je veux donner une réponse sérieuse, comme l'OP, on n'a visiblement pas passé beaucoup de temps à apprendre les bases de python.
OriginalL'auteur Hemant0285 | 2011-05-19
Vous devez vous connecter pour publier un commentaire.
Python est sensible à l'indentation. Si votre code est mal indenté, ça ne marchera pas.
Mon incroyable googler pouvoirs dites-moi, vous avez pris votre code de cette page, où, malheureusement, le code n'est pas correctement formaté soit.
Mais ici, j'ai pris l'effort. Je ne suis pas responsable si cela échoue lamentablement, parce que je n'ai pas couru, pas même mentalement.
Merci....Google Roches
MERCI....Cela a fonctionné... Bien que maintenant, il dit qu'Aucun module nommé écrivains.SeqRecord.fasta De où puis-je télécharger ce module...Acutally je suis très faible en Python
href="http://python-biopython.sourcearchive.com/documentation/1.49-1ubuntu1/namespaceBio_1_1writers_1_1SeqRecord_1_1fasta.html" >Cette page dit qu'il a été utilisé, sans-papiers, obsolète. Cela signifie probablement qu'elle était retirée dans l'intervalle. J'ai peur que ce code que vous avez trouvé doit être assez vieux et a besoin d'être mis à jour.
OriginalL'auteur Zecc
Python dépend de l'indentation pour déterminer où les fonctions (et les autres structures de bloc). Sans doute, la fonction qui est la cause de votre erreur devrait ressembler à ceci:
A travaillé sur la même chose à la ligne 35...Il fonctionne bien.. jus le module manquant erreur que j'ai mentionnés ci-dessous
OriginalL'auteur Michael J. Barber
Vous avez votre intendation mal
Obtenez cette erreur:: Traceback (most recent call last): File "C:\Users\Hemant\Desktop\RandonProteinSequences.py", à la ligne 10, in <module> import Bio.les écrivains.SeqRecord.fasta ImportError: No module named écrivains.SeqRecord.fasta
droit" et "utile" sont deux choses différentes. Dire à la personne il y a un espace erreur quelque part entre la première ligne et la dernière ligne est pratiquement inutile, surtout pour un débutant.
avec l'information, que l'indentation est faux, l'OP a suffit de regarder sur python.org google et. Ce n'est donc pas inutile de répondre.
Frères, veuillez vous permet de ne pas discuter de qui a raison et qui a tort,,, au Lieu de cela s'il vous plaît aidez-moi ... avec cette erreur Traceback (most recent call last): File "C:\Users\Hemant\Desktop\RandonProteinSequences.py", à la ligne 10, in <module> import Bio.les écrivains.SeqRecord.fasta ImportError: No module named écrivains.SeqRecord.fasta
OriginalL'auteur ts.