Save each object using cPickle."""

import csv
import math
import cPickle
from sequence import Sequence
from geneBank import GeneBank

fileList = ["wt1.csv", "wt2.csv", "rny1.csv", "rny2.csv"]
for fileName in fileList:
    geneFile = open('Spy49_allGenes.csv', 'rU')
    genes = csv.reader(geneFile)

    with open(fileName, 'rU') as readsFile:
        reads = csv.reader(readsFile, delimiter='\t')
        readsList = []
        for row in reads:
            readsList.append(float(row[2]))
            
    geneBank = GeneBank()
    for row in genes:
        name = row[0]
        start = int(row[1])
        end = int(row[2])
        orientation = row[3]
        seq = Sequence(readsList, (start, end), name, orientation) 
        geneBank.add(seq)
    geneBankName = "geneBank_" + fileName[0:-4] + ".txt"
    geneBank.save(geneBankName)
    geneFile.close()
"""Find all operon after-gaps that occur in the four operonBanks. """

geneBankFiles = ["geneBank_wt1.txt", "geneBank_wt2.txt", \
                 "geneBank_rny1.txt", "geneBank_rny2.txt"]
readsFiles = ["wt1.csv", "wt2.csv", "rny1.csv", "rny2.csv"]

operonBankFiles = [OperonBank("operonBank_wt1.txt"), \
                  OperonBank("operonBank_wt2.txt"), \
                  OperonBank("operonBank_rny1.txt"), \
                  OperonBank("operonBank_rny2.txt")]

gapList = []
n = 0
for i in xrange(4):
    operonBank = operonBankFiles[i]
    geneBank   = GeneBank(geneBankFiles[i])
    for operon in operonBank:
        gene = operon[-1]
        gap = geneBank.getIndex(gene.getName())
        if gap not in gapList:
            gapList.append(gap)
            n += 1
print "The number of after-gaps is: ", n
gapList.sort()
        

"""Group genes into operons based on the gap information """


for i in xrange(len(geneBankFiles)):
    geneBank = GeneBank(geneBankFiles[i])