solvebio/contrib/vcf_parser/vcf_parser.py
def _parse_info_snpeff(self, info):
        """
        Specialized INFO field parser for SnpEff ANN fields.
        Requires self._snpeff_ann_fields to be set.
        """
        ann = info.pop('ANN', []) or []
        # Overwrite the existing ANN with something parsed
        # Split on '|', merge with the ANN keys parsed above.
        # Ensure empty values are None rather than empty string.
        items = []
        for a in ann:
            # For multi-allelic records, we may have already
            # processed ANN. If so, quit now.
            if isinstance(a, dict):
                info['ANN'] = ann
                return info

            values = [i or None for i in a.split('|')]
            item = dict(zip(self._snpeff_ann_fields, values))

            # Further split the Annotation field by '&'
            if item.get('Annotation'):
                item['Annotation'] = item['Annotation'].split('&')

            items.append(item)

        info['ANN'] = items
        return info
def _parse_info_snpeff(self, info):
        ann = info.pop('ANN', []) or []
        # Overwrite the existing ANN with something parsed
        # Split on '|', merge with the ANN keys parsed above.
        # Ensure empty values are None rather than empty string.
        items = []
        for a in ann:
            # For multi-allelic records, we may have already
            # processed ANN. If so, quit now.
            if isinstance(a, dict):
                info['ANN'] = ann
                return info

            values = [i or None for i in a.split('|')]
            item = dict(zip(self._snpeff_ann_fields, values))

            # Further split the Annotation field by '&'
            if item.get('Annotation'):
                item['Annotation'] = item['Annotation'].split('&')

            items.append(item)

        info['ANN'] = items
        return info
def _parse_info_snpeff ( self , info ) : ann = info . pop ( 'ANN' , [ ] ) or [ ] # Overwrite the existing ANN with something parsed # Split on '|', merge with the ANN keys parsed above. # Ensure empty values are None rather than empty string. items = [ ] for a in ann : # For multi-allelic records, we may have already # processed ANN. If so, quit now. if isinstance ( a , dict ) : info [ 'ANN' ] = ann return info values = [ i or None for i in a . split ( '|' ) ] item = dict ( zip ( self . _snpeff_ann_fields , values ) ) # Further split the Annotation field by '&' if item . get ( 'Annotation' ) : item [ 'Annotation' ] = item [ 'Annotation' ] . split ( '&' ) items . append ( item ) info [ 'ANN' ] = items return info
Specialized INFO field parser for SnpEff ANN fields.
        Requires self._snpeff_ann_fields to be set.
Specialized INFO field parser for SnpEff ANN fields . Requires self . _snpeff_ann_fields to be set .