Java
pythonを使い始める人とともに、しばしpythonをいじってみることにする $ python でLINUX内の"python"環境に入る >>> a=1 >>> b=3 >>> print a+1 とか #! /usr/bin/env python print "hello, python" なる"hello.py"なるファイルを $ python hello.py とかや…
いくつかのツールが散在していて、使いにくい。 まとめる努力をすることにする。 Java でアプリケーションでもあり、かつ、ウェブサイトのアプレットでもあるようにしたい(なるべく、想定利用者(実験系の皆さん)が気楽に使えるように・・・)が、複雑にす…
JGraphTは、Javaのグラフライブラリ こちらの記事を参照 ちなみにこの記事を載せたブログの管理者さんは、英語のチェックのこんなのもやっているし、Hatenarというサービスも管理しているとか。。。それによると、このryamada22ブログはこんな感じと。世の中…
講義説明用のツール。 たとえば以下のような条件を考えます(掲載図) 広義Heritability=0.6 着目SNPのアレル頻度は0.4 このSNPは遺伝因子全体の1%を説明する程度のものであって このSNPは集団でHWEを満足しており この疾病のphenocopy=0.2で 有病率が0.01 こ…
Ewens sampling formulaは以下の式で表され、 [tex:Pr*1=\frac{n!\theta^k}{\theta^{\[n\]}}\prod_{i=1}^n \frac{1}{i^{m_i}m_i!}], このような式であらわされるような突然変異の係数について、サンプル数nのときの、異なるアレルの数の期待値は[tex:\sum le…
Ewens sampling formulaについて数日前に書いた。それは、ある正の整数を正の整数の和で表す表し方と関係していることも書いた。 このように整数を整数の和で表すことを整数分割という。それについては、こちらを参照。 その整数分割のパターン数をJavaでべ…
今、家系図が与えられているものとする。遺伝子型データのシミュレーションをするとする。家系図の上流のサンプルの遺伝子型を決めたあとに、下流のサンプルの遺伝子型を決める必要がある。次のようにすることにする。 サンプル総数 N 家系図は、int tree = …
public static double[][] CaseContFrac(double af,double f,double prev,double[] risk){ double[][] ret=new double[2][3]; double p=af; double[] total={ p*p+p*(1-p)*f,2*p*(1-p)*(1-f),(1-p)*(1-p)+p*(1-p)*f }; double[] ca={total[0]*risk[0],total[…
発現解析に限定せず、グラフ可視化に転用しやすいとよいのだが・・・ すくなくともオープンソースで、Javaで、ネットワーク〜グラフで、可視化 こちら Javaソースをダウンロードして、解凍、その後、eclipseで適当な名称で、Javaプロジェクトを新規作成。プ…
これの続き 組み換えを考慮する前に、染色体の長さが均等でない場合を考えよう 前回は、すべての染色体の長さが同じものと仮定した。 全部でk種類の染色体があり、なる長さの染色体とする 同胞がシェアする期待値は ただしはk種類の染色体の父母由来を0,1で…
自然数について、は、偶数のときは自然数、奇数のときは、を含む リンク public static double GammaLN(int df){ double chiProb=0; int evenodd=(int)(df)%2; if(evenodd==0){ for(double i=(double)df/2-1;i>0;i--){ chiProb+=Math.log(i); } }else{ chiPr…
package homoStretch; import java.io.IOException; public class CousinMarriage { int id; int gen; int num; int[] numInGen; Person[] person; int len; double rec; Person rootPerson=new Person(-1,-1); public CousinMarriage(int id,int gen,int nu…
ディリクレ分布については、Wikipediaの記事がこちら。 このWikipedia記事の図は、3つの独立事象について、 をの場合について、の範囲での範囲について計算し、その結果を、x1,x2の軸についてプロットしたものである。 これをエクセルで計算するとこんな感…
http://www.itarchitect.jp/beginners/-/46269-3.html http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8010&forum=12&7 http://www.javaroad.jp/java_io9.htm http://www5c.biglobe.ne.jp/~ecb/java/15_31_02.html> library(ape) Warning message…
距離"-1"はエッジなしに相当 public class WarshallFloyd { public static int[][][] WFshortestDist(int[][] a){ int n=a.length; int[][] dist=StatUtilsX.MiscUtilX.DeepCopyInt2(a); int[][] pred=new int[n][n]; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(dist[i][j]>0){ pred[i][j]=j; }else{</n;i++){>…
だいたいN個の点を半径1の球面上に「ほぼ均一に配置する」 N=1000を指定して1513個の点がプロットされた・・・(これが誤差) Javaで3次元座標として出力する public static void main(String[] args)throws IOException { int N=1000; new SphereCoords sc …
public static double PrRatioChiPrExPrAllDF(double[][] d){ int df=(d.length-1)*(d[0].length-1); System.out.println("df=\t"+df+"\t"); //(ExPr/ChiPr) double ret = 1; double chi=Chi.chi(d); if(chi!=0){ double chiPr=0; double expr=0; double chi…
コンピュータによる数値計算における精度のこと。 浮動小数点のことなどあり、計算結果に誤差が出る話し。Mathematicaを用いて計算していたところ、任意精度という概念を採用していることはこちらに書いた。Mathematicaはを『1を3等分したもの』という形で…
パーミューテーションテストでモンテカルロを使うとすると、並列プロセスで用いる擬似乱数列も相互にランダムであることが必要である。シードから開始する擬似乱数列を用いる場合には、採取する擬似乱数を、プロセス数おきに採取させることによって、全プロ…
管理ファイルの存在・非存在ループ 第1プロセスは管理ファイルを作成する。このファイルは、オリジナル検定セットが終了してから作成する。このファイルが非存在の間は、空ループを回し、k-1プロセスは先へ進まない String dir="hogedir"; String regulatio…
参考にしたのは、こちらの記事 javaの1プロセスの中に複数のスレッドを立てたりして制御するには、こんな処理ももちろんあるわけだけれども、今は、複数のノードでの制御なので、Javaの外に制御用存在を置く 想定実行条件 (1)今、kxN回のパーミュテーシ…
パーミュテーションテスト 処理構成 オリジナル検定セットの実行 パーミュテーション試行による検定セットの実行 パーミュテーション試行による検定セットの結果とオリジナル検定セットのそれとを比較して、集計 並列化 処理の単位は、検定セットの実行 検定…
大きな処理があるとする。ほぼ同一な処理の繰り返しであるとする。それぞれの繰り返し処理単位は小さな出力を持つ。それぞれの繰り返し処理は、並列して行われる処理と、自身の処理との出力を単純に照合することで、継続するか否かの判断ができるとする。こ…
先日エクセルで線形回帰、という記事を書いた(こちら)。 その記事からリンクを張ったエクセルの計算をjavaにやらせたソースがこちら package StatUtilsX; public class LinearRegression { public int N; public double[] df; public double[] SumSq; public…
やっつけ仕事でGC補正をしたいとき。 public class gC { public double lambdaori; public double lambda; public double[] correctedPs; public static double chimedian = 0.454936425; public double minpOri; public double minpCorr; public double min…
ここ数日の記事にて、形質に3タイプ以上の順位カテゴリや、量的形質を持ってきたときにKruskal-Wallis(3ジェノタイプに順序を考慮せず)と、Jonckheere-Terpstra(3ジェノタイプに順序を考慮する)とを適用することを書いてきた。今、ケースコントロール2x…
import java.io.IOException; public class Jonckheere { int nGroup; int nRecord; int[] nRecPerGroup; double[][] data; //double[][] rank; double T; //double Tinv; double p; //double pinv; /** * @param args */ public static void main(String[] …
public static double[][] bublSortSameValsRank(double[] p){ double[] copyP = DeepCopyDouble1(p); int[] ret = new int[p.length]; double[][] ret2 = new double[p.length][5]; for(int i=0;i<ret.length;i++){ ret[i]=i; } boolean flag=true; boolean sameflag=false; for(int i=copyP.length-1;i>=0;i--){ for(int …</ret.length;i++){>
import java.io.IOException; public class kruskalWallis { int nGroup; int nRecord; int[] nRecPerGroup; double[][] data; double[][] rank; double T; double p; /** * @param args */ public static void main(String[] args) throws IOException { //…
今、全部で人いるとする。染色体ハプロイドはセットある。1つの2アレル型SNPについて着目すると、2種類のアレル数はを満足する。他方、2アレルが作る3ジェノタイプの人数はを満足する。 この分配方式を一般的に定義しなおすと次のようになる。 N個の観…