Mercurial > repos > jay > pdaug_sequence_similarity_network
comparison PDAUG_Peptide_Core_Functions/PDAUG_Peptide_Core_Functions.py @ 0:e650de82bcc7 draft
"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
author | jay |
---|---|
date | Wed, 28 Oct 2020 01:50:00 +0000 |
parents | |
children | 1fafae68b9bb |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e650de82bcc7 |
---|---|
1 from modlamp.core import BaseSequence | |
2 import pandas as pd | |
3 import os, sys | |
4 import argparse | |
5 | |
6 | |
7 parser = argparse.ArgumentParser(description='Deployment tool') | |
8 subparsers = parser.add_subparsers() | |
9 | |
10 mutateAA = subparsers.add_parser('mutateAA') | |
11 mutateAA.add_argument("-I","--InFile", required=True, default=None, help="Input fasta sequence") | |
12 mutateAA.add_argument("-N","--nr", required=True, default=None, help="Number of mutations to perform per sequence") | |
13 mutateAA.add_argument("-P","--Prob", required=True, default=None, help="Probability of mutating a sequence") | |
14 mutateAA.add_argument("-F","--FastOut", required=False, default='Out.fasta', help="Mutated output fasta") | |
15 | |
16 filterduplicates = subparsers.add_parser('filterduplicates') | |
17 filterduplicates.add_argument("-I","--InFile", required=True, default=None, help="Input file") | |
18 filterduplicates.add_argument("-F","--FastOut", required=False, default='Out.fasta', help="Output file") | |
19 | |
20 | |
21 keepnaturalaa = subparsers.add_parser('keepnaturalaa') | |
22 keepnaturalaa.add_argument("-I","--InFile", required=True, default=None, help="Inputt file") | |
23 keepnaturalaa.add_argument("-F","--FastOut", required=False, default='Out.fasta', help="Output file") | |
24 | |
25 | |
26 filteraa = subparsers.add_parser('filteraa') | |
27 filteraa.add_argument("-I","--InFile", required=True, default=None, help="Input file") | |
28 filteraa.add_argument("-F","--FastOut", required=False, default='Out.fasta', help="Output file") | |
29 filteraa.add_argument("-A","--FilterAA", required=True, default=None, help="Filter amino acide") | |
30 | |
31 args = parser.parse_args() | |
32 | |
33 if sys.argv[1] == 'mutateAA': | |
34 | |
35 Pep = [] | |
36 Index = [] | |
37 | |
38 f = open(args.InFile) | |
39 lines = f.readlines() | |
40 | |
41 for line in lines: | |
42 if '>' in line: | |
43 line = line.strip('\n') | |
44 line = line.strip('\r') | |
45 Index.append(line) | |
46 else: | |
47 line = line.strip('\n') | |
48 line = line.strip('\r') | |
49 Pep.append(line) | |
50 | |
51 b = BaseSequence(len(Pep)) | |
52 b.sequences = Pep | |
53 b.mutate_AA(int(args.nr), float(args.Prob)) | |
54 OutPep = b.sequences | |
55 | |
56 OutFasta = open(args.FastOut, 'w') | |
57 | |
58 for i,O in enumerate(OutPep): | |
59 | |
60 OutFasta.write(Index[i]+'\n') | |
61 OutFasta.write(O+'\n') | |
62 | |
63 | |
64 elif sys.argv[1] == 'filterduplicates': | |
65 | |
66 Pep = [] | |
67 Index = [] | |
68 | |
69 f = open(args.InFile) | |
70 lines = f.readlines() | |
71 | |
72 for line in lines: | |
73 if '>' in line: | |
74 line = line.strip('\n') | |
75 line = line.strip('\r') | |
76 Index.append(line) | |
77 else: | |
78 line = line.strip('\n') | |
79 line = line.strip('\r') | |
80 Pep.append(line) | |
81 | |
82 b = BaseSequence(len(Pep)) | |
83 | |
84 b.sequences = Pep | |
85 | |
86 b.filter_duplicates() | |
87 | |
88 OutPep = b.sequences | |
89 | |
90 OutFasta = open(args.FastOut, 'w') | |
91 | |
92 for i,O in enumerate(OutPep): | |
93 | |
94 OutFasta.write(Index[i]+'\n') | |
95 OutFasta.write(O+'\n') | |
96 | |
97 | |
98 elif sys.argv[1] == 'keepnaturalaa': | |
99 | |
100 Pep = [] | |
101 Index = [] | |
102 | |
103 f = open(args.InFile) | |
104 lines = f.readlines() | |
105 | |
106 for line in lines: | |
107 if '>' in line: | |
108 line = line.strip('\n') | |
109 line = line.strip('\r') | |
110 Index.append(line) | |
111 else: | |
112 line = line.strip('\n') | |
113 line = line.strip('\r') | |
114 Pep.append(line) | |
115 | |
116 b = BaseSequence(len(Pep)) | |
117 b.sequences = Pep | |
118 b.keep_natural_aa() | |
119 | |
120 OutFasta = open(args.FastOut, 'w') | |
121 | |
122 OutPep = b.sequences | |
123 | |
124 for i,O in enumerate(OutPep): | |
125 | |
126 OutFasta.write(Index[i]+'\n') | |
127 OutFasta.write(O+'\n') | |
128 | |
129 | |
130 elif sys.argv[1] == 'filteraa': | |
131 | |
132 Pep = [] | |
133 Index = [] | |
134 | |
135 f = open(args.InFile) | |
136 lines = f.readlines() | |
137 | |
138 for line in lines: | |
139 if '>' in line: | |
140 line = line.strip('\n') | |
141 line = line.strip('\r') | |
142 Index.append(line) | |
143 else: | |
144 line = line.strip('\n') | |
145 line = line.strip('\r') | |
146 Pep.append(line) | |
147 | |
148 | |
149 b = BaseSequence(len(Pep)) | |
150 b.sequences = Pep | |
151 | |
152 FilterAA = args.FilterAA.split(',') | |
153 | |
154 b.filter_aa(FilterAA) | |
155 | |
156 OutPep = b.sequences | |
157 | |
158 OutFasta = open(args.FastOut, 'w') | |
159 | |
160 for i,O in enumerate(OutPep): | |
161 | |
162 OutFasta.write(Index[i]+'\n') | |
163 OutFasta.write(O+'\n') | |
164 | |
165 | |
166 | |
167 | |
168 |