Mercurial > repos > yating-l > jbrowse_hub
comparison blastxmlToGff3.py @ 31:d8049deb0c97 draft
planemo upload for repository https://github.com/Yating-L/jbrowse_hub commit faeedda55e23f1197bc454d3db2d52af29d786e8-dirty
author | yating-l |
---|---|
date | Fri, 17 Mar 2017 12:28:32 -0400 |
parents | e4f3f2ed4fa5 |
children | 15b4a74722d1 |
comparison
equal
deleted
inserted
replaced
30:daf6a1122200 | 31:d8049deb0c97 |
---|---|
5 from collections import OrderedDict | 5 from collections import OrderedDict |
6 import utils | 6 import utils |
7 | 7 |
8 | 8 |
9 def align2cigar(hsp_query, hsp_reference): | 9 def align2cigar(hsp_query, hsp_reference): |
10 ''' | 10 """ |
11 Build CIGAR representation from an hsp_query | 11 Build CIGAR representation from an hsp_query |
12 input: | 12 input: |
13 hsp_query | 13 hsp_query |
14 hsp_sbjct | 14 hsp_sbjct |
15 output: | 15 output: |
16 CIGAR string | 16 CIGAR string |
17 ''' | 17 """ |
18 query = hsp_query | 18 query = hsp_query |
19 ref = hsp_reference | 19 ref = hsp_reference |
20 # preType, curType: | 20 # preType, curType: |
21 # 'M' represents match, | 21 # 'M' represents match, |
22 # 'I' represents insert a gap into the reference sequence, | 22 # 'I' represents insert a gap into the reference sequence, |
96 target_len *= 3 | 96 target_len *= 3 |
97 target_end = target_start + target_len -1 | 97 target_end = target_start + target_len -1 |
98 attribute['ID'] = field['seqid'] + '_' + str(field['start']) + '_' + str(field['end']) + '_' + query_name + '_' + str(target_start) + '_' + str(target_end) | 98 attribute['ID'] = field['seqid'] + '_' + str(field['start']) + '_' + str(field['end']) + '_' + query_name + '_' + str(target_start) + '_' + str(target_end) |
99 attribute['Target'] = query_name + " " + str(target_start) + " " + str(target_end) | 99 attribute['Target'] = query_name + " " + str(target_start) + " " + str(target_end) |
100 attribute['Gap'] = align2cigar(query, ref) | 100 attribute['Gap'] = align2cigar(query, ref) |
101 #store the query sequence in the file in order to display alignment with BlastAlignment plugin | |
102 attribute['query'] = hsp.query | |
101 # show reading frame attribute only if the frame is not (0, 0) | 103 # show reading frame attribute only if the frame is not (0, 0) |
102 if hsp.frame[0] != 0 or hsp.frame[1] != 0: | 104 if hsp.frame[0] != 0 or hsp.frame[1] != 0: |
103 attribute['reading_frame'] = str(hsp.frame[0]) + ", " + str(hsp.frame[1]) | 105 attribute['reading_frame'] = str(hsp.frame[0]) + ", " + str(hsp.frame[1]) |
104 utils.write_features(field, attribute, gff3) | 106 utils.write_features(field, attribute, gff3) |
105 | 107 |