sys.err - python examples

Here are the examples of the python api sys.err taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

1 Examples 7

0 View Complete Implementation : process_mapping.py
Copyright Apache License 2.0
Author : ucdavis-bioinformatics
    def process(self, refDB):
        """
        process reads against a reference fasta file
        """
        try:
            bc = self.orig_bc_lines[0].split(":")[0]
            mapped_pairs_count = 0
            remapped_pairs_count = 0
            mapped_singles_count = 0
            remapped_singles_count = 0
            secondary_alignment = 0
            count = 0
            PE1 = {}
            PE2 = {}

            for line in self.orig_bc_lines:
                # 0x1 template having multiple segments in sequencing
                # 0x2 each segment properly aligned according to the aligner
                # 0x4 segment unmapped
                # 0x8 next segment in the template unmapped
                # 0x10 SEQ being reverse complemented
                # 0x20 SEQ of the next segment in the template being reversed
                # 0x40 the first segment in the template
                # 0x80 the last segment in the template
                # 0x100 secondary alignment
                # 0x200 not pasting quality controls
                # 0x400 PCR or optical duplicate
                lbc = line.split(":")[0]
                if lbc != bc:
                    sys.err("Something went wrong, more than one barcode in process barcodes")

                count += 1
                line2 = line.strip().split()
                flag = int(line2[1])
                # Secondary alignment
                if (flag & 0x100):  # not sure what to do with secondary alignment yet, for now ignore
                    secondary_alignment += 1
                    continue

                mq = int(line2[4])
#                if mq < self.minMQ:
#                    # add to those that need to be remapped
#                    self.remap_lines.append(line)
                # Handle SE:
                # mapped SE reads have 0x1 set to 0, and 0x4 (third bit) set to 1
                if not (flag & 0x1):  # SE READ, shouldn't see singles, maybe handle them later
                    # if not (flag & 0x4 and mq >= self.minMQ):  # MAPPED
                    #     self.ok_bc_lines.append(line)
                    #     # TODO: NEED to determine read cloud for read
                    #     mapped_singles_count += 1
                    # else:  # UNMAPPED or Poor minMQ, remap the read
                    #     if (flag & 0x10):  # reverse complement
                    #         line2[9] = reverseComplement(line2[9])
                    #         line2[10] = reverse(line2[10])
                    #     self.addRead(['\n'.join(['@' + line2[0] + ' 1:N:O', line2[9], '+', line2[10]])])
                    #     remapped_singles_count += 1
                    continue
                # Handle PE:
                # logic:  0x1 = multiple segments in sequencing,   0x4 = segment unmapped,  0x8 = next segment unmapped
                if (flag & 0x1):  # PE READ
                    if (not (flag & 0x4) and not (flag & 0x8)):  # both pairs mapped
                        if (flag & 0x40):  # is this PE1 (first segment in template)
                            # PE1 read, check that PE2 is in dict
                            ID = line2[0]
                            if ID in PE2:
                                if mq >= self.minMQ and int(PE2[ID].strip().split()[4]) >= self.minMQ:  # check MQ of both reads
                                    self.ok_bc_lines.append(line)
                                    self.ok_bc_lines.append(PE2[ID])
                                    del PE2[ID]
                                    # TODO: NEED to determine read cloud for read
                                    mapped_pairs_count += 1
                                else:
                                    if (flag & 0x10):  # reverse complement
                                        line2[9] = reverseComplement(line2[9])
                                        line2[10] = reverse(line2[10])
                                    r1 = '\n'.join(['@' + line2[0] + ' 1:N:O', line2[9], '+', line2[10]])  # sequence + qual
                                    rl2 = PE2[ID].strip().split()
                                    if (int(rl2[1]) & 0x10):  # reverse complement
                                        rl2[9] = reverseComplement(rl2[9])
                                        rl2[10] = reverse(rl2[10])
                                    r2 = '\n'.join(['@' + rl2[0] + ' 2:N:O', rl2[9], '+', rl2[10]])  # sequence + qual
                                    self.addRead('\n'.join([r1, r2]))
                                    del PE2[ID]
                                    remapped_pairs_count += 1
                            else:
                                PE1[ID] = line
                        elif (flag & 0x80):  # is this PE2 (last segment in template)
                            # PE2 read, check that PE1 is in dict and write out
                            ID = line2[0]
                            if ID in PE1:
                                if mq >= self.minMQ and int(PE1[ID].strip().split()[4]) >= self.minMQ:  # check MQ of both reads
                                    self.ok_bc_lines.append(line)
                                    self.ok_bc_lines.append(PE1[ID])
                                    del PE1[ID]
                                    # TODO: NEED to determine read cloud for read
                                    mapped_pairs_count += 1
                                else:
                                    if (flag & 0x10):  # reverse complement
                                        line2[9] = reverseComplement(line2[9])
                                        line2[10] = reverse(line2[10])
                                    r2 = '\n'.join(['@' + line2[0] + ' 2:N:O', line2[9], '+', line2[10]])  # sequence + qual
                                    rl1 = PE1[ID].strip().split()
                                    if (int(rl1[1]) & 0x10):  # reverse complement
                                        rl1[9] = reverseComplement(rl1[9])
                                        rl1[10] = reverse(rl1[10])
                                    r1 = '\n'.join(['@' + rl1[0] + ' 1:N:O', rl1[9], '+', rl1[10]])  # sequence + qual
                                    self.addRead('\n'.join([r1, r2]))
                                    del PE1[ID]
                                    remapped_pairs_count += 1
                            else:
                                PE2[ID] = line
                    else:  # an 'unmapped' pair, at least 1 unmapped
                        if (flag & 0x40):  # is this PE1 (first segment in template)
                            # PE1 read, check that PE2 is in dict and write out
                            ID = line2[0]
                            if ID in PE2:
                                if (flag & 0x10):  # reverse complement
                                    line2[9] = reverseComplement(line2[9])
                                    line2[10] = reverse(line2[10])
                                r1 = '\n'.join(['@' + line2[0] + ' 1:N:O', line2[9], '+', line2[10]])  # sequence + qual
                                rl2 = PE2[ID].strip().split()
                                if (int(rl2[1]) & 0x10):  # reverse complement
                                    rl2[9] = reverseComplement(rl2[9])
                                    rl2[10] = reverse(rl2[10])
                                r2 = '\n'.join(['@' + rl2[0] + ' 2:N:O', rl2[9], '+', rl2[10]])  # sequence + qual
                                self.addRead('\n'.join([r1, r2]))
                                del PE2[ID]
                                remapped_pairs_count += 1
                            else:
                                PE1[ID] = line
                        elif (flag & 0x80):  # is this PE2 (last segment in template)
                            # PE2 read, check that PE1 is in dict and write out
                            ID = line2[0]
                            if ID in PE1:
                                if (flag & 0x10):  # reverse complement
                                    line2[9] = reverseComplement(line2[9])
                                    line2[10] = reverse(line2[10])
                                r1 = '\n'.join(['@' + line2[0] + ' 1:N:O', line2[9], '+', line2[10]])  # sequence + qual
                                rl2 = PE2[ID].strip().split()
                                if (int(rl2[1]) & 0x10):  # reverse complement
                                    rl2[9] = reverseComplement(rl2[9])
                                    rl2[10] = reverse(rl2[10])
                                r2 = '\n'.join(['@' + rl2[0] + ' 2:N:O', rl2[9], '+', rl2[10]])  # sequence + qual
                                self.addRead('\n'.join([r1, r2]))
                                del PE2[ID]
                                remapped_pairs_count += 1
                            else:
                                PE2[ID] = line

        except (KeyboardInterrupt, SystemExit):
            sys.stderr.write("MAPPING\tERROR\t%s unexpectedly terminated\n" % (__name__))
            return 1
        except:
            sys.stderr.write("".join(traceback.format_exception(*sys.exc_info())))
            return 1