Mercurial > repos > yating-l > jbrowse_hub
comparison blastxmlToGff3.py @ 48:6803152ea92a draft
planemo upload for repository https://github.com/Yating-L/jbrowse_hub commit 073c8ceda5eddfb4ccd07cfa96a8353e5535ffaf-dirty
author | yating-l |
---|---|
date | Tue, 28 Mar 2017 18:13:27 -0400 |
parents | 15b4a74722d1 |
children |
comparison
equal
deleted
inserted
replaced
47:b7bf45272ab7 | 48:6803152ea92a |
---|---|
135 group['alignments'].append(hsp_align) | 135 group['alignments'].append(hsp_align) |
136 group['parent_field']['start'] = coords[0] | 136 group['parent_field']['start'] = coords[0] |
137 group['parent_field']['end'] = coords[1] | 137 group['parent_field']['end'] = coords[1] |
138 group['parent_field']['score'] = group['parent_field']['strand'] = group['parent_field']['phase'] = '.' | 138 group['parent_field']['score'] = group['parent_field']['strand'] = group['parent_field']['phase'] = '.' |
139 group['parent_attribute']['match_num'] = match_num | 139 group['parent_attribute']['match_num'] = match_num |
140 group['alignments'].sort(key=lambda x: (x['field']['start'], x['field']['end'])) | |
140 utils.write_features(group['parent_field'], group['parent_attribute'], gff3) | 141 utils.write_features(group['parent_field'], group['parent_attribute'], gff3) |
142 prev_end = -1 | |
141 for align in group['alignments']: | 143 for align in group['alignments']: |
144 overlap = '' | |
145 if align['field']['start'] <= prev_end: | |
146 overlap += str(align['field']['start']) + ',' + str(prev_end) | |
147 prev_end = align['field']['end'] | |
148 align['attribute']['overlap'] = overlap | |
142 utils.write_features(align['field'], align['attribute'], gff3) | 149 utils.write_features(align['field'], align['attribute'], gff3) |
143 gff3.close() | 150 gff3.close() |
144 | |
145 | 151 |
146 def blastxml2gff3(xml_file, gff3_file): | 152 def blastxml2gff3(xml_file, gff3_file): |
147 result_handle = open(xml_file) | 153 result_handle = open(xml_file) |
148 blast_records = NCBIXML.parse(result_handle) | 154 blast_records = NCBIXML.parse(result_handle) |
149 gff3_writer(blast_records, gff3_file) | 155 gff3_writer(blast_records, gff3_file) |