Mercurial > repos > gpovysil > range2tag
annotate range2tag.py @ 0:0b486eaca66e draft
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
| author | gpovysil | 
|---|---|
| date | Wed, 16 May 2018 04:53:11 -0400 | 
| parents | |
| children | 7d4ec8f51253 | 
| 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]) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
88 cigar_long = None | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
89 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
90 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
 | 
91 if cigar_long is None: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
92 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
 | 
93 else: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
94 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
 | 
95 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
96 pos = ref_pos[t] | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
97 seq_pos = 0 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
98 # print(pos) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
99 if pos < stop_pos: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
100 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
 | 
101 if pos >= stop_pos: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
102 break | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
103 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
 | 
104 pos += 1 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
105 # print(pos) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
106 if pos > start_pos: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
107 if mut_tags is None: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
108 mut_tags = np.array((tags[t])) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
109 else: | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
110 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
 | 
111 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
112 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
 | 
113 ind.append(index) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
114 lst.append(mut_tags) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
115 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
116 index = np.concatenate((ind)) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
117 tags = np.concatenate((lst)) | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
118 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
 | 
119 | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
120 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
 | 
121 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
 | 
122 | 
| 
 
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 if __name__ == '__main__': | 
| 
 
0b486eaca66e
planemo upload for repository https://github.com/gpovysil/galaxy/tools/range2tag commit 16b1092dfe1052f9560188e67f39009f1e4b32bc
 
gpovysil 
parents:  
diff
changeset
 | 
125 sys.exit(range2tag(sys.argv)) | 
