質問編集履歴

1

コードの説明とテキストファイルの内容、エラーメッセージを追記

2019/02/01 02:26

投稿

mah3
mah3

スコア17

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
  print('intronの数は?')
114
114
 
115
- intron_kazu = int(input())
115
+ intron_kazu = int(input()) #intron個数
116
116
 
117
117
 
118
118
 
@@ -134,21 +134,165 @@
134
134
 
135
135
 
136
136
 
137
- intron_number = int(input())
137
+ intron_number = int(input()) #intronの残基番号を入力
138
138
 
139
139
  list_intron.append(intron_number)
140
140
 
141
141
 
142
142
 
143
- index = array_number.index(intron_number)
143
+ index = array_number.index(intron_number) #intorn分子の最初の通しナンバー
144
-
144
+
145
- count = array_number.count(intron_number)
145
+ count = array_number.count(intron_number) #intron分子を構成する原子数
146
-
146
+
147
- intron_finish = index + count
147
+ intron_finish = index + count #(intron原子の最後の通しナンバー + 1)
148
+
149
+
150
+
151
+
148
152
 
149
153
  ```
150
154
 
151
-
155
+ 元のテキストファイルがこちらになります
156
+
157
+ > ATOM 1 N ALA A 9 -10.745 32.779 -2.046 1.00 61.24 N
158
+
159
+ ANISOU 1 N ALA A 9 7527 8194 7549 2491 121 -1211 N
160
+
161
+ ATOM 2 CA ALA A 9 -9.707 33.771 -2.328 1.00 60.43 C
162
+
163
+ ANISOU 2 CA ALA A 9 7556 8106 7300 2484 202 -1169 C
164
+
165
+ ATOM 3 C ALA A 9 -8.532 33.739 -1.303 1.00 61.21 C
166
+
167
+ ANISOU 3 C ALA A 9 7589 8327 7340 2293 284 -1015 C
168
+
169
+ ATOM 4 O ALA A 9 -8.683 33.287 -0.159 1.00 57.06 O
170
+
171
+ ANISOU 4 O ALA A 9 6940 7894 6849 2153 299 -972 O
172
+
173
+ ATOM 5 CB ALA A 9 -10.311 35.169 -2.384 1.00 61.35 C
174
+
175
+ ANISOU 5 CB ALA A 9 7779 8192 7338 2507 226 -1295 C
176
+
177
+ ATOM 6 N TYR A 10 -7.370 34.249 -1.756 1.00 58.26 N
178
+
179
+ ANISOU 6 N TYR A 10 7304 7947 6887 2302 335 -930 N
180
+
181
+ ATOM 7 CA TYR A 10 -6.099 34.359 -1.034 1.00 58.08 C
182
+
183
+ ANISOU 7 CA TYR A 10 7243 8003 6822 2150 400 -787 C
184
+
185
+ ATOM 8 C TYR A 10 -6.143 35.449 0.019 1.00 67.00 C
186
+
187
+ ANISOU 8 C TYR A 10 8380 9178 7900 2016 432 -811 C
188
+
189
+ ATOM 9 O TYR A 10 -5.993 35.148 1.206 1.00 66.49 O
190
+
191
+ ANISOU 9 O TYR A 10 8226 9198 7839 1881 443 -770 O
192
+
193
+ ATOM 10 CB TYR A 10 -4.965 34.694 -2.018 1.00 57.22 C
194
+
195
+ ANISOU 10 CB TYR A 10 7222 7854 6665 2231 444 -687 C
196
+
197
+ ATOM 11 CG TYR A 10 -4.674 33.623 -3.042 1.00 55.74 C
198
+
199
+ ANISOU 11 CG TYR A 10 7039 7641 6497 2392 410 -644 C
200
+
201
+ ATOM 12 CD1 TYR A 10 -5.589 33.329 -4.050 1.00 57.18 C
202
+
203
+ ANISOU 12 CD1 TYR A 10 7290 7737 6700 2599 335 -758 C
204
+
205
+
206
+
207
+
208
+
209
+ そしてスキップ処理してPython に表示されたのがこちらです。
210
+
211
+ > > ATOM 1 N ALA A 9 -10.745 32.779 -2.046 1.00 61.24 N
212
+
213
+ ATOM 2 CA ALA A 9 -9.707 33.771 -2.328 1.00 60.43 C
214
+
215
+ ATOM 3 C ALA A 9 -8.532 33.739 -1.303 1.00 61.21 C
216
+
217
+ ATOM 4 O ALA A 9 -8.683 33.287 -0.159 1.00 57.06 O
218
+
219
+ ATOM 5 CB ALA A 9 -10.311 35.169 -2.384 1.00 61.35 C
220
+
221
+ ATOM 6 N TYR A 10 -7.370 34.249 -1.756 1.00 58.26 N
222
+
223
+ ATOM 7 CA TYR A 10 -6.099 34.359 -1.034 1.00 58.08 C
224
+
225
+ ATOM 8 C TYR A 10 -6.143 35.449 0.019 1.00 67.00 C
226
+
227
+ ATOM 9 O TYR A 10 -5.993 35.148 1.206 1.00 66.49 O
228
+
229
+ ATOM 10 CB TYR A 10 -4.965 34.694 -2.018 1.00 57.22 C
230
+
231
+ ATOM 11 CG TYR A 10 -4.674 33.623 -3.042 1.00 55.74 C
232
+
233
+ ATOM 12 CD1 TYR A 10 -5.589 33.329 -4.050 1.00 57.18 C
234
+
235
+ ATOM 13 CD2 TYR A 10 -3.436 32.994 -3.083 1.00 54.91 C
236
+
237
+ ATOM 14 CE1 TYR A 10 -5.317 32.361 -5.013 1.00 53.48 C
238
+
239
+ ATOM 15 CE2 TYR A 10 -3.147 32.033 -4.048 1.00 54.87 C
240
+
241
+ ATOM 16 CZ TYR A 10 -4.096 31.713 -5.006 1.00 55.01 C
242
+
243
+ ATOM 17 OH TYR A 10 -3.855 30.748 -5.947 1.00 42.22 O
244
+
245
+ ATOM 18 N ALA A 11 -6.341 36.729 -0.438 1.00 66.89 N
246
+
247
+ ATOM 19 CA ALA A 11 -6.371 38.001 0.307 1.00 67.92 C
248
+
249
+ ATOM 20 C ALA A 11 -7.005 37.876 1.678 1.00 72.70 C
250
+
251
+ ATOM 21 O ALA A 11 -6.570 38.550 2.621 1.00 74.55 O
252
+
253
+ ATOM 22 CB ALA A 11 -7.114 39.055 -0.498 1.00 69.00 C
254
+
255
+ ATOM 23 N GLN A 12 -8.038 37.023 1.784 1.00 67.03 N
256
+
257
+ ATOM 24 CA GLN A 12 -8.740 36.734 3.030 1.00 66.02 C
258
+
259
+ ATOM 25 C GLN A 12 -7.944 35.739 3.897 1.00 64.78 C
260
+
261
+ ATOM 26 O GLN A 12 -7.729 35.980 5.091 1.00 65.92 O
262
+
263
+ ATOM 27 CB GLN A 12 -10.134 36.167 2.718 1.00 67.75 C
264
+
265
+ ATOM 28 N GLU A 13 -7.503 34.627 3.286 1.00 56.75 N
266
+
267
+ ATOM 29 CA GLU A 13 -6.809 33.555 3.988 1.00 53.08 C
268
+
269
+ ATOM 30 C GLU A 13 -5.357 33.865 4.378 1.00 45.98 C
270
+
271
+ ATOM 31 O GLU A 13 -4.805 33.048 5.098 1.00 43.30 O
272
+
273
+ ATOM 32 CB GLU A 13 -6.860 32.263 3.161 1.00 54.87 C
274
+
275
+ ATOM 33 N LYS A 14 -4.742 35.018 3.973 1.00 38.34 N
276
+
277
+ ATOM 34 CA ALYS A 14 -3.341 35.298 4.317 0.50 37.05 C
278
+
279
+
280
+
281
+
282
+
283
+ (約3000行)
284
+
285
+
286
+
287
+ エラーメッセージがこちらです。
288
+
289
+ > Traceback (most recent call last):
290
+
291
+ File "C:\Users\sakura\Desktop\python 1031\1行飛ばしテスト.py", line 70, in <module>
292
+
293
+ index = array_number.index(intron_number) #intorn分子の最初の通しナンバー
294
+
295
+ ValueError: 47 is not in list
152
296
 
153
297
 
154
298
 
@@ -158,7 +302,7 @@
158
302
 
159
303
  ```Python
160
304
 
161
- file = open('test.txt','r')
305
+ file = open('test2.txt','r') #ファイルを変えるときはここを変える
162
306
 
163
307
  string = file.readline()
164
308
 
@@ -172,13 +316,13 @@
172
316
 
173
317
  z = [0]*10000
174
318
 
175
- array_number = [0]*10000
319
+ array_number = [0]*10000 #配列番号
176
-
320
+
177
- tag = [0]*10000
321
+ tag = [0]*10000 #物質名
178
-
322
+
179
- atom = [0]*10000
323
+ atom = [0]*10000 #原子名
180
-
324
+
181
- chain = [0]*10000
325
+ chain = [0]*10000 #鎖
182
326
 
183
327
 
184
328
 
@@ -228,7 +372,7 @@
228
372
 
229
373
  print('intronの数は?')
230
374
 
231
- intron_kazu = int(input())
375
+ intron_kazu = int(input()) #intron個数
232
376
 
233
377
 
234
378
 
@@ -238,7 +382,7 @@
238
382
 
239
383
  z_intron = []*(intron_kazu)
240
384
 
241
- list_intron = []
385
+ list_intron = [] #intronの通しナンバー
242
386
 
243
387
 
244
388
 
@@ -250,16 +394,20 @@
250
394
 
251
395
 
252
396
 
253
- intron_number = int(input())
397
+ intron_number = int(input()) #intronの残基番号を入力
254
398
 
255
399
  list_intron.append(intron_number)
256
400
 
257
401
 
258
402
 
259
- index = array_number.index(intron_number)
403
+ index = array_number.index(intron_number) #intorn分子の最初の通しナンバー
260
-
404
+
261
- count = array_number.count(intron_number)
405
+ count = array_number.count(intron_number) #intron分子を構成する原子数
262
-
406
+
263
- intron_finish = index + count
407
+ intron_finish = index + count #(intron原子の最後の通しナンバー + 1)
408
+
409
+
410
+
411
+
264
412
 
265
413
  ```