def parse_callers(variant, category='<STR_LIT>'):
relevant_callers = CALLERS[category]<EOL>callers = {caller['<STR_LIT:id>']: None for caller in relevant_callers}<EOL>raw_info = variant.INFO.get('<STR_LIT>')<EOL>if raw_info:<EOL><INDENT>info = raw_info.split('<STR_LIT:->')<EOL>for call in info:<EOL><INDENT>if call == '<STR_LIT>':<EOL><INDENT>for caller in callers:<EOL><INDENT>callers[caller] = '<STR_LIT>'<EOL><DEDENT><DEDENT>elif call == '<STR_LIT>':<EOL><INDENT>for caller in callers:<EOL><INDENT>callers[caller] = '<STR_LIT>'<EOL><DEDENT><DEDENT>elif '<STR_LIT>' in call:<EOL><INDENT>for caller in callers:<EOL><INDENT>if caller in call:<EOL><INDENT>callers[caller] = '<STR_LIT>'<EOL><DEDENT><DEDENT><DEDENT>elif call in set(callers.keys()):<EOL><INDENT>callers[call] = '<STR_LIT>'<EOL><DEDENT><DEDENT><DEDENT>other_info = variant.INFO.get('<STR_LIT>')<EOL>if other_info:<EOL><INDENT>for info in other_info.split('<STR_LIT:U+002C>'):<EOL><INDENT>called_by = info.split('<STR_LIT:|>')[<NUM_LIT:0>]<EOL>callers[called_by] = '<STR_LIT>'<EOL><DEDENT><DEDENT>return callers<EOL>
Parse how the different variant callers have performed

        Args:
            variant (cyvcf2.Variant): A variant object

        Returns:
            callers (dict): A dictionary on the format
            {'gatk': <filter>,'freebayes': <filter>,'samtools': <filter>}