#!/usr/bin/env python3
import argparse

parser = argparse.ArgumentParser(description='Convert SAM to aln format in stdout')
parser.add_argument('-i', type=str, metavar='<path>', required=True,
	help='Path to SAM file')
parser.add_argument('-s', type=int, metavar='<int>', required=False,
	help='number of bp to shift the start position (default: 13)', default=13)
arg = parser.parse_args()

def get_flags(sum_flags):
	flags = []
	for i in range(7,-1,-1):
		if sum_flags >= 2**i:
			flags.insert(0,'1')
			sum_flags -= 2**i
		else:
			flags.insert(0,'0')
	return flags


cur_flags = []
with open(arg.i) as fh:
	while True:
		line = fh.readline()
		if line == '': break
		entry = line.split()
		if len(entry) < 12: continue
		cur_flags = get_flags(int(entry[1]))
		if cur_flags[4] == '1':
			strand = '-'
		else:
			strand = '+'
		print(f'{entry[2]}\t{int(entry[3])+13}\t{strand}')

		
