私はバイオインフォマティクスに比較的慣れていないので、RNA-seq の結果からカバレッジ プロットを生成する必要があります。
ゲノム アラインメント RNA-seq 結果 (トップハットアラインメント) から、 bedtoolsのカバレッジベッドコマンドを使用して、シーケンスの読み取り元のゲノム位置を示すベッド (または txt) ファイルを生成することができました。この場合、実験目的でエクソン領域のみを選択しました。
結果ファイル (~4GB サイズの巨大なテーブル) は、data.table によって提供される fread 関数を「data.frame」として使用して、R にインポートされました。
個々の遺伝子のカバレッジ プロットを生成するために、列 8 (V8) の例として「Actb」と呼ばれる遺伝子を検索します。これがデータの編成方法です。
Actb.coverage <-["Actb"]
V8 V1 V2 V3 V4 V5 V6 V7 V9 V10 V11
1: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 1 0
2: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 2 0
3: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 3 0
4: Actb chr5 142903116 142903797 uc009ajk.1 utr3 0 - NM_007393 4 0
--
1879: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 70 0
1880: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 71 0
1881: Actb chr5 142906652 142906724 uc009ajk.1 utr5 5 - NM_007393 72 0
各行は 1 つのヌクレオチドを表します
したがって、この単純化された表では、0 番目の列 (ラベルなし) は合計 1881 行であることを示しています (つまり、Actb 遺伝子は 1881 個のエクソン ヌクレオチドで構成されています)。
次の V8 列は遺伝子名、V1~V3 は染色体 ID、V5 および V6 列の各機能の開始および終了部位です (つまり、utr3、0 は最初の 3'UTR エクソンを意味します)。
V7 は (-) であり、遺伝子の方向を示すのはゲノムの 3' --> 5' 末端です。
V11 列には、指定されたヌクレオチドのカバレッジベッドで生成された読み取りカウント情報 (これが必要です) が含まれています。ここに示されている最初の 4 つのヌクレオチドと最後の 3 つのヌクレオチドはカバーされていないため、この表では 0 になっています。
質問1
したがって、単純なカバレッジ プロットを生成するには、x 軸に 1 から 1881 までの数値をプロットし、y 軸は V11 に対応する値を次のようにプロットします。
plot(Actb.coverage[,V0], Actb.coverage[,V11]) しかし、ご覧のとおり、最初の列 V0 の列名がないため、別の解決策が必要です
質問2
この方法がうまくいったら、さらにオプションを追加したいと思います
列 5 (V5) と列 6 (V6) に基づいて x 軸を細分化することは可能ですか? たとえば、長さの 1881 ヌクレオチドは、
utr3(V5)-0(V6)、
utr3-1
cds-0
cds-1
cds-2にサブ分割され
ます。
.
.
utr5-0
utr5-1
utr5-2
utr5-3
utr5-4
utr5-5
各フィーチャの長さは、V3 の値から V2 列の値までの単純な減算によって決定されます。
結果のプロットは質問 1 のプロットと同じである必要がありますが、これらのサブ分割された機能を x 軸と共に追加したいと考えています。
可能だと思いますが、これを達成する方法がわかりません。私はあなたの助けを求めます
どうもありがとうございました
gdy