if failed[0]: sys.stderr.write("FAILED\n") sys.exit(30) else: sys.stderr.write("PASSED\n") RESOURCE_PATH = os.path.dirname(__file__)+"/test_data" _ = "Test 2. Parse correct sequences" sys.stderr.write(_+"... ") test_items = os.listdir(RESOURCE_PATH+"/test01/in/") f = open(RESOURCE_PATH+"/test01/references/reference.json", "r") reference = json.load(f) f.close() for item in test_items: try: sqs = bioformats.read_sequences_from_file(RESOURCE_PATH+"/test01/in/"+item) seqs = dict() for name, value in sqs: seqs[name.lower()] = value assert len(seqs.keys())==len(reference.keys()) for key, value in reference.items(): assert key in seqs assert seqs[key]==value except: failed[1] = True if failed[1]: sys.stderr.write("FAILED\n") else: sys.stderr.write("PASSED\n") _ = "Test 3. Try to parse incorrect sequences" sys.stderr.write(_+"... ") test_items = os.listdir(RESOURCE_PATH+"/test01/in/")
elif arg.startswith("-"): _print_usage_and_exit(0) else: if file1name is None: file1name = arg else: file2name = arg if run_selftest: _run_selftest_and_exit() if file1name is None: _print_usage_and_exit(0) seqs = [] try: seqs += bioformats.read_sequences_from_file(file1name) except BioFormatException as e: sys.stderr.write("Error: "+e.text+"\n") sys.exit(5) if not file2name is None: try: seqs += bioformats.read_sequences_from_file(file1name) except BioFormatException as e: sys.stderr.write("Error: "+e.text+"\n") sys.exit(5) if len(seqs)<2: sys.stderr.write("Error: requires at least two sequences\n") sys.exit(6) name1, seq1 = seqs[0]
if args.dist: dist=args.dist; if args.wlen: wlen=args.wlen; if args.wshift: wshift=args.wshift; if args.minscore: minscore=args.minscore; try: sequences = bioformats.read_sequences_from_file(args.FILE) except bioformats.BioFormatException as e: sys.stderr.write("Error: "+e.text+"\n") sys.exit(1) if not sequences: sys.stderr.write("Error: file does not contain any sequence\n") sys.exit(2) name, seq = sequences[0] res = _rna.doAll(seq.encode('ascii'),wlen,wshift,minscore,sfrom,10000,seed) import csv writer = csv.writer(sys.stdout, dialect="excel") writer.writerow(["start", "end", "score"])