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)