- 締切済み
他の解き方
ディレクトリの中にアミノ酸配列が記されたファイルが5枚あります。それぞれのファイルのアミノ酸配列について疎水性指標を計算し、ファイル名とともに表示しなさい。 与えられたディレクトリ:dp18 アミノ酸配列を、疎水性指標に変換するハッシュは以下のものを用いる。 A => "1.8", V => "4.2", L => "3.8", I => "4.5", M => "1.9", W => "-0.9", F => "2.8", P => "-1.6", G => "-0.4", S => "-0.8", T => "-0.7", C => "2.5", Y => "-1.3", N => "-3.5", Q => "-3.5", K => "-3.9", R => "-4.5", H => "-3.2", D => "-3.5", E => "-3.5", ディレクトリを引数としてperlスクリプトを実行する時は、以下のように入力。 perl [スクリプト名] [ディレクトリ名] という問題を自分で解いてみたのですが、それ以外にわかりやすい方法どのような書き方があるのかを知りたいのです。わかりやすく教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tatsu99
- ベストアンサー率52% (391/751)
回答No.2
- natsuki_tk
- ベストアンサー率35% (99/279)
回答No.1
補足
書き込もうとしたのですが、字数が多くムリだったのです・・・すみませんでした。 %aa12hydro = ( A => "1.8", V => "4.2", L => "3.8", I => "4.5", M => "1.9", W => "-0.9", F => "2.8", P => "-1.6", G => "-0.4", S => "-0.8", T => "-0.7", C => "2.5", Y => "-1.3", N => "-3.5", Q => "-3.5", K => "-3.9", R => "-4.5", H => "-3.2", D => "-3.5", E => "-3.5", ); if (!@ARGY) { print "The target directory must be specified as the command-line argument\n"; exit; } $indir = shift(@ARGY); opendir(DIR,$indir) || die; print"\n"; print " Direntory: ", indir, "\n"; print "-----------------------------", "\n"; @file_entry = readdir(DIR); closedir(DIR); foreach $entry (@file_entry) { if($entry !~ /.txt$/){ next; } $file_path = "./" . $indir . "$entry; open(IN, $file_oath) || die; $aa = ""; while (<IN>){ chomp; $aa .= $_; } close(IN); @aa_part = split(//, $aa); $count_hydro = 0; foreach $item(@aa_parts){ $count_hydro += $aa12hydro{$item}; } print "File:", $entry, "\n"; print "Hydrophobicity: ",$count_hydro, "\n"; } exit;