Subscribed unsubscribe Subscribe Subscribe

CPSAM.org

computer, programming, statistics and more!

R正規表現

Rで正規表現を使いたい

 

基本関数: パターンを使ってXに対して何かしたい

[grep] パターンが一致する要素のインデックスを返す

grep("PATTARN", x)

 

[sub] Xの各要素から一致するパターンを除いたもので構成されるベクトルを返す

sub("PATTARN", X)

 

正規表現パターンの作り方

スペース:[ ] 

2回以上繰り返す:{2, }

 

 

たとえば、ベクトルXの各要素にスペースが適当に入っており除きたいときは、スペースを1回以上繰り返す正規表現 ”[ ]{1, }” を使ってスペースを検索し、 ”” で置換するという手順を踏む

> X <- c(" a", "  b", "   c", "    d")

> sub("[ ]{1, }”, "", X)

[1] "a" "b" "c" "d"

となる。

繰り返しの表現は

{a, b}

としてa以上b以下に繰り返す、とするのを基本として

?:0もしくは1回繰り返す

*:0回以上繰り返す

+:1回以上繰り返す

という簡略形もある

つまり、

sub("[ ]{1,}", "", X) は sub("[ ]+", "", X) と同義

つまり

{0,1} = ?

{0,  } = *

{1,  } = +

 ということ

 

Remove all ads

AWS

AWSで作ったEC2インスタンスでNysolを使う

https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1

から、EC2を選択

・左ペインのINSTANCES -> InstancesからLaunch Instance

Ubuntu server 14.04 LTSを選択

・無料枠を使うならインスタンスタイプはGeneral purpose t2 micro

・他はとりあえずデフォルトのまま、ラウンチする

秘密鍵の作成を促すダイアログが表示されるため任意の場所にダウンロードしておく。

インスタンスのレポートのところにとりあえずのグローバルIPが表示されるので、SSHクライアント(puttyなど)でアクセスしてみる。

注)上記で作成した秘密鍵はそのままではputty秘密鍵を利用するためのユーティリティであるPAGENTでは使用できない。PUTTYGENで変換してからPAGENTに持たせる必要がある。

・ユーザー名はubuntuで、パスワードは設定されていない。

このままだと

1)インスタンスを起動するたびにグローバルIPが変わる

2)不正アクセスに脆弱(パスワード設定なし、SSHのポートが22)

なので、それぞれ追加設定が必要。

1)についてはElastic IPを設定

2)についてはセキュリティグループの設定

で対応

Remove all ads

Shiny serverとドメイン

Shiny-server R

独自ドメインを取る。

ドメインのみではshinyのデフォルトポートである3838に誘導できない

今のところ、shinyサーバしか動かしていないので、shinyを80番で動かすことにする

sudo vim /etc/shiny-server/shiny-server.conf

listen 3838

listen 80

に書き換える

これでドメインネームのみでshiyn serverへアクセスできる

 

Remove all ads

HTseq

High throughput sequencing UNIX

手元にあるbamファイル<BAM.bam>から手元にあるgff<GFF.gff3>を使ってカウントデータを手軽に取得できるPython script

htseqをインストールする

pip install htseq --user

*bamファイルを使いたい場合pysamも必要

pip install pysam --user

*numpyがない場合は上記と同様にインストールする

 

使い方

htseq-count -f bam -i  BAM.bam GFF.gff3 > output.txt

リダイレクトを忘れずに

Remove all ads

Rで描画デバイスの全削除

すぐ忘れる R

Rで描画デバイスの全削除

for(i in dev.list()){

  dev.off(i)

}

Remove all ads

Rのオブジェクトの全消去

R すぐ忘れる

現在あるオブジェクトの列挙

ls()

オブジェクトの消去

rm()

 

合わせて

rm(list=ls())

Remove all ads