#!/usr/bin/env python

import optparse
import sys

import argweaver

from compbio import fasta
from rasmus import util


o = optparse.OptionParser(
    description="""
Convert a Fasta file into a *.sites file.
""")
o.add_option("-c", "--chrom", default="chr", help="chromosome name")
o.add_option("-s", "--start", type="int", default=0, help="start of region")
o.add_option("-f", "--fasta", help="input FASTA file")
o.add_option("-o", "--sites", help="output sites file")

conf, args = o.parse_args()

if not conf.fasta:
    print "fasta file required (--fasta)"
    sys.exit(1)

if conf.sites:
    sites_file = conf.sites
else:
    if conf.fasta.endswith(".fa"):
        sites_file = util.replace_ext(conf.fasta, ".fa", ".sites")
    elif conf.fasta.endswith(".fasta"):
        sites_file = util.replace_ext(conf.fasta, ".fasta", ".sites")
    else:
        sites_file = conf.fasta + ".sites"

seqs = fasta.read_fasta(conf.fasta)
sites = argweaver.seqs2sites(seqs, chrom=conf.chrom, start=conf.start)

argweaver.write_sites(sites_file, sites)
