##################################
#                                #
# Last modified 2019/07/05       # 
#                                #
# Georgi Marinov                 #
#                                # 
##################################

import sys
import string
import math

def run():

    if len(sys.argv) < 6:
        print 'usage: python %s InsLen FLfieldID FragmentFractionFieldID maxSubNuclFL minNuclFL maxNuclFL' % sys.argv[0]
        sys.exit(1)

    InsLen = sys.argv[1]
    FLID1 = int(sys.argv[2])
    FLID2 = int(sys.argv[3])
    maxSN = int(sys.argv[4])
    minN = int(sys.argv[5])
    maxN = int(sys.argv[6])

    SN = []
    N = []
    IN = []

    linelist = open(InsLen)
    for line in linelist:
        if line.startswith('#'):
            continue
        if 'singleton' in line:
            continue
        fields = line.strip().split('\t')
        pos = int(fields[FLID1])
        score = float(fields[FLID2])
        if pos <= maxSN:
            SN.append(score)
        if pos > minN and pos <= maxN:
            N.append(score)
        if pos > maxSN - 20 and pos <= minN + 50:
            IN.append(score)

    mSN = max(SN)
    mN = max(N)
    mIN = min(IN)

    print InsLen + '\tInsert Length ratio:\t' + str(mN) + '\t' + str(mSN) + '\t' + str(mIN) + '\t' + str(mN/mSN) + '\t' + str(mSN/mN) + '\t' + str(mN/mIN)

run()
