質問編集履歴
1
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,76 +33,41 @@
|
|
33
33
|
|
34
34
|
```
|
35
35
|
```python
|
36
|
+
A = ""
|
37
|
+
max_len = [0]
|
38
|
+
min_len = [10000000000000000000000]
|
39
|
+
max_number = [0]
|
40
|
+
min_number = [0]
|
41
|
+
|
36
42
|
with open("short.sequ.txt") as f:
|
37
|
-
|
38
|
-
max_len = 0
|
39
|
-
max_protein = ""
|
40
|
-
|
41
|
-
min_len = 10000000000000
|
42
|
-
min_protein = ""
|
43
|
-
|
44
|
-
def change(protein, seq):
|
45
|
-
global max_len,max_protein,min_len,min_protein
|
46
|
-
seq_len = len(seq)
|
47
|
-
if seq_len == 0:
|
48
|
-
return
|
49
|
-
|
50
|
-
else:
|
51
|
-
print([seq_len])
|
52
|
-
|
53
|
-
if seq_len > max_len:
|
54
|
-
max_len,max_protein,min_len,min_protein = seq_len,protein,seq_len,protein
|
55
|
-
|
56
|
-
if seq_len < min_len:
|
57
|
-
min_len,min_protein = seq_len,protein
|
58
|
-
|
59
|
-
|
60
|
-
a_line = ""
|
61
|
-
a_seq = ""
|
62
|
-
|
63
43
|
for line in f:
|
64
44
|
strip_line = line.rstrip()
|
45
|
+
len_number = len(strip_line)
|
46
|
+
|
65
47
|
if strip_line.startswith(">"):
|
66
|
-
a_line = strip_line
|
67
|
-
change(a_line, a_seq)
|
68
|
-
a_seq = ""
|
69
|
-
print(strip_line+
|
48
|
+
print(strip_line+"\n")
|
49
|
+
A = ""
|
50
|
+
|
70
51
|
else:
|
71
|
-
A = [len(a_seq+strip_line)]
|
72
|
-
|
52
|
+
A += strip_line
|
73
|
-
msg1 = "最大アミノ酸エントリ:"
|
74
|
-
msg2 = "長さ:"
|
75
|
-
msg3 = "最小アミノ酸エントリ:"
|
76
|
-
print(msg1,max_protein,msg2,max_len)
|
77
|
-
print(msg3,min_protein,msg2,min_len)
|
78
53
|
|
54
|
+
if len_number == 0:
|
55
|
+
print(len(A))
|
56
|
+
A = ""
|
57
|
+
|
58
|
+
if [len(A)] > max_len:
|
59
|
+
max_number.append(len(A))
|
79
60
|
|
80
|
-
```
|
81
|
-
|
61
|
+
if [len(A)] < min_len:
|
62
|
+
min_number.append(len(A))
|
63
|
+
|
64
|
+
|
82
65
|
|
66
|
+
print(max(max_number))
|
83
|
-
|
67
|
+
new_number = [i for i in min_number if i > 0]
|
68
|
+
print(min(new_number))
|
84
69
|
|
85
|
-
3、関数について使い方は理解したが、最大値が見つかる度にリストに格納していく方法がわからない
|
86
70
|
|
87
|
-
以前も質問させていただきましたが、自分の中で解決できないので今一度アドバイスをいただきたいです。
|
88
|
-
宜しくお願い致します。
|
89
71
|
|
90
|
-
理想の出力は
|
91
|
-
```python
|
92
|
-
>YP_009518834.1 putative uncharacterized protein YjiT [Escherichia coli str. K-12 substr. MG1655]
|
93
|
-
[100]
|
94
|
-
|
95
|
-
>YP_009518834.1 putative uncharacterized protein YjiT [Escherichia coli str. K-12 substr. MG1655]
|
96
|
-
[200]
|
97
|
-
|
98
|
-
>YP_009518834.1 putative uncharacterized protein YjiT [Escherichia coli str. K-12 substr. MG1655]
|
99
|
-
[300]
|
100
|
-
|
101
|
-
最大アミノ酸:>YP_009518834.1 putative uncharacterized protein YjiT [Escherichia coli str. K-12 substr. MG1655]
|
102
|
-
最大値:300
|
103
|
-
|
104
|
-
最小アミノ酸:>YP_009518834.1 putative uncharacterized protein YjiT [Escherichia coli str. K-12 substr. MG1655]
|
105
|
-
最小値:100
|
106
|
-
|
107
72
|
```
|
108
|
-
と
|
73
|
+
最大値と最小値が見つかった時に、前行と対応させてリストに格納するにはどうしたらいいでしょうか?
|