From 7a96d0b1b15ab28fe3a618db35364891ab5d0328 Mon Sep 17 00:00:00 2001 From: Peter Amstutz Date: Tue, 26 May 2020 17:30:30 -0400 Subject: Can have list of sequence labels to exclude from combined fasta refs #68 Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- workflows/pangenome-generate/relabel-seqs.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'workflows/pangenome-generate/relabel-seqs.py') diff --git a/workflows/pangenome-generate/relabel-seqs.py b/workflows/pangenome-generate/relabel-seqs.py index 6b022a0..25b4a08 100644 --- a/workflows/pangenome-generate/relabel-seqs.py +++ b/workflows/pangenome-generate/relabel-seqs.py @@ -1,5 +1,6 @@ import os import json +import sys def readitems(stem): items = [] @@ -16,15 +17,26 @@ subjects = readitems("subs") relabeled_fasta = open("relabeledSeqs.fasta", "wt") original_labels = open("originalLabels.ttl", "wt") +blacklist = set() +if len(sys.argv) > 1: + with open(sys.argv[1]) as bl: + for l in bl: + blacklist.add(l.strip()) + for i, r in enumerate(reads): with open(r["path"], "rt") as fa: - label = fa.readline() - original_labels.write("<%s> \"%s\" .\n" % (subjects[i], label[1:].strip().replace('"', '\\"'))) - relabeled_fasta.write(">"+subjects[i]+"\n") + label = fa.readline().strip() + original_labels.write("<%s> \"%s\" .\n" % (subjects[i], label[1:].replace('"', '\\"'))) + skip = (subjects[i] in blacklist or label[1:] in blacklist) + if skip: + original_labels.write("<%s> \"true\"^^ .\n" % (subjects[i])) + if not skip: + relabeled_fasta.write(">"+subjects[i]+"\n") data = fa.read(8096) while data: - relabeled_fasta.write(data) + if not skip: + relabeled_fasta.write(data) endswithnewline = data.endswith("\n") data = fa.read(8096) - if not endswithnewline: + if not skip and not endswithnewline: relabeled_fasta.write("\n") -- cgit v1.2.3