Skip to content

Commit

Permalink
fixed name of reads arg
Browse files Browse the repository at this point in the history
  • Loading branch information
iskandr committed Nov 4, 2016
1 parent bb757cb commit dcfd2ed
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 36 deletions.
6 changes: 3 additions & 3 deletions isovar/reference_coding_sequence_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ class ReferenceCodingSequenceKey(
"amino_acids_before_variant"))):

"""
Includes all the fields of a ReferenceSequenceKey, and adds on top of those
a reading frame and information about where the start codon / 5' UTR are
relative to this sequence fragment.
ReferenceCodingSequenceKey includes all the fields of a ReferenceSequenceKey,
and additionally tracks the reading frame and information about where the
start codon and 5' UTR are relative to this sequence fragment.
"""

@classmethod
Expand Down
55 changes: 29 additions & 26 deletions isovar/reference_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,31 @@
#
##########################

ReferenceContext = namedtuple(
"ReferenceContext",
ReferenceCodingSequenceKey._fields + (
"variant",
"transcripts")
)

def sort_key_decreasing_max_length_transcript_cds(reference_context):
"""
Used to sort a sequence of ReferenceContext objects by the longest CDS
in each context's list of transcripts.
"""
return -max(len(t.coding_sequence) for t in reference_context.transcripts)
class ReferenceContext(namedtuple(
"ReferenceContext",
ReferenceCodingSequenceKey._fields + ("variant", "transcripts"))):

@classmethod
def from_reference_coding_sequence_key(cls, key, variant, transcripts):
return cls(
strand=key.strand,
sequence_before_variant_locus=key.sequence_before_variant_locus,
sequence_at_variant_locus=key.sequence_at_variant_locus,
sequence_after_variant_locus=key.sequence_after_variant_locus,
offset_to_first_complete_codon=key.offset_to_first_complete_codon,
contains_start_codon=key.contains_start_codon,
overlaps_start_codon=key.overlaps_start_codon,
contains_five_prime_utr=key.contains_five_prime_utr,
amino_acids_before_variant=key.amino_acids_before_variant,
variant=variant,
transcripts=transcripts)

def sort_key_decreasing_max_length_transcript_cds(self):
"""
Used to sort a sequence of ReferenceContext objects by the longest CDS
in each context's list of transcripts.
"""
return -max(len(t.coding_sequence) for t in self.transcripts)

def reference_contexts_for_variant(
variant,
Expand Down Expand Up @@ -83,21 +95,12 @@ def reference_contexts_for_variant(
sequence_groups[sequence_key_with_reading_frame].append(transcript)

reference_contexts = [
ReferenceContext(
strand=key.strand,
sequence_before_variant_locus=key.sequence_before_variant_locus,
sequence_at_variant_locus=key.sequence_at_variant_locus,
sequence_after_variant_locus=key.sequence_after_variant_locus,
offset_to_first_complete_codon=key.offset_to_first_complete_codon,
contains_start_codon=key.contains_start_codon,
overlaps_start_codon=key.overlaps_start_codon,
contains_five_prime_utr=key.contains_five_prime_utr,
amino_acids_before_variant=key.amino_acids_before_variant,
variant=variant,
transcripts=matching_transcripts)
ReferenceContext.from_reference_coding_sequence_key(
key, variant, matching_transcripts)
for (key, matching_transcripts) in sequence_groups.items()
]
reference_contexts.sort(key=sort_key_decreasing_max_length_transcript_cds)
reference_contexts.sort(
key=ReferenceContext.sort_key_decreasing_max_length_transcript_cds)
return reference_contexts

def reference_contexts_for_variants(
Expand Down
7 changes: 4 additions & 3 deletions isovar/translation.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
from skbio import DNA

from .reference_context import reference_contexts_for_variant
from .variant_sequences import supporting_reads_to_variant_sequences
from .variant_sequences import reads_to_variant_sequences

from .default_parameters import (
MIN_TRANSCRIPT_PREFIX_LENGTH,
Expand Down Expand Up @@ -553,8 +553,9 @@ def translate_variant_reads(
# need to clip nucleotides at the start/end of the sequence
cdna_sequence_length = (protein_sequence_length + 1) * 3

variant_sequences = supporting_reads_to_variant_sequences(
variant_reads=variant_reads,
variant_sequences = reads_to_variant_sequences(
variant=variant,
reads=variant_reads,
preferred_sequence_length=cdna_sequence_length,
min_reads_supporting_cdna_sequence=min_reads_supporting_cdna_sequence,
variant_cdna_sequence_assembly=variant_cdna_sequence_assembly)
Expand Down
2 changes: 1 addition & 1 deletion test/test_allele_counts.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def test_allele_count_dataframe():
]
df = allele_counts_dataframe([(variant, reads)])
assert len(df) == 1, "Wrong number of rows in DataFrame: %s" % (df,)
row = df.irow(0)
row = df.iloc[0]
eq_(row.n_ref, 2)
eq_(row.n_alt, 1)
eq_(row.n_other, 0)
Expand Down
7 changes: 4 additions & 3 deletions test/test_variant_sequences.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

from nose.tools import eq_
from varcode import Variant
from isovar.variant_sequences import supporting_reads_to_variant_sequences
from isovar.variant_sequences import reads_to_variant_sequences
from isovar.variant_reads import reads_supporting_variant

from testing_helpers import load_bam
Expand All @@ -34,8 +34,9 @@ def test_sequence_counts_snv():
chromosome=chromosome,
variant=variant)

variant_sequences = supporting_reads_to_variant_sequences(
variant_reads,
variant_sequences = reads_to_variant_sequences(
variant=variant,
reads=variant_reads,
preferred_sequence_length=61)
assert len(variant_sequences) == 1
for variant_sequence in variant_sequences:
Expand Down

0 comments on commit dcfd2ed

Please sign in to comment.