filename = '/Users/t/dev/2012-scripps/python/25k.fq.gz' import screed for record in screed.open('/Users/t/dev/2012-scripps/python/25k.fq.gz'): print record.name print record.sequence print record.accuracy break for record in screed.open(filename): if record.name == '@895:1:4:1596:8538/2': break print record list_of_names = ['895:1:4:1596:8538/2', '895:1:4:1596:6003/2'] list_of_records = [] for record in screed.open(filename): if record.name in list_of_names: list_of_records.append(record) list_of_records %%file list-of-seqs.txt 895:1:4:1596:8538/2 895:1:4:1596:6003/2 x = [] for line in open('list-of-seqs.txt'): line = line.strip() x.append(line) x list_of_names = x list_of_records = [] for record in screed.open(filename): if record.name in list_of_names: list_of_records.append(record) list_of_records n = 0.0 m = 0.0 for record in screed.open(filename): n += len(record.sequence) - record.sequence.count('N') m += record.sequence.count('G') + record.sequence.count('C') print '%g G/C content from %d and %d' % (m / n, m, n) # string interpolation in Python print '%g G/C content' % (m / n,) # string interpolation in Python print m/n, 'G/C content' outfp = open('/tmp/out.fa', 'w') for record in screed.open(filename): outfp.write('>%s\n%s\n' % (record.name, record.sequence)) pwd