File: int_seqs_to_char_strings.py

package info (click to toggle)
python-bx 0.13.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,000 kB
  • sloc: python: 17,136; ansic: 2,326; makefile: 24; sh: 8
file content (25 lines) | stat: -rwxr-xr-x 627 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/python3

"""
Translate lists of space separated integers (magnitude less than 62) and print
as strings of alphanumeric characters. This is useful mainly for some machine
learning algorithms that only take string input.

usage: %prog < int_seqs > strings
"""

import sys

table = "012345678ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"


def main():
    for line in sys.stdin:
        ints = [int(f) for f in line.split()]
        if max(ints) > len(table):
            raise ValueError("Alphabet size too large!")
        print(str.join("", [table[i] for i in ints]))


if __name__ == "__main__":
    main()