-
- record[:REC_TYPE] = "USEARCH"
- record[:S_ID] = fields[0]
- record[:S_BEG] = fields[1].to_i
- record[:S_END] = fields[2].to_i
- record[:Q_ID] = fields[3]
- record[:SCORE] = fields[4].to_f
- record[:STRAND] = fields[5]
+ record[:REC_TYPE] = "USEARCH"
+ record[:Q_ID] = fields[0]
+ record[:S_ID] = fields[1]
+ record[:IDENT] = fields[2].to_f
+ record[:ALIGN_LEN] = fields[3].to_i
+ record[:MISMATCHES] = fields[4].to_i
+ record[:GAPS] = fields[5].to_i
+ record[:Q_BEG] = fields[6].to_i - 1
+ record[:Q_END] = fields[7].to_i - 1
+ record[:S_BEG] = fields[8].to_i - 1
+ record[:S_END] = fields[9].to_i - 1
+ record[:E_VAL] = fields[10] == '*' ? '*' : fields[10].to_f
+ record[:SCORE] = fields[11] == '*' ? '*' : fields[11].to_f
+ record[:STRAND] = record[:S_BEG].to_i < record[:S_END].to_i ? '+' : '-'
+
+ record[:S_BEG], record[:S_END] = record[:S_END], record[:S_BEG] if record[:STRAND] == '-'