BAM ファイルと、この配置でより詳しく調べたいいくつかの位置があるとします。私の目標は、これらの位置が同じリード上にあるかどうか、および各リードがこれら 2 つの位置にどのヌクレオチドを持っているかを調べることです。したがって、私の出力は、その位置で発生するすべての読み取りのテーブルであり、関連するヌクレオチドがリストされているはずです。
出力は次のようになります (最初の 3 つの位置は 980、1350、1400 です。読み取り名は私が作成しました)。
名前を読む | 980 | 1350 | 1400 | ... |
---|---|---|---|---|
ReAdN4m1L03 | あ | T | ... | |
ReAdN4m2L02 | あ | T | G | ... |
ReAdN4m3L01 | T | G | ... | |
... | ... | ... | ... | ... |
最後に、読み取りを介してヌクレオチドをリンクするテーブルが必要です。
これまでのところ、目的の位置で Bam ファイルを読み込もうとしました。
#Positions of interest
pos <- c(980, 1350, 1400)
#path to BAM file
path <- pathToBamFile
#name of reference used for mapping
refname <- "myreference"
#loading the bam file
bamFile <- BamFile(path)
gr <- GRanges(seqnames = refname, ranges = IRanges(start = pos, end = pos))
params <- ScanBamParam(which = gr, what = scanBamWhat())
aln <- scanBam(bamFile, param = params)
次のコードで読み取りにアクセスできますが、個々の位置で対応するヌクレオチドを取得するにはどうすればよいですか?
pos.no <- c(1:length(pos))
i <- 1
aln[[pos.no[i]]]$qname
aln[[i]]$cigar
手動でヌクレオチドを抽出するために、配列を使用して CIGAR 文字列を操作しようとしましたaln[[i]]$seq
が、それはますます多くの問題につながりました。
ヌクレオチドを抽出する簡単な方法はありますか?
私は長い間インターネットで簡単な解決策を探してきましたが、成功しませんでした。うまくいけば、誰かがここで私を助けてくれるでしょう! 事前にお時間をいただきありがとうございます。