Пример #1
0
def variants(context, collaborator, document_id, case_id, json):
    """Export causatives for a collaborator in .vcf format"""
    LOG.info("Running scout export variants")
    adapter = context.obj['adapter']
    collaborator = collaborator or 'cust000'

    variants = export_variants(
        adapter,
        collaborator,
        document_id=document_id,
        case_id=case_id
    )

    if json:
        click.echo(dumps([var for var in variants]))
        return

    vcf_header = VCF_HEADER

    #If case_id is given, print more complete vcf entries, with INFO,
    #and genotypes
    if case_id:
        vcf_header[-1] = vcf_header[-1] + "\tFORMAT"
        case_obj = adapter.case(case_id=case_id)
        for individual in case_obj['individuals']:
            vcf_header[-1] = vcf_header[-1] + "\t" + individual['individual_id']

    #print header
    for line in vcf_header:
        click.echo(line)

    for variant_obj in variants:
        variant_string = get_vcf_entry(variant_obj, case_id=case_id)
        click.echo(variant_string)
Пример #2
0
def variants(context, collaborator, document_id, json):
    """Export causatives for a collaborator in .vcf format"""
    LOG.info("Running scout export variants")
    adapter = context.obj['adapter']
    collaborator = collaborator or 'cust000'

    variants = export_variants(adapter, collaborator, document_id=document_id)

    if json:
        click.echo(dumps([var for var in variants]))
        return

    vcf_header = [
        "##fileformat=VCFv4.2", "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"
    ]

    for line in vcf_header:
        click.echo(line)

    #put variants in a dict to get unique ones
    variant_string = ("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}")

    for variant_obj in variants:
        click.echo(
            variant_string.format(
                variant_obj['chromosome'], variant_obj['position'],
                variant_obj['dbsnp_id'], variant_obj['reference'],
                variant_obj['alternative'], variant_obj['quality'],
                ';'.join(variant_obj['filters']), '.'))
Пример #3
0
def variants(context, collaborator, document_id, case_id, json):
    """Export causatives for a collaborator in .vcf format"""
    LOG.info("Running scout export variants")
    adapter = context.obj['adapter']
    collaborator = collaborator or 'cust000'

    variants = export_variants(
        adapter,
        collaborator,
        document_id=document_id,
        case_id=case_id
    )

    if json:
        click.echo(dumps([var for var in variants]))
        return

    vcf_header = VCF_HEADER

    #If case_id is given, print more complete vcf entries, with INFO,
    #and genotypes
    if case_id:
        vcf_header[-1] = vcf_header[-1] + "\tFORMAT"
        case_obj = adapter.case(case_id=case_id)
        for individual in case_obj['individuals']:
            vcf_header[-1] = vcf_header[-1] + "\t" + individual['individual_id']

    #print header
    for line in vcf_header:
        click.echo(line)

    for variant_obj in variants:
        variant_string = get_vcf_entry(variant_obj, case_id=case_id)
        click.echo(variant_string)
Пример #4
0
def variants(collaborator: str, document_id: str, case_id: str, json: bool):
    """Export causatives for a collaborator in .vcf format"""
    LOG.info("Running scout export variants")
    adapter = store
    collaborator = collaborator or "cust000"
    LOG.info("Use collaborator %s", collaborator)
    if case_id:
        case_obj = adapter.case(case_id)
        if not case_obj:
            LOG.info("Case %s does not exist", case_id)
            raise click.Abort

    variants = export_variants(adapter,
                               collaborator,
                               document_id=document_id,
                               case_id=case_id)

    if json:
        click.echo(
            json_lib.dumps([var for var in variants], default=bson_handler))
        return

    vcf_header = VCF_HEADER

    # If case_id is given, print more complete vcf entries, with INFO,
    # and genotypes
    if case_id:
        vcf_header[-1] = vcf_header[-1] + "\tFORMAT"
        case_obj = adapter.case(case_id=case_id)
        for individual in case_obj["individuals"]:
            vcf_header[
                -1] = vcf_header[-1] + "\t" + individual["individual_id"]

    # print header
    for line in vcf_header:
        click.echo(line)

    for variant_obj in variants:
        variant_string = get_vcf_entry(variant_obj, case_id=case_id)
        click.echo(variant_string)