作者pcikilo (Mm~~~)
看板Perl
标题[问题] 阵列的存取....
时间Wed Sep 17 11:27:16 2008
ATOM 12 HG22 ILE P 1 -31.800 -23.286 29.283 1.00 1.32 PROP
ATOM 12 HG23 ILE P 1 -30.945 -22.010 30.207 1.00 1.32 PROP
ATOM 12 CG1 ILE P 1 -30.042 -23.666 32.316 1.00 2.17 PROP
ATOM 18 HD2 ILE P 1 -29.604 -21.554 31.927 1.00 1.32 PROP
ATOM 19 HD3 ILE P 1 -28.796 -22.224 33.384 1.00 1.32 PROP
ATOM 20 C ILE P 1 -30.179 -26.609 30.868 1.00 2.00 PROP
ATOM 20 O ILE P 1 -30.601 -27.764 30.830 1.00 1.70 PROP
ATOM 20 N LEU P 2 -28.855 -26.379 30.992 1.00 1.85 PROP
ATOM 20 HN LEU P 2 -28.496 -25.447 30.951 1.00 0.22 PROP
不好意思 ....想请问版友们
上面是目前处理的档案....我把它存成阵列
再来利用 $a = substr $pdblist[$n],23,3; 的方式
把我想要的部份做处理
也就是 ILE P後面的"1"那column 做排序的处理
请问要怎麽把处理完的$a存回去原来的位子呢?
我试过 push 也行不通....
以下是我想做的格式...谢谢大家
ATOM 12 HG22 ILE P 1 -31.800 -23.286 29.283 1.00 1.32 PROP
ATOM 12 HG23 ILE P 2 -30.945 -22.010 30.207 1.00 1.32 PROP
ATOM 12 CG1 ILE P 3 -30.042 -23.666 32.316 1.00 2.17 PROP
ATOM 18 HD2 ILE P 4 -29.604 -21.554 31.927 1.00 1.32 PROP
ATOM 19 HD3 ILE P 5 -28.796 -22.224 33.384 1.00 1.32 PROP
ATOM 20 C ILE P 6 -30.179 -26.609 30.868 1.00 2.00 PROP
ATOM 20 O ILE P 7 -30.601 -27.764 30.830 1.00 1.70 PROP
ATOM 20 N LEU P 8 -28.855 -26.379 30.992 1.00 1.85 PROP
ATOM 20 HN LEU P 9 -28.496 -25.447 30.951 1.00 0.22 PROP
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.43.101
1F:推 giacch:$pdblist[$n] = substr($pdblist[$n], 0, 23) 09/17 12:41
2F:→ giacch: . sprintf("%3d", $n) . substr($pdblist[$n], 26); 09/17 12:41
3F:推 Andor:substr($pdblist[$n],23,3) = $a; 09/18 02:38
4F:推 giacch:楼上方法更简洁~ ^^ 感谢... 09/18 02:49
5F:→ giacch:substr($pdblist[$n], 23, 3) = sprintf("%3d", $n); 09/18 02:50
6F:→ giacch:substr 本身也有提供第4参数... 09/18 03:21
7F:→ giacch:substr($pdblist[$n], 23, 3, sprintf("%3d", $a)); 09/18 03:21