@@ -797,8 +797,27 @@ def testNuclMatches(self):
797
797
798
798
coordinates = [(2133 , 2292 )]
799
799
result = find_matches ('hiv' , 'nucl' , ref_regions , coordinates )
800
- region_names = ['Gag' , 'p6' ]
801
- self .assertListEqual (region_names , list (result .keys ()))
800
+
801
+ exp_region_names = ['Gag' , 'p6' ]
802
+ exp_pos_from_cds = [[1344 , 1504 ], [1 , 159 ]]
803
+ exp_pos_from_qstart = [[1 , 160 ], [2 , 160 ]]
804
+ exp_pos_from_gstart = [[2133 , 2292 ], [2134 , 2292 ]]
805
+ exp_pos_from_pstart = [[449 , 501 ], [1 , 53 ]]
806
+ exp_aa_seq = ['XLQSRPEPTAPPEESFRSGVETTTPPQKQEPIDKELYPLTSLRSLFGNDPSSQ' ,
807
+ 'LQSRPEPTAPPEESFRSGVETTTPPQKQEPIDKELYPLTSLRSLFGNDPSSQ' ]
808
+ exp_nt_seq = ['TCTTCAGAGCAGACCAGAGCCAACAGCCCCACCAGAAGAGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGA'
809
+ 'CAAGGAACTGTATCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAA' ,
810
+ 'TCTTCAGAGCAGACCAGAGCCAACAGCCCCACCAGAAGAGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGA'
811
+ 'CAAGGAACTGTATCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAA' ]
812
+
813
+ self .assertListEqual (exp_region_names , list (result .keys ()))
814
+ for i , (key , value ) in enumerate (result .items ()):
815
+ self .assertEqual (exp_pos_from_cds [i ], value .rel_pos ['CDS' ])
816
+ self .assertEqual (exp_pos_from_qstart [i ], value .rel_pos ['qstart' ])
817
+ self .assertEqual (exp_pos_from_gstart [i ], value .rel_pos ['gstart' ])
818
+ self .assertEqual (exp_pos_from_pstart [i ], value .rel_pos ['pstart' ])
819
+ self .assertEqual (exp_aa_seq [i ], value .get_sequence ('prot' ))
820
+ self .assertEqual (exp_nt_seq [i ], value .get_sequence ('nucl' ))
802
821
803
822
804
823
class TestRetrieve (InputTestCase ):
@@ -813,7 +832,7 @@ def testDefaultInput(self):
813
832
aa_coords = configs [3 ]
814
833
815
834
with open (nt_coords ) as ncoords , open (aa_coords ) as pcoords :
816
- ref_regions = set_regions ('hiv' , 'nucl' , ncoords , self . hiv_nt_seq , pcoords , self . hiv_aa_seq )
835
+ ref_regions = set_regions ('hiv' , 'nucl' , ncoords , ref_nt_seq , pcoords , ref_aa_seq )
817
836
818
837
result = retrieve ('hiv' , 'nucl' , ref_regions , 'p2' )
819
838
query_region = result [0 ]
@@ -830,17 +849,26 @@ def testDefaultInput(self):
830
849
exp_pos_from_pstart = [[364 , 377 ], [1 , 14 ]]
831
850
expected_proteins = ['AEAMSQVTNSATIM' , 'AEAMSQVTNSATIM' ]
832
851
833
- for i , region in enumerate (overlap_regions ):
834
- self .assertEqual ( exp_region_names [ i ], overlap_regions [ i ]. region_name )
835
- # self.assertEqual(exp_pos_from_cds[i], overlap_regions[i].pos_from_cds )
836
- # self.assertEqual(exp_pos_from_qstart[i], overlap_regions[i].pos_from_qstart )
837
- # self.assertEqual(exp_pos_from_gstart[i], overlap_regions[i].pos_from_gstart )
838
- # self.assertEqual(exp_pos_from_pstart[i], overlap_regions[i].pos_from_pstart )
839
- # self.assertEqual(expected_proteins[i], overlap_regions[i] .get_sequence('prot'))
852
+ for i , ( k , v ) in enumerate (overlap_regions . items () ):
853
+ self .assertListEqual ( list ( overlap_regions . keys ()), exp_region_names )
854
+ self .assertEqual (exp_pos_from_cds [i ], v . rel_pos [ 'CDS' ] )
855
+ self .assertEqual (exp_pos_from_qstart [i ], v . rel_pos [ 'qstart' ] )
856
+ self .assertEqual (exp_pos_from_gstart [i ], v . rel_pos [ 'gstart' ] )
857
+ self .assertEqual (exp_pos_from_pstart [i ], v . rel_pos [ 'pstart' ] )
858
+ self .assertEqual (expected_proteins [i ], v .get_sequence ('prot' ))
840
859
841
860
def testSIVInput (self ):
842
- ref_regions = set_regions ('siv' , 'nucl' , self .siv_nt_seq , self .siv_ncoords_path ,
843
- self .siv_aa_seq , self .siv_pcoords_path )
861
+
862
+ configs = handle_args ('siv' , 'nucl' , self .siv_nt_seq_path , self .siv_ncoords_path ,
863
+ self .siv_aa_seq_path , self .siv_pcoords_path )
864
+
865
+ ref_nt_seq = configs [0 ][0 ][1 ]
866
+ ref_aa_seq = configs [1 ]
867
+ nt_coords = configs [2 ]
868
+ aa_coords = configs [3 ]
869
+
870
+ with open (nt_coords ) as ncoords , open (aa_coords ) as pcoords :
871
+ ref_regions = set_regions ('siv' , 'nucl' , ncoords , ref_nt_seq , pcoords , ref_aa_seq )
844
872
845
873
result = retrieve ('siv' , 'nucl' , ref_regions , 'Nef' , 20 , 80 )
846
874
result_region = result [0 ]
@@ -849,21 +877,21 @@ def testSIVInput(self):
849
877
self .assertEqual (expected_region , result_region .region_name )
850
878
self .assertEqual (expected_seq , result_region .get_sequence ('nucl' ))
851
879
852
- found_regions = result [1 ]
880
+ overlap_regions = result [1 ]
853
881
exp_region_names = ['Env(gp160)' , 'gp41' , 'Nef' ]
854
882
exp_pos_from_cds = [[2493 , 2553 ], [918 , 978 ], [20 , 80 ]]
855
883
exp_pos_from_qstart = [[1 , 61 ], [1 , 61 ], [1 , 61 ]]
856
884
exp_pos_from_gstart = [[9096 , 9156 ], [9096 , 9156 ], [9096 , 9156 ]]
857
885
exp_pos_from_pstart = [[832 , 851 ], [307 , 326 ], [7 , 27 ]]
858
886
expected_proteins = ['VWRSATETLAGAWGD' , 'VWRSATETLAGAWGD' , 'SGDLRQRLLRARGE' ]
859
887
860
- for i in range ( len ( found_regions )):
861
- self .assertEqual ( exp_region_names [ i ], found_regions [ i ]. region_name )
862
- self .assertEqual (exp_pos_from_cds [i ], found_regions [ i ]. pos_from_cds )
863
- self .assertEqual (exp_pos_from_qstart [i ], found_regions [ i ]. pos_from_qstart )
864
- self .assertEqual (exp_pos_from_gstart [i ], found_regions [ i ]. pos_from_gstart )
865
- self .assertEqual (exp_pos_from_pstart [i ], found_regions [ i ]. pos_from_pstart )
866
- self .assertEqual (expected_proteins [i ], found_regions [ i ] .get_sequence ('prot' ))
888
+ for i , ( k , v ) in enumerate ( overlap_regions . items ( )):
889
+ self .assertListEqual ( list ( overlap_regions . keys ()), exp_region_names )
890
+ self .assertEqual (exp_pos_from_cds [i ], v . rel_pos [ 'CDS' ] )
891
+ self .assertEqual (exp_pos_from_qstart [i ], v . rel_pos [ 'qstart' ] )
892
+ self .assertEqual (exp_pos_from_gstart [i ], v . rel_pos [ 'gstart' ] )
893
+ self .assertEqual (exp_pos_from_pstart [i ], v . rel_pos [ 'pstart' ] )
894
+ self .assertEqual (expected_proteins [i ], v .get_sequence ('prot' ))
867
895
868
896
869
897
class TestHandleArgs (InputTestCase ):
0 commit comments