各行の要素の頻度を計算しようとしています。説明します: "pos、chr、ref、alt、id_disease"などの要素を含む表から選択します。 。各行の頻度を計算する
num_occurrencies_of(ref='A' and alt='C')/total number of rows
:ある
、ALT。実際にはidが正しく、それは常にa constant
SELECT pos, chr, upper(ref||' '||alt) AS refalt, id_disease AS lvl15, t1.tot_var, t1.freq
FROM varianti
JOIN (SELECT count(*) AS tot_var,(count(*)::numeric/sum(count(*)) over()) as freq
FROM varianti)t1 ON TRUE
WHERE length(ref)=1 AND length(alt)=1 AND chr similar to 'chr[\d X Y]*'
を返す頻度を計算していない私はやっと私の目標に近づくこのクエリでは
、私が欲しいのは、このようなデータを取得することです:
chr pos refalt lvl15 freq tot_var
1 120 AT 15 0.3 1000
1 150 CG 30 0.01 1000
tot_var =私の必要とする行の総数をカウントします(1行に1を数えることはできません)
refとaltの両方に値(A、 AA、AT、TA、TC、CTなどのすべての順列で、T、C、G)を使用できます。
私のコードには何がありませんか?
あなたはさらにに関する情報が必要な場合はvariantiの
例を教えてください:
chr pos ref alt id_disease
chr1 152 A C 15
chr3 487 T T 74
ここでは、私のクエリの出力である:あなたが提供した情報に基づいて
pos chr refalt lvl15 tot_var freq
124338543 chr11 G A 69 1 0.000000677833751782702767
124338595 chr11 C T 28 1 0.000000677833751782702767
124361862 chr11 C . 53 1 0.000000677833751782702767
124361899 chr11 T A 20 1 0.000000677833751782702767
テーブル「varianti」のいくつかの行の例を挙げることができますか? thks – maximilienAndile
ここで、例を使って更新してください。 – xCloudx8