1

http://ncbi.nlm.nih.gov/genomes/FLU/Database/nph-select.cgi#mainformからタンパク質配列をダウンロードします。ファイル名は FASTA.FA です。ファイル内のタンパク質ごとに、説明行が 1 行含まれており、70 文字ごとに新しい行で区切られたタンパク質配列が含まれています。

例:

>CAA47401 B/Yamagata/16/88 1988// NA MLPSTIQTLTLFLTSGGVLLSLYVSASLSYLLYSDILLKFSPTEITAPKVPLDCANASNVQAVNRSATKG MTLLLSEPEWTYPRLSCQGSTFQKALLISPHRFGESRGNSAPLIIREPFIACGPKECKHFALTHYAAQPG >AAB26739 Influenza B virus 1973// NA MLPSTIQTLTLFLTSGGVLLSLYVSASLSYLLYSDILLKFSPTKITAPTMSLDCANVSNVQAVNRSATKE DVPCIGIEMVHDGGKETWHSAATAIYCLMGSGQLLWDIVTGVAMAL

これを Excel により適したファイルに変換する Ruby スクリプトがあります。最初の行が 1 つのセルを取得し、タンパク質シーケンス全体が別のセルを取得します (perl は間にタブを作成し、Excel はタブで区切られたものを新しいセルに配置します)。 .

これは私のスクリプトです:

ruby -e 'first_line = true; while line = STDIN.gets; line.chomp!; 
if line =~ /^>/; puts unless first_line; print line[1..-1]; print "\t"; 
else; print line; end; first_line = false; end; puts' < ~/Downloads/FASTA.fa > ~/Downloads/Sequences.xls

ファイルをダウンロードした Web サイトでは、最初の行のフォーマットを変更できます。各説明の間に「+」を含め、+ をタブに変換する perl スクリプトを用意しています (一部の説明にはスペースが含まれています)。 、したがって、区切りとしてスペースを使用することはできません)。

perl -p -i -e "s/\+/\t/g" ~/Downloads/Sequences.xls

これらの 2 つのハックにより、適切な Excel ファイルが作成され、ドックにあるこれら 2 つのスクリプトから Automator プログラムが作成されました。

しかし、今、私のグループは、これから AppleScript を作成することを望んでいます。私がこれを正しく理解していれば、「do shell script」と入力してスクリプトを貼り付けるだけでは簡単ではありませんが、applescript が理解できるように実際のスクリプト自体をフォーマットする必要があります。誰かがこれを作成するのを手伝ってくれませんか?

ありがとう!

4

1 に答える 1

0

rubyスクリプトを適切な.rbファイルに作成する必要があると思います。その間、Rubyを使用してタブを置き換えます(または、より洗練されたExcel出力が必要な場合は、 Spreadsheet gemを使用しますが、必要になる場合があります。他の人のコンピュータでのセットアップ)。または、代わりにすべてPerlで実行してください。このような些細な検索/置換のために2つのランタイムを起動する手間を省くためだけに。そのことについては、あなたはそれをすべて行うことができるとsed確信しています。

とにかく、スクリプトをファイルとして取得したら、AppleScript Editorで新しいスクリプトを作成し、それをスクリプトバンドルとして保存できます。次に、AppleScriptの「内部」にスクリプトを含めることができます。そうすれば、スクリプトがどこにあるかがわかり、必要に応じて編集するのがはるかに簡単になります。次に、を使用do shell scriptして、適切な引数を使用してスクリプトを呼び出すことができます。簡略化した例:

-- get script path
set rb to POSIX path of (path to me) & "Contents/Resources/Scripts/convert.rb"

-- run script
do shell script "ruby '" & rb & "' < inputfile.fa > outputfile.xls"

必要に応じて、へのパスをハードコーディングする代わりに、ドラッグアンドドロップ変換を実行することもできます~/Downloads/FASTA.fa(誰かが古いダウンロードを移動/削除するのを忘れた場合、そのダウンロードを変換し続け、同じものを上書きしますxls、新しいダウンロードは「FASTA-1.fa」などになるため、可能であればハードコードされたパスは避けてください)

于 2012-06-17T13:53:14.760 に答える