view concat_cov_and_iupac_results.py @ 1:733edda2eb48 draft default tip

Uploaded
author p.lucas
date Thu, 13 Jun 2024 14:50:57 +0000
parents
children
line wrap: on
line source

#!/usr/python3
# -*- coding: utf-8 -*-

import os
import argparse
import sys


# MAIN
def __main__():
  # Script options:
  parser = argparse.ArgumentParser(description='''Add iupac value to coverage file.''',
                                   epilog="""This script need few options, use -h to see it.""")
  parser.add_argument('-c', '-covfile', dest='fc', help='Coverage file.')
  parser.add_argument('-i', '-iupacfile', dest='fi', help='IUPAC file.')
  parser.add_argument('-o', '-output_file', dest='output_file', help='Output File')

  # Get script options:
  options = parser.parse_args()
  fc = options.fc
  fi = options.fi
  output_file = options.output_file

  # Check options:
  if len(sys.argv) < 7 or len(sys.argv) > 7:
    parser.print_help()
    sys.exit(1)

  # Output file
  outputfile = open(output_file, "w")

  # Variables:
  iup_list_ref = {}

  # Storing iupac values
  for i in open(fi, "r").readlines():
    list_i = i.split("\t")
    iup_list_ref[list_i[0]] = list_i[1]

  print(iup_list_ref.keys())
  # Add iupac value to coverage value:
  for li in open(fc, "r").readlines():
    print(li)
    outputfile.write(li)
    ref = li.rstrip()
    if ref in iup_list_ref.keys():
      print("line for iupac find")
      outputfile.write(f"Percentage IUPAC: {iup_list_ref[ref]}")


# MAIN END
if __name__ == "__main__":
  __main__()