Perlのエラーを直す

Perlの実行時に、以下のような警告が出て邪魔です。これは、調べたところ、ログインしているMacのbashの環境設定が、Ubuntu内で反映しているのが問題だそうです。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "ja_JP.UTF-8"
    are supported and installed on your system.

perl: warning: Falling back to a fallback locale ("ja_JP.UTF-8").

そこで、Ubuntuの~/.bashrcの末尾に

export LC_ALL=en_US.UTF-8

を追加するとうまくいきます。

OSのイメージを仮想アプライアンスとして出力

他のパソコンのVirtualboxへ現在のパソコンのVIrtualbox内のUbuntuを移植したい場合、仮想アプライアンスとして出力がおすすめです。OVAファイルが生成されますので、それをインポートすればよいです。

Virtualboxのスナップショット

Virtualboxはその瞬間の設定すべての差分を記録することができます。それがスナップショットというシステムです。OSを選択するウィンドウで、Spanpshotを選択すれば、スナップショットを作成できます。
重大な設定変更を行う前にはスナップショットを作成することをお勧めします。

Ubuntu15.04へBioperlをインストール

Bioperlはプラットフォームごとに様々なインストール方法が存在する。
一番、conservativeな方法はソースコードからのビルドだが、ハマるポイントも多い。
UbuntuはAPTでパッケージとしてインストールが可能なため、それに頼るとする。

$ sudo apt-get install bioperl

こちら(http://www.bioperl.org/wiki/Getting_Started)を参考にして、テストを行う。
以下のファイルをtest.plとでも作っておく。

use Bio::Seq;
use Bio::SeqIO;

# create a sequence object of some DNA
my $seq = Bio::Seq->new(-id => 'testseq', -seq => 'CATGTAGATAG');

# print out some details about it
print "seq is ", $seq->length, " bases long\n";
print "revcom seq is ", $seq->revcom->seq, "\n";

# write it to a file in Fasta format
my $out = Bio::SeqIO->new(-file => '>testseq.fsa', -format => 'Fasta');
$out->write_seq($seq);


その後、

$ perl test.pl
$ ls      
test.pl  testseq.fsa
$ less testseq.fsa
>testseq
CATGTAGATAG

問題なく動いているようである。

Virtualbox内のUbuntuにNATのポートフォワーディングによりSSH接続する

# sshサーバーをインストール
$ sudo apt-get install ssh


Ubuntuを選択して、Setting内のNetwork内のAdapter1を選択。初期設定はNATとなっているはず。Advanceを選択すると、ポートフォワーディングができる。私は以下のようにした。



ホストのMacより以下のようにコマンドをうって、Virtualbox内のUbuntuへログインできる。
$ ssh -P 2222  kappa@localhost