Hatena::ブログ(Diary)

arupaka-_-arupakaの日記

2012-05-25

sedで正規表現で指定したパタン数行削除; コマンドであるパターン以降の数行を削除

]sed正規表現で指定したパタン数行削除; コマンドであるパターン以降の数行を削除

例 以下のtest.txtのxxxから2行後ろまで削除


test.txt

abc

xxx

efd

xyz

cfd

mmm

sed "/xxx/,+2d" test.txt

出力例

abc

cfd

mmm

2012-05-22

サイトスケープでノードのサイズをファイルで指定する.

サイトスケープノードのサイズ(大きさ)をファイルで指定する.

参考にさせていただいたブログ

http://wiki.livedoor.jp/bioinformatics/d/Cytoscape/Tutorials/Introduction_to_Cytoscape

(1)ネットワークを作る(このブログの昔の記事参照).

(2)File -> Import -> Attribute From Table で

   アトリビュートファイルを入力(一行目の扱われ方に注意、一行目が列名の場合は,一列目が列名という入力オプションにする)

(3)VizMapper のOptionボタン(Current Visual Styleの横にある

工具と鉄板のアイコン)をクリック

(4)Create New visual style: Visual Style名をつける

(5)Visual Mapping BrowserのNode sizeをダブルクリック

(6)(2)と対応する名前を選択

(7)Mapping Typeを Continuous Mapping を指定

(8)これでOK。

(9)できなければControl PanelのNetworkのタブを開き

   ネットワークを選び右クリックApply visual styleで名前をつけたものを選ぶ.

<<

これでなんとなくなるはず.

2012-05-21

色々な計算: 最大の連,符号の反転など

色々な計算:最大の連,符号の反転など

prob<-0
kkkk<-0
prob<-0
length1<-0
pvalue<-0
pp<-0
pp2<-0
pp3<-0
#7
for(i in 1:(2^7)){
	digit<-7
	prob123<-vector_prob((kkkb),decbin(i,digit=digit))
	kkkk[i]<-paste(decbin(i,digit=digit),collapse=" ")
	length1[i]<-prob123[2]
	prob[i]<-prob123[1]
	pvalue[i]<-prob123[3]
	pp[i]<-sum(decbin(i,digit=digit))
	pp2[i]<-length(macthing_vector(decbin(i,digit=digit),c(1,-1)))+length(macthing_vector(decbin(i,digit=digit),c(-1,1)))
	#pp3[i]<-length(macthing_vector(decbin(i,digit=digit),c(1,1)))+length(macthing_vector(decbin(i,digit=digit),c(-1,-1)))
	v<-decbin(i,digit=digit)
	q1<-macthing_vector(c(v,-v[length(v)]),c(1,-1))
	q2<-macthing_vector(c(v,-v[length(v)]),c(-1,1))
	pp3[i]<-max(diff(c(0,sort(c(q1,q2)))))
	#pp3[which(pp3==0)]<-digit
	if(length(c(q1,q2))==0){
		pp3[i]<-digit
	}
}

2012-05-18

Rで連検定. 時系列が無作為か?ランダムか?の検定

連とは, 連続する+ or –の組.

  例) +-+-+-+++--+++++-++-

  右から+,-,+,-,+,-,+++,--,+++++,-,++,-

の12個の連


連検定とは,

(1)連検定

    連の数が無作為と比べて異なるか

               をしらべる検定.(分布の検定にも使える)




  無作為なら連の数の分布は,

    平均と分散が時系列の長さに依存する

          正規分布に従うことがしられる.

 それより、連の数が有意に多いか?少ないかを調べる.

  R では,runs.test 

  (現実検定ではランダムの長さが平均0標準偏差1に従うような規格化した連数のZ値を使う)

連の数平均

2NaNb/(Na+Nb)+1

連の数分散

2NaNb(2NaNb-Na-Nb)/((Na+Nb)^2)/(Na+Nb)


Rプログラム

runs.test(factor(x))

Z値とp値出力

Rでベクトル内の連続するパタンの出現する位置を検索

Rでベクトル内のの連続するパタンの出現する位置を検索.

  • 入力例:

#ベクトル

x<-c(1,2,3,3,3,3,2,3,3,3)

#パタン

patan<-c(3,3,3)

  • 出力例:

macthing_vector(x,patan)

[1] 3 4 8


x<-c(1,2,3,3,3,3,2,3,3,3)
patan<-c(3,3,3)

macthing_vector<-function(x,patan){
	patan_length<-length(patan)
	
	for(i in 1:patan_length){
		if(i==1){
			l<-which(x==patan[i])
		}else{
			z<-x[i:length(x)]
			l123<-which(z==patan[i])
			l<-intersect(l,l123)
		}
	}
	l

}

macthing_vector(x,patan)
  • 多体相関の計算への応用
patan<-c(1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,1)
p<-macthing_vector(kkkb,patan)+length(patan)
p<-p[1:(length(p)-length(patan))]
(length(which(kkkb[p]==1))+0.0)/(length(kkkb[p])+0.0)

2012-05-17

wineをつかってlinuxでigorPro

Linux(ubuntu)でigorProを使いたい.

そこで,wine(linux上でwindowsソフトを走らせられるソフト)

を利用してigorを使う.

(1)unbuntu をアップロード

(2)apt-get install wine

(3)CD-ROMを表示してigorProのseup.exe をクリック

(4)igor起動後標準フォントをArialに.

これでだいたいOK.

文字化けの問題はあるが,かなりWindowsどうり使える.