Also, could you explain better what is your doubt? You don't understand what "index >= 1" means, or why this "if" at this point, or anything else?
Best 2014-02-07 17:14 GMT+01:00 rahmad akbar <matbioi...@gmail.com>: > he guys, i am trying to understand this code: i understand the first if > statement (if line.startswith..) in read_fasta function but couldnt > understand the next one(if index >=...). thanks in advance!! > > import sys > #class declaration with both attributes we need > class Fasta: > def __init__(self, name, sequence): > #this will store the sequence name > self.name = name > #this will store the sequence itself > self.sequence = sequence > > #this function will receive the list with the file > #contents, create instances of the Fasta class as > #it scans the list, putting the sequence name on the > #first attribute and the sequence itself on the second > #attribute > def read_fasta(file): > #we declare an empty list that will store all > #Fasta class instances generated > items = [] > index = 0 > for line in file: > #we check to see if the line starts with a > sign > if line.startswith(">"): > #if so and our counter is large than 1 > #we add the created class instance to our list > #a counter larger than 1 means we are reading > #from sequences 2 and above > if index >= 1: > items.append(aninstance) > index+=1 > #we add the line contents to a string > name = line[:-1] > #and initialize the string to store the sequence > seq = '' > #this creates a class instance and we add the attributes > #which are the strings name and seq > aninstance = Fasta(name, seq) > else: > #the line does not start with > so it has to be > #a sequence line, so we increment the string and > #add it to the created instance > seq += line[:-1] > aninstance = Fasta(name, seq) > > #the loop before reads everything but the penultimate > #sequence is added at the end, so we need to add it > #after the loop ends > items.append(aninstance) > #a list with all read sequences is returned > return items > > fastafile = open(sys.argv[1], 'r').readlines() > mysequences = read_fasta(fastafile) > > print mysequences > > for i in mysequences: > print i.name > > -- > many thanks > mat > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor > _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor