openvax / pyensembl

Python interface to access reference genome features (such as genes, transcripts, and exons) from Ensembl
Apache License 2.0
365 stars 66 forks source link

Implemented comparison on Locus objects #216

Closed iskandr closed 5 years ago

iskandr commented 5 years ago

'gene.exonsdoes not work on Py3 (https://github.com/openvax/pyensembl/issues/215) due to lack of comparison forsorted`, fixing this by implementing basic comparison methods on Locus (base class for Exon).

julia326 commented 5 years ago

Travis failure:

FAIL: test_transcript_start_codon : Check that fields Transcript
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/test-environment-/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/build/openvax/pyensembl/test/test_transcript_objects.py", line 31, in test_transcript_start_codon
    CTNNBIP1_004_locus, Locus.__str__(CTNNBIP1_004_transcript))
AssertionError: Expected locus Locus(contig=1, start=9850659, end=9878176, strand=-) but got Locus(contig=1, start=9850659, end=9878176, strand=-)
coveralls commented 5 years ago

Coverage Status

Coverage decreased (-0.4%) to 79.936% when pulling f11718b4b8715b25a127b6decac4901ebcbeac42 on comparison-on-Locus into 6329a030052fe5e4f284517ada1a7c605ec0fd19 on master.

iskandr commented 5 years ago

Standardized magic methods (including __str__) for Exon, Locus, Transcript, Gene objects, added unit tests for __str__.

iskandr commented 5 years ago

@julia326 OK to merge?