Mercurial > repos > gpovysil > range2tag
annotate range2tag.py @ 2:7d4ec8f51253 draft
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 24aafe8e14a7e61886d9361efe9fbf5ea59c4294
author | gpovysil |
---|---|
date | Wed, 16 May 2018 09:26:43 -0400 |
parents | 0b486eaca66e |
children | e66e151e07ab |
rev | line source |
---|---|
0
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
1 """range2tag.py |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
2 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
3 Author -- Gundula Povysil |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
4 Contact -- povysil@bioinf.jku.at |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
5 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
6 Takes a SAM file, start and stop positions as input and prints all tags |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
7 of reads that overlap with regions to user specified output file. |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
8 ======= ========== ================= ================================ |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
9 Version Date Author Description |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
10 0.0.2 2018-05-15 Gundula Povysil - |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
11 ======= ========== ================= ================================ |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
12 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
13 USAGE: python range2tag.py inputFile.sam ranges.txt outputFile.txt |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
14 """ |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
15 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
16 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
17 import numpy as np |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
18 import re |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
19 import argparse |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
20 import sys |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
21 import os |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
22 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
23 def make_argparser(): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
24 parser = argparse.ArgumentParser(description='Takes a SAM file, start and stop positions as input and prints all tags of reads that overlap with regions to user specified output file.') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
25 parser.add_argument('inputFile', |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
26 help='SAM file with aligned reads.') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
27 parser.add_argument('rangesFile', |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
28 help='TXT file with start and stop positions.') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
29 parser.add_argument('outputFile', |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
30 help='Output TXT file with tags that are within specified regions.') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
31 return parser |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
32 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
33 def range2tag(argv): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
34 parser = make_argparser() |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
35 args=parser.parse_args(argv[1:]) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
36 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
37 inputFile = args.inputFile |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
38 rangesFile = args.rangesFile |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
39 outputFile = args.outputFile |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
40 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
41 if os.path.isfile(inputFile) is False: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
42 print("Error: Could not find '{}'".format(inputFile)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
43 exit(0) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
44 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
45 if os.path.isfile(rangesFile) is False: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
46 print("Error: Could not find '{}'".format(rangesFile)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
47 exit(0) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
48 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
49 with open(rangesFile, 'r') as regs: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
50 range_array = np.genfromtxt(regs, skip_header=0, delimiter='\t', comments='#') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
51 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
52 start_posList = range_array[:,0].astype(int) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
53 stop_posList = range_array[:,1].astype(int) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
54 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
55 print(start_posList) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
56 print(stop_posList) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
57 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
58 if len(start_posList) == 0: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
59 print("Error: start_positions is empty") |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
60 exit(2) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
61 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
62 if len(stop_posList) == 0: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
63 print("Error: end_positions is empty") |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
64 exit(3) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
65 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
66 if len(start_posList) != len(stop_posList): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
67 print("start_positions and end_positions do not have the same length") |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
68 exit(3) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
69 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
70 with open(inputFile, 'r') as sam: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
71 data_array = np.genfromtxt(sam, skip_header=0, delimiter='\t', usecols=range(11), comments='#', dtype='string') |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
72 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
73 tags = np.array(data_array[:, 0]) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
74 ref_pos = np.array(data_array[:, 3]).astype(int) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
75 cigar = np.array(data_array[:, 5]) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
76 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
77 lst = [] |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
78 ind = [] |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
79 start_posList = np.array(start_posList).astype(int) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
80 stop_posList = np.array(stop_posList).astype(int) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
81 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
82 for start_pos, stop_pos in zip(start_posList, stop_posList): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
83 start_pos = start_pos - 3 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
84 stop_pos = stop_pos + 3 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
85 mut_tags = None |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
86 for t in range(0, len(tags)): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
87 c_split = re.split('([A-Z])', cigar[t]) |
2
7d4ec8f51253
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 24aafe8e14a7e61886d9361efe9fbf5ea59c4294
gpovysil
parents:
0
diff
changeset
|
88 print(c_split) |
0
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
89 cigar_long = None |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
90 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
91 for i in range(1, len(c_split), 2): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
92 if cigar_long is None: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
93 cigar_long = np.repeat(c_split[i], c_split[i - 1]) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
94 else: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
95 cigar_long = np.concatenate((cigar_long, np.repeat(c_split[i], c_split[i - 1])), axis=0) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
96 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
97 pos = ref_pos[t] |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
98 seq_pos = 0 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
99 # print(pos) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
100 if pos < stop_pos: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
101 for j in range(0, len(cigar_long)): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
102 if pos >= stop_pos: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
103 break |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
104 if cigar_long[j] in ("M", "D", "N"): |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
105 pos += 1 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
106 # print(pos) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
107 if pos > start_pos: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
108 if mut_tags is None: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
109 mut_tags = np.array((tags[t])) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
110 else: |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
111 mut_tags = np.vstack((mut_tags, np.array(tags[t]))) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
112 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
113 index = np.repeat("{}_{}".format(start_pos, stop_pos), len(mut_tags)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
114 ind.append(index) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
115 lst.append(mut_tags) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
116 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
117 index = np.concatenate((ind)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
118 tags = np.concatenate((lst)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
119 mut_tags = np.column_stack((index, tags)) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
120 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
121 np.savetxt(outputFile, mut_tags, fmt="%s") |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
122 print("File saved under {} in {}!".format(outputFile, os.getcwd())) |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
123 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
124 |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
125 if __name__ == '__main__': |
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
gpovysil
parents:
diff
changeset
|
126 sys.exit(range2tag(sys.argv)) |