Skip to content

Commit

Permalink
Fix some low hanings of #154 after all
Browse files Browse the repository at this point in the history
  • Loading branch information
dnil committed Nov 28, 2024
1 parent 9d3a6e8 commit 3868815
Show file tree
Hide file tree
Showing 36 changed files with 80 additions and 205 deletions.
4 changes: 0 additions & 4 deletions genmod/annotate_models/genetic_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,6 @@
from __future__ import absolute_import, print_function

import logging
import os
import sys
from datetime import datetime
from pprint import pprint as pp

from genmod.utils import generate_pairs

Expand Down
3 changes: 0 additions & 3 deletions genmod/annotate_models/models/compound_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@
from __future__ import print_function

import logging
import os
import sys


def check_compounds(variant_1, variant_2, family, intervals, phased):

Check failure on line 17 in genmod/annotate_models/models/compound_model.py

View workflow job for this annotation

GitHub Actions / Ruff includes and format

Ruff (I001)

genmod/annotate_models/models/compound_model.py:13:1: I001 Import block is un-sorted or un-formatted
"""
Expand Down
4 changes: 0 additions & 4 deletions genmod/annotate_models/models/recessive_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@

from __future__ import print_function

import os
import sys


def check_recessive(variant, family, strict):

Check failure on line 14 in genmod/annotate_models/models/recessive_model.py

View workflow job for this annotation

GitHub Actions / Ruff includes and format

Ruff (I001)

genmod/annotate_models/models/recessive_model.py:12:1: I001 Import block is un-sorted or un-formatted
"""
Check if the variant follows the autosomal recessive homozygote (AR_hom)
Expand Down
2 changes: 1 addition & 1 deletion genmod/annotate_models/variant_annotator.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

from genmod.vcf_tools import get_genotypes

from . import check_genetic_models, get_haploblocks, get_model_score, make_print_version
from . import check_genetic_models, get_haploblocks, make_print_version


class VariantAnnotator(Process):
Expand Down
5 changes: 0 additions & 5 deletions genmod/annotate_regions/parse_annotations.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,6 @@

import logging

try:
import cPickle as pickle
except:
import pickle

from intervaltree import Interval, IntervalTree

logger = logging.getLogger(__name__)
Expand Down
1 change: 0 additions & 1 deletion genmod/annotate_variants/read_tabix_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ def get_frequencies(tabix_reader, chrom, start, alt):
Returns:
frequencies (dict): A dictionary with relevant frequencies
"""
freq = None
records = get_tabix_records(tabix_reader, chrom, start)

frequencies = {}
Expand Down
21 changes: 0 additions & 21 deletions genmod/commands/analyze.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,6 @@

import click

try:
import cPickle as pickle
except:
import pickle

from codecs import open
from datetime import datetime

Expand Down Expand Up @@ -398,11 +393,6 @@ def get_interesting_variants(
help="""Specify genotype quality treshold for variants
to be considered. Default 20.""",
)
# @click.option('-p', '--patterns',
# type=click.Choice(['AR', 'AD', 'X']),
# multiple=True,
# help='Specify the inheritance patterns. Default is all patterns'
# )
@click.option(
"-o",
"--outdir",
Expand Down Expand Up @@ -465,20 +455,9 @@ def analyze(

start_time_analysis = datetime.now()

# configs = ConfigObj(config_file)
# prefered_models = make_models([])

inheritance_keyword = "GeneticModels"
families = check_families(variant_file)
file_name = os.path.splitext(os.path.split(variant_file)[-1])[0]

# if config_file:
# frequency_treshold = float(configs.get('frequency', {}).get('rare', frequency_treshold))
# freq_keyword = configs.get('frequency', {}).get('keyword', freq_keyword)
# inheritance_patterns = [pattern for pattern in configs.get('inheritance', {}).get('patterns',[])]
# inheritance_keyword = configs.get('inheritance', {}).get('keyword',inheritance_keyword)
# prefered_models = make_models(inheritance_patterns)

if variant_file == "-":
variant_parser = VCFParser(fsock=sys.stdin)
else:
Expand Down
8 changes: 3 additions & 5 deletions genmod/commands/annotate_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,14 +192,14 @@ def models(
sys.exit(0)

if vep:
if not "CSQ" in head.info_dict:
if "CSQ" not in head.info_dict:
logger.warning("vep flag is used but there is no CSQ field specified in header")
logger.info("Please check VCF file")
context.abort()
else:
logger.info("Using VEP annotation")
else:
if not keyword in head.info_dict:
if keyword not in head.info_dict:
logger.warning("Annotation key {0} could not be found in VCF header".format(keyword))
logger.info("Please check VCF file")
context.abort()
Expand Down Expand Up @@ -337,11 +337,9 @@ def models(
logger.info("Starting the variant printer process")
variant_printer.start()

start_time_variant_parsing = datetime.now()

# This process parses the original vcf and create batches to put in the variant queue:
logger.info("Start parsing the variants")
chromosome_list = get_batches(
get_batches(
variants=variant_file,
batch_queue=variant_queue,
header=head,
Expand Down
4 changes: 2 additions & 2 deletions genmod/commands/score_compounds.py
Original file line number Diff line number Diff line change
Expand Up @@ -148,10 +148,10 @@ def compound(
logger.info("Starting the variant printer process")
variant_printer.start()

start_time_variant_parsing = datetime.now()
datetime.now()

# This process parses the original vcf and create batches to put in the variant queue:
chromosome_list = get_batches(
get_batches(
variants=variant_file,
batch_queue=variant_queue,
header=head,
Expand Down
2 changes: 0 additions & 2 deletions genmod/commands/score_variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,7 @@

import itertools
import logging
import os
import sys
from codecs import open
from datetime import datetime

import click
Expand Down
4 changes: 0 additions & 4 deletions genmod/commands/summarize_variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,10 +169,6 @@ def summarize(

head = HeaderParser()

nr_of_variants = 0

header = ["sample_id", "nr_of_variants"]

samples = {}

logger.debug("Setting up a variant parser")
Expand Down
1 change: 0 additions & 1 deletion genmod/errors/warning.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

from __future__ import print_function, unicode_literals

import os
import sys


Expand Down
2 changes: 0 additions & 2 deletions genmod/log.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import logging
import os
import sys

LEVELS = {
0: "WARNING",
Expand Down
2 changes: 0 additions & 2 deletions genmod/score_variants/compound_scorer.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,6 @@
from __future__ import division, print_function

import logging
import os
import sys
from multiprocessing import Process
from typing import Dict, List, Tuple, Union

Expand Down
10 changes: 5 additions & 5 deletions genmod/score_variants/config_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ def check_plugin(self, plugin):

try:
vcf_field = vcf_section["field"]
if not vcf_field in self.vcf_columns:
if vcf_field not in self.vcf_columns:
raise ValidateError(
"field has to be in {0}\n" "Wrong field name in plugin: {1}".format(
self.vcf_columns, plugin
Expand All @@ -299,10 +299,10 @@ def check_plugin(self, plugin):

if info_key == "CSQ":
try:
csq_key = vcf_section["csq_key"]
vcf_section["csq_key"]
except KeyError:
try:
csq_key = vcf_section["vep_key"]
vcf_section["vep_key"]
except KeyError:
raise ValidateError(
"CSQ entrys has to refer to an csq field.\n"
Expand All @@ -324,7 +324,7 @@ def check_plugin(self, plugin):

try:
data_type = vcf_section["data_type"]
if not data_type in self.data_types:
if data_type not in self.data_types:
raise ValidateError(
"data_type has to be in {0}\n" "Wrong data_type in plugin: {1}".format(
self.data_types, plugin
Expand Down Expand Up @@ -352,7 +352,7 @@ def check_plugin(self, plugin):
record_rule = vcf_section.get("record_rule", None)

if record_rule:
if not record_rule in ["min", "max"]:
if record_rule not in ["min", "max"]:
raise ValidateError(
"Record rules have to be in {0}\n" "Wrong record_rule in plugin: {1}".format(
["min", "max"], plugin
Expand Down
2 changes: 1 addition & 1 deletion genmod/score_variants/score_function.py
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ def get_score(self, value):
## TODO fix this ugly solution
try:
score = int(score)
except error as e:
except ValueError:
score = int(float(score))

return score
Expand Down
74 changes: 16 additions & 58 deletions genmod/utils/__init__.py
Original file line number Diff line number Diff line change
@@ -1,67 +1,25 @@
# -*- coding: utf-8 -*-

INTERESTING_SO_TERMS = set(
[
"transcript_ablation",
"splice_donor_variant",
"splice_acceptor_variant",
"stop_gained",
"start_lost",
"frameshift_variant",
"stop_lost",
"initiator_codon_variant",
"transcript_amplification",
"inframe_insertion",
"inframe_deletion",
"protein_altering_variant",
"missense_variant",
"splice_region_variant",
"incomplete_terminal_codon_variant",
"stop_retained_variant",
"synonymous_variant",
"coding_sequence_variant",
"mature_miRNA_variant",
"5_prime_UTR_variant",
"3_prime_UTR_variant",
"non_coding_exon_variant",
"non_coding_transcript_exon_variant",
"non_coding_transcript_variant",
"nc_transcript_variant",
"intron_variant",
"NMD_transcript_variant",
"non_coding_transcript_variant",
"upstream_gene_variant",
"downstream_gene_variant",
]
)

EXONIC_SO_TERMS = set(
[
"transcript_ablation",
"splice_donor_variant",
"splice_acceptor_variant",
"stop_gained",
"frameshift_variant",
"stop_lost",
"start_lost",
"initiator_codon_variant",
"transcript_amplification",
"inframe_insertion",
"inframe_deletion",
"missense_variant",
"protein_altering_variant",
"splice_region_variant",
"incomplete_terminal_codon_variant",
"stop_retained_variant",
"synonymous_variant",
"coding_sequence_variant",
]
)

from .check_individuals import check_individuals
from .get_batches import get_batches
from .get_features import check_vep_annotation, get_annotation
from .get_priority import get_chromosome_priority, get_rank_score
from .is_number import is_number
from .pair_generator import generate_pairs
from .variant_printer import VariantPrinter

INTERESTING_SO_TERMS = {"transcript_ablation", "splice_donor_variant", "splice_acceptor_variant", "stop_gained",
"start_lost", "frameshift_variant", "stop_lost", "initiator_codon_variant",
"transcript_amplification", "inframe_insertion", "inframe_deletion", "protein_altering_variant",
"missense_variant", "splice_region_variant", "incomplete_terminal_codon_variant",
"stop_retained_variant", "synonymous_variant", "coding_sequence_variant",
"mature_miRNA_variant", "5_prime_UTR_variant", "3_prime_UTR_variant", "non_coding_exon_variant",
"non_coding_transcript_exon_variant", "non_coding_transcript_variant", "nc_transcript_variant",
"intron_variant", "NMD_transcript_variant", "non_coding_transcript_variant",
"upstream_gene_variant", "downstream_gene_variant"}

EXONIC_SO_TERMS = {"transcript_ablation", "splice_donor_variant", "splice_acceptor_variant", "stop_gained",
"frameshift_variant", "stop_lost", "start_lost", "initiator_codon_variant",
"transcript_amplification", "inframe_insertion", "inframe_deletion", "missense_variant",
"protein_altering_variant", "splice_region_variant", "incomplete_terminal_codon_variant",
"stop_retained_variant", "synonymous_variant", "coding_sequence_variant"}
3 changes: 0 additions & 3 deletions genmod/vcf_tools/genotype.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,6 @@
Copyright (c) 2013 __MyCompanyName__. All rights reserved.
"""

import os
import sys


class Genotype(object):
"""Holds information about a genotype"""
Expand Down
14 changes: 0 additions & 14 deletions genmod/vcf_tools/header_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,20 +325,6 @@ def add_contig(self, contig_id, length):
self.parse_meta_data(contig_line)
return

def add_contig(self, contig_id, length):
"""
Add a contig line to the header.
Arguments:
contig_id (str): The id of the alternative line
length (str): A description of the info line
"""
contig_line = "##contig=<ID={0},length={1}>".format(contig_id, length)
self.logger.info("Adding contig line to vcf: {0}".format(contig_line))
self.parse_meta_data(contig_line)
return

def add_version_tracking(self, info_id, version, date, command_line=""):
"""
Add a line with information about which software that was run and when
Expand Down
1 change: 0 additions & 1 deletion genmod/vcf_tools/parse_variant.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""Parse a variant line in different ways"""

import logging
import string

logging = logging.getLogger(__name__)

Expand Down
6 changes: 0 additions & 6 deletions genmod/vcf_tools/print_variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@

from __future__ import print_function

import codecs
import locale
import sys

# sys.stdout = codecs.getwriter(locale.getpreferredencoding())(sys.stdout)


def print_variant_dict(variant, header_line, outfile=None, silent=False):
"""Print a variant dictionary
Expand Down
2 changes: 0 additions & 2 deletions genmod/vcf_tools/sort_variants.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
from __future__ import print_function

import logging
import os
import sys
from datetime import datetime
from subprocess import call

Expand Down
3 changes: 0 additions & 3 deletions tests/conftest.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
import os
from tempfile import NamedTemporaryFile

import pytest
import tabix
from genmod.annotations import ensembl_path_37 as ensembl_path
Expand Down
Loading

0 comments on commit 3868815

Please sign in to comment.