Closed jsstevenson closed 3 months ago
When using the exon-genomic coords mapper's get_nearest_transcript_junction param, passing only an alt_ac raises an AttributeError.
get_nearest_transcript_junction
alt_ac
AttributeError
In [1]: from cool_seq_tool.schemas import Strand In [2]: from cool_seq_tool.app import CoolSeqTool In [3]: egc = CoolSeqTool().ex_g_coords_mapper In [4]: await egc.genomic_to_transcript_exon_coordinates( ...: alt_ac="NC_000007.13", ...: start=73442503, ...: # end=73457929, ...: strand=Strand.POSITIVE, ...: gene="ELN", ...: get_nearest_transcript_junction=True ...: ) ...:
It should work
the error:
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[4], line 1 ----> 1 await egc.genomic_to_transcript_exon_coordinates( 2 alt_ac="NC_000007.13", 3 start=73442503, 4 # end=73457929, 5 strand=Strand.POSITIVE, 6 gene="ELN", 7 get_nearest_transcript_junction=True 8 ) File ~/code/cool-seq-tool/src/cool_seq_tool/mappers/exon_genomic_coords.py:299, in ExonGenomicCoordsMapper.genomic_to_transcript_exon_coordinates(self, chromosome, alt_ac, start, end, strand, transcript, get_nearest_transcript_junction, gene, residue_mode) 297 start -= 1 298 residue_mode = ResidueMode.ZERO --> 299 start_data = await self._genomic_to_transcript_exon_coordinate( 300 start, 301 chromosome=chromosome, 302 alt_ac=alt_ac, 303 strand=strand, 304 transcript=transcript, 305 gene=gene, 306 get_nearest_transcript_junction=get_nearest_transcript_junction, 307 is_start=True, 308 ) 309 if start_data.transcript_exon_data: 310 start_data = start_data.transcript_exon_data.model_dump() File ~/code/cool-seq-tool/src/cool_seq_tool/mappers/exon_genomic_coords.py:526, in ExonGenomicCoordsMapper._genomic_to_transcript_exon_coordinate(self, pos, chromosome, alt_ac, strand, transcript, gene, get_nearest_transcript_junction, is_start) 521 if not gene or not strand: 522 return self._return_warnings( 523 resp, 524 "Gene or strand must be provided to select the adjacent transcript junction", 525 ) --> 526 alt_acs, w = self.seqrepo_access.chromosome_to_acs(chromosome) 528 if not alt_acs: 529 return self._return_warnings(resp, w) File ~/code/cool-seq-tool/src/cool_seq_tool/handlers/seqrepo_access.py:148, in SeqRepoAccess.chromosome_to_acs(self, chromosome) 145 acs = [] 146 for assembly in reversed(Assembly.values()): 147 tmp_acs, _ = self.translate_identifier( --> 148 f"{assembly}:{process_chromosome_input(chromosome)}", 149 target_namespaces="refseq", 150 ) 151 acs += [ac.split("refseq:")[-1] for ac in tmp_acs] 152 if acs: File ~/code/cool-seq-tool/src/cool_seq_tool/utils.py:77, in process_chromosome_input(chromosome, context) 55 """Perform processing on a chromosome arg. 56 57 E.g. (...) 74 changes needed. 75 """ 76 original_chromosome_value = chromosome ---> 77 if chromosome.lower().startswith("chr"): 78 chromosome = f"chr{chromosome[3:].upper()}" 79 else: AttributeError: 'NoneType' object has no attribute 'lower'
No response
b9475a7 (main branch)
b9475a7
n/a
Yes, I can create a PR for this fix.
Describe the bug
When using the exon-genomic coords mapper's
get_nearest_transcript_junction
param, passing only analt_ac
raises anAttributeError
.Steps to reproduce
Expected behavior
It should work
Current behavior
the error:
Possible reason(s)
No response
Suggested fix
No response
Branch, commit, and/or version
b9475a7
(main branch)Screenshots
No response
Environment details
n/a
Additional details
No response
Contribution
Yes, I can create a PR for this fix.