Conditions | 29 |
Total Lines | 189 |
Code Lines | 101 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
Complex classes like build.rna_tools.tools.PyMOL4RNA.PyMOL4Spliceosome.spl() often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
1 | """ |
||
75 | def spl(arg=''): |
||
76 | """ |
||
77 | action='', name='' |
||
78 | """ |
||
79 | #reload() |
||
80 | print(arg) |
||
81 | if ' ' in arg: |
||
82 | action, name = arg.split() |
||
83 | name = name.lower() |
||
84 | else: |
||
85 | action = arg |
||
86 | name = '' |
||
87 | #import pandas as pd |
||
88 | #df = pd.read_excel("/home/magnus/Desktop/pyMoL_colors-EMX.xlsx") |
||
89 | if not action or action == 'help': |
||
90 | spl_help() |
||
91 | cmd.do('color red, chain A') |
||
92 | cmd.do('color forest, chain B') |
||
93 | cmd.do('color grey, chain C') |
||
94 | cmd.do('color grey, chain D') |
||
95 | |||
96 | cmd.do('color grey, chain I') |
||
97 | cmd.do('color grey, chain J') |
||
98 | |||
99 | cmd.do('color purple, chain D and resi 4') |
||
100 | cmd.do('color purple, resn MG') |
||
101 | # exon |
||
102 | cmd.do('color yellow, chain G') |
||
103 | cmd.do('color yellow, chain E') |
||
104 | |||
105 | cmd.do('color blue, chain H') |
||
106 | cmd.do('color blue, chain U') |
||
107 | |||
108 | cmd.show("spheres", "inorganic") |
||
109 | cmd.set('sphere_scale', '1', '(all)') |
||
110 | #cmd.set('sphere_scale', '1', '(all)') |
||
111 | cmd.color("yellow", "inorganic") |
||
112 | |||
113 | elif arg == 'g22': |
||
114 | print('g22') |
||
115 | t = """ |
||
116 | color gray, resi 1-600; |
||
117 | color red, resi 550-586; |
||
118 | color pink, resi 587-630; |
||
119 | color brown, resi 507-549; |
||
120 | color marine, resi 350-424; |
||
121 | color yellow, resi 425-507; |
||
122 | color forest, resi 1-26; |
||
123 | color forest, resi 327-350; |
||
124 | color yellow, chain B; |
||
125 | """ |
||
126 | color_by_text(t) |
||
127 | |||
128 | elif arg == 'g21': |
||
129 | print('g21') |
||
130 | t = """ |
||
131 | color gray, resi 1-600; |
||
132 | color red, resi 300-400 |
||
133 | color marine, resi 288-289; |
||
134 | """ |
||
135 | color_by_text(t) |
||
136 | |||
137 | elif action == 'color' or arg=='c': |
||
138 | code_for_color_spl.spl_color() |
||
139 | elif arg == 'extract all' or arg == 'ea' or arg == 'e': |
||
140 | code_for_spl.spl_extract() |
||
141 | elif arg == 'cc': # colorchains |
||
142 | cmd.do('color blue, chain 5') |
||
143 | cmd.do('color red, chain 6') |
||
144 | cmd.do('color forest, chain 2') |
||
145 | |||
146 | cmd.do('color red, chain V') |
||
147 | cmd.do('color forest, chain Z') |
||
148 | |||
149 | elif arg == 'ab': # colorchains |
||
150 | cmd.do('color red, chain B') |
||
151 | cmd.do('color forest, chain A') |
||
152 | cmd.do('color grey, chain C') |
||
153 | cmd.do('color grey, chain D') |
||
154 | cmd.do('color purple, chain D and resi 4') |
||
155 | cmd.do('color purple, resn MG') |
||
156 | |||
157 | elif arg == 'trim': |
||
158 | cmd.do(""" remove chain 5; |
||
159 | remove chain 2 and resi 1-19; |
||
160 | remove chain 2 and resi 50-200; |
||
161 | remove chain 6 and resi 87-200; |
||
162 | remove chain 6 and resi 1-40; |
||
163 | remove chain P and resi 45-200; |
||
164 | """) |
||
165 | |||
166 | elif arg == 'trim2': # keep super small |
||
167 | cmd.do(""" remove chain 5; |
||
168 | remove chain 2 and resi 1-19; |
||
169 | remove chain 2 and resi 30-200; |
||
170 | |||
171 | remove chain 6 and resi 87-200; |
||
172 | remove chain 6 and resi 1-50; |
||
173 | |||
174 | remove chain P and resi 45-200; |
||
175 | |||
176 | remove chain I; |
||
177 | remove chain E; |
||
178 | """) |
||
179 | |||
180 | elif arg == 't5': |
||
181 | cmd.set('transparency', 0.5) |
||
182 | elif arg == 't1': |
||
183 | cmd.set('transparency', 1) |
||
184 | elif arg.startswith('hprp28'): |
||
185 | print(""" |
||
186 | purple, resi 240-361 # RecA1 |
||
187 | blue, resi 361-631 # RecA1 |
||
188 | orange, resi 631-811 # RecA2 |
||
189 | """) |
||
190 | cmd.do("color purple, PRP28_h* and resi 240-361") # RecA1 |
||
191 | cmd.do("color blue, PRP28_h* and resi 361-631") # RecA1 |
||
192 | cmd.do("color orange, PRP28_h* and resi 631-811") # RecA2 |
||
193 | elif arg.startswith('hprp8'): |
||
194 | print(""" |
||
195 | |||
196 | RT finger/palm, skyblue, 812-1303 |
||
197 | Thumb/X, cyan, 1257-1375 |
||
198 | linker smudge, 1304-1577 |
||
199 | Endonuclease yellow, 1581-1752 |
||
200 | RNaseH-like wheat, 1767-2020 |
||
201 | JAB salmon, 2103-2234 |
||
202 | |||
203 | """) |
||
204 | cmd.do("color yellow, PRP8_h* and resi 1581-1752") # rt |
||
205 | cmd.do("color wheat, PRP8_h* and resi 1767-2020") # rh |
||
206 | cmd.do("color salmon, PRP8_h* and resi 2103-2234") # jab |
||
207 | cmd.do("color smudge, PRP8_h* and resi 1304-1577") # linker |
||
208 | cmd.do("color skyblue, PRP8_h* and resi 812-1303") # rt |
||
209 | elif arg.startswith('prp8'): |
||
210 | print( |
||
211 | """ |
||
212 | select Prp8N, Prp8 and resi 1-870 |
||
213 | select Prp8Large, Prp8 and resi 871-1827 |
||
214 | select Prp8RH, Prp8 and resi 1828-2106 |
||
215 | select Prp8RT, Prp8 and resi 871-1375 |
||
216 | select Prp8linker, Prp8 and resi 1376-1652 |
||
217 | select Prp8EN, Prp8 and resi 1653-1824 |
||
218 | select Prp8afinger, Prp8 and resi 1583-1610 |
||
219 | """) |
||
220 | cmd.do("color skyblue, PRP8_y* and resi 885-1251") # rt |
||
221 | cmd.do("color cyan, PRP8_y* and resi 1257-1375") # thumb/x |
||
222 | cmd.do("color smudge, PRP8_y* and resi 1376-1649") # linker |
||
223 | cmd.do("color wheat, PRP8_y* and resi 1840-2090") # rh |
||
224 | cmd.do("color salmon, PRP8_y* and resi 2150-2395") # jab |
||
225 | cmd.do("color yellow, PRP8_y* and resi 1650-1840") # endo |
||
226 | elif arg.startswith('yprp8'): |
||
227 | print( |
||
228 | """ |
||
229 | select Prp8N, Prp8 and resi 1-870 |
||
230 | select Prp8Large, Prp8 and resi 871-1827 |
||
231 | select Prp8RH, Prp8 and resi 1828-2106 |
||
232 | select Prp8RT, Prp8 and resi 871-1375 |
||
233 | select Prp8linker, Prp8 and resi 1376-1652 |
||
234 | select Prp8EN, Prp8 and resi 1653-1824 |
||
235 | select Prp8afinger, Prp8 and resi 1583-1610 |
||
236 | """) |
||
237 | cmd.do("color skyblue, PRP8_* and resi 885-1251") # rt |
||
238 | cmd.do("color cyan, PRP8_* and resi 1257-1375") # thumb/x |
||
239 | cmd.do("color smudge, PRP8_* and resi 1376-1649") # linker |
||
240 | cmd.do("color wheat, PRP8_* and resi 1840-2090") # rh |
||
241 | cmd.do("color salmon, PRP8_* and resi 2150-2395") # jab |
||
242 | cmd.do("color yellow, PRP8_* and resi 1650-1840") # endo |
||
243 | elif arg.startswith(''): |
||
244 | if 'hjab' in arg.lower(): |
||
245 | cmd.select('PRP8_h* and resi 2103-2234') |
||
246 | if 'hlinker' in arg.lower(): |
||
247 | cmd.select('PRP8_h* and resi 1304-1577') |
||
248 | if 'hrt' in arg.lower(): |
||
249 | cmd.select('PRP8_h* and resi 812-1303') |
||
250 | if 'hrh' in arg.lower(): |
||
251 | cmd.select('PRP8_h* and resi 1767-2020') |
||
252 | if 'he' in arg.lower(): |
||
253 | cmd.select('PRP8_h* and resi 1581-1752') |
||
254 | elif arg == 'align' or arg=='a': |
||
255 | cmd.do(""" |
||
256 | align /5gm6//6, /5lj3//V; |
||
257 | align /5mps//6, /5lj3//V; |
||
258 | align /6exn//6, /5lj3//V; |
||
259 | align /5y88//D, /5lj3//V; |
||
260 | align /5ylz//D, /5lj3//V; |
||
261 | """) |
||
262 | else: |
||
263 | spl_help() |
||
264 | |||
491 |