私はこれをウェブで検索しましたが、あまり運がありませんでした。多かれ少なかれ、常にVariantAnnotation Packageの例に到達します。この例は私のコンピューターで正常に機能するため、作成した VCF が機能しない理由がわかりません。
問題:選択した遺伝子の SNP の数と位置を特定したい。いくつかのマウス系統のすべての染色体上のすべての SNP に関する情報を含む大きな VCF ファイル (5GB 以上) があります。全ゲノム スケールで何かをしようとすると、明らかにコンピューターがフリーズするので、最初に染色体 1 上の目的の遺伝子のゲノム位置を特定しました。次に、VariantAnnotation Package を使用して、目的の遺伝子に関連するデータのみをVCF ファイル:
library(VariantAnnotation)
param<-ScanVcfParam(
info=c("AC1","AF1","DP","DP4","INDEL","MDV","MQ","MSD","PV0","PV1","PV2","PV3","PV4","QD"),
geno=c("DP","GL","GQ","GT","PL","SP","FI"),
samples=strain,
fixed="FILTER",
which=gnrng
)
上記のコードは、ひずみを引数として取る、私が書いた関数から取り出したものです。gnrng は、関心のある遺伝子のゲノム位置を含む GRanges オブジェクトを参照します。
vcf<-readVcf(file, "mm10",param)
これは正常に機能し、vcf (dim: 21783 1) を取得しますが、保存しようとすると機能しません
file.vcf<-tempfile()
writeVcf(vcf, file.vcf)
Error in .pasteCollapse(ALT, ",") : 'x' must be a CharacterList
最初にパッケージの例を実行してから、VCF ファイルを置き換えて、並行して試してみました。
#This is the example:
out1.vcf<-tempfile()
in1<-readVcf(fl,"hg19")
writeVcf(in1,out1.vcf)
これは問題なく動作しますが、vcfをin1に置き換えるだけで同じエラーが発生します。
私は自分自身を明確にしたことを願っています...そして、どんな助けも大歓迎です!! 前もって感謝します!