code: def print_alignment(self,chunk_size=40,min_intron_size=68):
      
      has_qual = True
      if not self.query_quality: has_qual = False
      trantab = maketrans('01',' *')
      [qstrs,tstrs,ystrs] = self.get_alignment_strings(min_intron_size=min_intron_size)
      print 'Alignment for Q: '+str(self.alignment_ranges[0][1].chr)
      for i in range(len(qstrs)):
        print 'Exon '+str(i+1)
        #+' T: '+self._alignment_ranges[i][0].get_range_string()+' Q: '+str(self._alignment_ranges[i][1].start)+'-'+str(self._alignment_ranges[i][1].end)
        mm = ''.join([str(int(qstrs[i][j]!=tstrs[i][j] and qstrs[i][j]!='-' and tstrs[i][j]!='-' and tstrs[i][j]!='N')) for j in range(len(qstrs[i]))]).translate(trantab)
        t =  tstrs[i] #target
        q = qstrs[i]  #query
        s = ystrs[i] #quality
        for y in [[mm[x:x+chunk_size],t[x:x+chunk_size],q[x:x+chunk_size],s[x:x+chunk_size]] for x in range(0,len(mm),chunk_size)]:
          print '  '+y[0]
          print 'T '+y[1]
          print 'Q '+y[2]
          if has_qual: print 'Y '+y[3]        
          print ''
docs: print the nice looking alignment.  Must have data accessable from get_query_sequence() and get_refernece_sequencec()
  
      :returns: Pretty print string.
      :rtype: string