annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
1 #!/usr/python3
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
2 # -*- coding: utf-8 -*-
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
3
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
4 import os
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
5 import argparse
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
6 import sys
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
7
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
8
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
9 # MAIN
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
10 def __main__():
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
11 # Script options:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
12 parser = argparse.ArgumentParser(description='''Add iupac value to coverage file.''',
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
13 epilog="""This script need few options, use -h to see it.""")
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
14 parser.add_argument('-c', '-covfile', dest='fc', help='Coverage file.')
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
15 parser.add_argument('-i', '-iupacfile', dest='fi', help='IUPAC file.')
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
16 parser.add_argument('-o', '-output_file', dest='output_file', help='Output File')
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
17
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
18 # Get script options:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
19 options = parser.parse_args()
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
20 fc = options.fc
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
21 fi = options.fi
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
22 output_file = options.output_file
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
23
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
24 # Check options:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
25 if len(sys.argv) < 7 or len(sys.argv) > 7:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
26 parser.print_help()
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
27 sys.exit(1)
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
28
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
29 # Output file
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
30 outputfile = open(output_file, "w")
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
31
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
32 # Variables:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
33 iup_list_ref = {}
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
34
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
35 # Storing iupac values
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
36 for i in open(fi, "r").readlines():
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
37 list_i = i.split("\t")
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
38 iup_list_ref[list_i[0]] = list_i[1]
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
39
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
40 print(iup_list_ref.keys())
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
41 # Add iupac value to coverage value:
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
42 for li in open(fc, "r").readlines():
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
43 print(li)
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
44 outputfile.write(li)
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
45 ref = li.rstrip()
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
46 if ref in iup_list_ref.keys():
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
47 print("line for iupac find")
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
48 outputfile.write(f"Percentage IUPAC: {iup_list_ref[ref]}")
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
49
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
50
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
51 # MAIN END
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
52 if __name__ == "__main__":
733edda2eb48 Uploaded
p.lucas
parents:
diff changeset
53 __main__()