From 37d69f05c5f8c708c6b525da43fee5eafae1e9a5 Mon Sep 17 00:00:00 2001 From: Yuuki Galaxy Date: Thu, 29 Jun 2023 14:06:17 +0800 Subject: [PATCH] new file: python/etc/fqdeumi.py --- python/etc/fqdeumi.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100755 python/etc/fqdeumi.py diff --git a/python/etc/fqdeumi.py b/python/etc/fqdeumi.py new file mode 100755 index 000000000..2c93318e5 --- /dev/null +++ b/python/etc/fqdeumi.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python3 + +import sys +import os + +UMI_LENGTH = 9 + +def process(lines=None): + ks = ['name', 'sequence', 'optional', 'quality'] + return {k: v for k, v in zip(ks, lines)} + +try: + fn = sys.argv[1] +except IndexError as ie: + raise SystemError("Error: Specify file name\n") + +if not os.path.exists(fn): + raise SystemError("Error: File does not exist\n") + +n = 4 +with open(fn, 'r') as fh: + lines = [] + for line in fh: + lines.append(line.rstrip()) + if len(lines) == n: + record = process(lines) + #record['umi'] = record['sequence'][:9] + record['name'] = ' '.join((record['name'],record['sequence'][:UMI_LENGTH])) + record['sequence'] = record['sequence'][UMI_LENGTH:] + sys.stderr.write("Record: %s\n" % (str(record))) + lines = [] -- 2.11.4.GIT