records = list()
    query_records = list()
    for record in vcf_reader:
        if len(record.FILTER
               ) == 0 and record.is_indel and cp.requires_mt_provean(record):
            query_records.append(record)
        records.append(record)
    if len(query_records) > 0 and not args.no_remote:
        # run mutation taster
        for record in records:
            if 'MT_pred' not in record.INFO:
                query_mutation_taster(record)
        if args.run_local:
            import provean_query
            query_manager = provean_query.ProveanQueryManager(
                query_records,
                args.provean_script,
                args.num_provean_threads,
                args.mem_per_thread,
                cluster_mode=args.cluster_mode)
            query_manager.run_queries()
        else:
            query = rpq.RemoteProveanQuery(query_records)
            query.run_query()

    for record in records:
        if len(record.FILTER) == 0 and record.is_indel:
            cp.classify_pathogenicity(record, no_remote=args.no_remote)
        vcf_writer.write_record(record)
    vcf_writer.close()
Example #2
0
                                                         desc="mutation taster score (run if necessary)",
                                                         source=None, version=None)

    vcf_writer = vcf.Writer(sys.stdout, vcf_reader)

    records = list()
    query_records = list()
    for record in vcf_reader:
        if cp.requires_mt_provean(record):
            query_records.append(record)
        records.append(record)
    if len(query_records) > 0 and not args.no_remote:
        # run mutation taster
        for record in records:
            if 'MT_pred' not in record.INFO:
                query_mutation_taster(record)
        if args.run_local:
            import provean_query
            query_manager = provean_query.ProveanQueryManager(query_records, args.provean_script,
                                                              args.num_provean_threads, args.mem_per_thread,
                                                              cluster_mode=args.cluster_mode)
            query_manager.run_queries()
        else:
            query = rpq.RemoteProveanQuery(query_records)
            query.run_query()

    for record in records:
        cp.classify_pathogenicity(record, no_remote=args.no_remote)
        vcf_writer.write_record(record)
    vcf_writer.close()
Example #3
0
import vcf
import sys
import classify_pathogenicity_vcf as cp


if __name__ == "__main__":
    parser = argparse.ArgumentParser(prog='classify_pathogenicity_vcf.py',
                                     description='Add pathogenicity to vcf file')
    parser.add_argument('vcf_infile')
    args = parser.parse_args()

    vcf_reader = vcf.Reader(open(args.vcf_infile, 'r'))

    assert "ANN" in vcf_reader.infos
    assert "HOTSPOT" in vcf_reader.infos or "hotspot" in vcf_reader.infos
    assert "fathmm_pred" in vcf_reader.infos
    assert "facetsLOH" in vcf_reader.infos
    assert "MutationTaster_pred" in vcf_reader.infos

    # add necessary info headers
    vcf_reader.infos['pathogenicity'] = vcf.parser._Info(id='pathogenicity', num=-1, type='String',
                                                         desc="Classification of pathogenicity",
                                                         source=None, version=None)
    vcf_writer = vcf.Writer(sys.stdout, vcf_reader)

    records = list()
    for record in vcf_reader:
        cp.classify_pathogenicity(record)
        vcf_writer.write_record(record)
    vcf_writer.close()
Example #4
0
import classify_pathogenicity_vcf as cp


if __name__ == "__main__":
    parser = argparse.ArgumentParser(prog='classify_snv_pathogenicity_vcf.py',
                                     description='Add pathogenicity to vcf file')
    parser.add_argument('vcf_infile')
    args = parser.parse_args()

    vcf_reader = vcf.Reader(open(args.vcf_infile, 'r'))

    assert "ANN" in vcf_reader.infos
    assert "HOTSPOT" in vcf_reader.infos or "hotspot" in vcf_reader.infos
    assert "FATHMM_pred" in vcf_reader.infos
    assert "facetsLOH" in vcf_reader.infos or "LOH" in vcf_reader.infos
    assert "MutationTaster_pred" in vcf_reader.infos

    # add necessary info headers
    vcf_reader.infos['pathogenicity'] = vcf.parser._Info(id='pathogenicity', num=-1, type='String',
                                                         desc="Classification of pathogenicity",
                                                         source=None, version=None)
    records = [x for x in vcf_reader]
    for record in records:
        if len(record.FILTER) == 0 and record.is_snp:
            cp.classify_pathogenicity(record)

    vcf_writer = vcf.Writer(sys.stdout, vcf_reader)
    for record in records:
        vcf_writer.write_record(record)
    vcf_writer.close()