Skip to content
Snippets Groups Projects
Select Git revision
  • 0883380b703b9a7107b1515e6813d6ab5e6653c8
  • master default
  • jfjlaros_2014
  • presented/lumc-2013-08
4 results

example.py

Blame
  • example.py 816 B
    #!/usr/bin/env python
    
    from sequencer import Sequencer
    
    def quality(quals):
        return sum(quals) / len(quals)
    
    def trim(read, quals, score):
        for position in range(len(read) - 1, -1, -1):
            if quals[position] >= score:
                return read[:position + 1], quals[:position + 1]
    
    def make_fastq():
        spots = 2
        run = Sequencer(spots)
    
        reads = ["" for _ in range(spots)]
        quals = [[] for _ in range(spots)]
        for tile in run:
            for read_id, base in enumerate(tile):
                reads[read_id] += base[0]
                quals[read_id].append(base[1])
    
        for read_id, read in enumerate(reads):
            print read, quality(quals[read_id])
            read, quals[read_id] = trim(read, quals[read_id], 39)
            print read, quality(quals[read_id])
    
    if __name__ == "__main__":
        make_fastq()