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