0

同様の質問が投稿されている可能性があることは承知していますが、検索したところ、質問の詳細が異なるようです (または、少なくとも私の場合に採用できる解決策を見つけることができませんでした)。

現在、 「messyFile」「wantedID 」の 2 つのファイルがあります。「messyFile」のサイズは80,000,000 X 2,500ですが、「wantedID」のサイズは1 x 462です。"messyFile"の 253 行目には、2500 個の ID があります。ただし、必要なのは、ファイル"wantedID"内の 462 個の ID だけです。462 ID が 2500 ID のサブセットであると仮定すると、ファイル「messyFile」を処理して、462 ID に関する情報 (つまり、サイズ80,000,000 X 462 ) のみが含まれるようにするにはどうすればよいでしょうか。

大変お待たせいたしました!

ps: 混乱させてすみません。しかし、ええ、質問はこのようなものに要約できます。"File#1"の 1 行目には、10 個の ID があります。"File#2"の 1 行目には 3 つの ID があります ( "File#2"は 1 行のみで構成されています)。3 つの ID は、10 の ID のサブセットです。ここで、 「File#2」に記載されている 3 つの ID に関する情報のみが含まれるように、「File#1」を処理したいと考えています。

ps2: 「messyFile」は vcf ファイルですが、「wantedID」はテキスト ファイルにすることができます (小さいので「できる」と言ったので、ほぼすべてのタイプを作成できます)。

ps3: "File#1" は次のようになります。

sample#1 sample#2 sample#3 sample#4 sample#5
    0        1       0        0        1
    1        1       2        0        2

「File#2」は次のようになります。

sample#2 sample#4 sample#5

目的の出力は次のようになります。

sample#2 sample#4 sample#5
   1        0        1
   1        0        2
4

2 に答える 2

3

VCF 形式を解析するには、次を使用しますbcftools

http://samtools.github.io/bcftools/bcftools.html

view具体的には、次のコマンドを参照してください。

http://samtools.github.io/bcftools/bcftools.html#view

例:

bcftools view -Ov -S 462sample.list -r chr:pos -o subset.vcf superset.vcf

上記で指定する SNP の位置を取得する必要がありますchr:pos

これは、DbSNP を使用して行うことができます。

http://www.ncbi.nlm.nih.gov/SNP/index.html

ゲノム ビルドが VCF ファイルで使用されているものと一致していることを確認してください。

次のものも使用できますplink

https://www.cog-genomics.org/plink2

ただし、PLINK は SNP の重複などにうるさいため、これらの問題に対処しないと文句を言う可能性があります。

awkプログラミング言語を使用して、過去に試みたことを行いました。あなたの正気のために、上記のツールのいずれかを使用することをお勧めします:)

于 2016-08-30T01:34:28.650 に答える
1

vcf ファイルが何かわかりませんが、提供された File#1 と File#2 のサンプルがタブで区切られた列を含むファイルである場合、これは機能します。

declare -a data=(`head -1 data.txt`)
declare -a header=(`head -1 header.txt`)

declare fields
declare -i count
for i in "${header[@]}" ; do
  count=0
  for j in "${data[@]}" ; do
    count=$count+1;
    if [ $i == $j ] ; then
      fields=$fields,$count
    fi
  done
done

cut -f ${fields:1} data.txt

タブで区切られた値でない場合は、実際のデータ形式に合わせて修正できる可能性があります。

于 2016-08-30T00:35:24.510 に答える