comparison PDAUG_Peptide_Core_Functions/PDAUG_Peptide_Core_Functions.py @ 0:7557b48b2872 draft

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit a9bd83f6a1afa6338cb6e4358b63ebff5bed155e"
author jay
date Wed, 28 Oct 2020 02:10:12 +0000
parents
children 9fecb93cedbe
comparison
equal deleted inserted replaced
-1:000000000000 0:7557b48b2872
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