From 7a115a1a092463b892906753d61cdf03a3699220 Mon Sep 17 00:00:00 2001
From: Laurent Modolo <laurent.modolo@ens-lyon.fr>
Date: Thu, 22 Jul 2021 15:08:25 +0200
Subject: [PATCH] kb: t2g tools work and gz and plain file

---
 src/.docker_modules/kb/0.26.0/fix_t2g.py | 17 ++++++++++++-----
 src/.docker_modules/kb/0.26.0/t2g.py     | 15 +++++++++++----
 2 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/.docker_modules/kb/0.26.0/fix_t2g.py b/src/.docker_modules/kb/0.26.0/fix_t2g.py
index 6535758b..a6b4619b 100644
--- a/src/.docker_modules/kb/0.26.0/fix_t2g.py
+++ b/src/.docker_modules/kb/0.26.0/fix_t2g.py
@@ -1,6 +1,7 @@
 #!/usr/local/bin/python
 import os
 import re
+import gzip
 import argparse
 
 
@@ -30,7 +31,7 @@ def get_t2g_line(line, t2g_re):
 
 
 def write_t2g_line(t2g, line, t2g_re):
-    results = t2g_line(line, t2g_re)
+    results = get_t2g_line(line, t2g_re)
     if results['transcript_id']:
         t2g.write(
             t2g_line(
@@ -51,7 +52,13 @@ if __name__ == "__main__":
     args = parser.parse_args()
     t2g_re = build_t2g_re()
 
-    with open(args.t2g, "r") as gtf:
-        with open("fix_t2g.txt", "w") as t2g:
-            for line in gtf:
-                write_t2g_line(t2g, str(line), t2g_re)
+    try:
+        with gzip.open(args.t2g, "rb") as gtf:
+            with open("fix_t2g.txt", "w") as t2g:
+                for line in gtf:
+                    write_t2g_line(t2g, str(line), t2g_re)
+    except gzip.BadGzipFile:
+        with open(args.t2g, "r") as gtf:
+            with open("fix_t2g.txt", "w") as t2g:
+                for line in gtf:
+                    write_t2g_line(t2g, str(line), t2g_re)
diff --git a/src/.docker_modules/kb/0.26.0/t2g.py b/src/.docker_modules/kb/0.26.0/t2g.py
index 02a4c30d..b99e74e6 100755
--- a/src/.docker_modules/kb/0.26.0/t2g.py
+++ b/src/.docker_modules/kb/0.26.0/t2g.py
@@ -62,7 +62,14 @@ if __name__ == "__main__":
     gene_re = build_gene_re()
     transcript_re = build_transcript_re()
 
-    with gzip.open(args.gtf, "rb") as gtf:
-        with open("t2g_dup.txt", "w") as t2g:
-            for line in gtf:
-                write_t2g_line(t2g, str(line), transcript_re, gene_re)
\ No newline at end of file
+    try:
+        with gzip.open(args.gtf, "rb") as gtf:
+            with open("t2g_dup.txt", "w") as t2g:
+                for line in gtf:
+                    write_t2g_line(t2g, str(line), transcript_re, gene_re)
+    except gzip.BadGzipFile:
+        with open(args.gtf, "r") as gtf:
+            with open("t2g_dup.txt", "w") as t2g:
+                for line in gtf:
+                    write_t2g_line(t2g, str(line), transcript_re, gene_re)
+
-- 
GitLab