معلومة

ما هو طول الجين عند حساب TPM (النصوص لكل مليون)


ما هو طول الجين عند حساب TPM (النصوص لكل مليون)؟ افترض أن لدي مصفوفة مجموعة بيانات بها صفوف k (كل صف عبارة عن جين) وأعمدة n (كل عمود عبارة عن عينة) ، هل هناك أي طريقة يمكنني من خلالها نقل مجموعة البيانات إلى TPM؟ تشكرات!


افترض لدينا

$$ : : start {bmatrix} Gene : Name & Rep1 : Count & Rep2 : Count & Rep3 : Count A : (2kb) & 10 & 15 & 30 B : ( 5kb) & 25 & 25 & 70 C : (2kb) & 6 & 10 & 17 D : (8kb) & 1 & 1 & 3 end {bmatrix} : : $$


لتحويل هذا إلى تنسيق TPM، نحن بحاجة إلى تطبيع لطول الجين، و ثم تطبيع لعمق الجينات, بهذا الترتيب.


التطبيع لطول الجين ...

  • خطوة (خطوات) للتنفيذ: قسّم كل عدد مكرر على طول الجين الخاص به.

بالنسبة إلى $ Gene A $ ، يبلغ طوله 2kb $ (كيلوبايت) ، مع عدد النسخ المتماثل 10 دولارات و 15 و دولارًا و 30 دولارًا. إجراء هذه العملية على الجدول بأكمله ،

$$ : : start {bmatrix} Gene : Name & Rep1 : Count & Rep2 : Count & Rep3 : Count A : (2kb) & frac {10} {2} & frac {15} {2} & frac {30} {2} B : (5kb) & frac {25} {5} & frac {25} {5} & frac {70} {5} C : (2kb) & frac {6} {2} & frac {10} {2} & frac {17} {2} D : (8kb) & frac {1} { 8} & frac {1} {8} & frac {3} {8} end {bmatrix} : : $$

عائدات

$$ : : start {bmatrix} Gene : Name & Rep1 : Count & Rep2 : Count & Rep3 : Count A : (2kb) & 5 & 7.5 & 15 B : ( 5kb) & 5 & 5 & 35 C : (2kb) & 3 & 5 & 8.5 D : (8kb) & .125 & .125 & .375 end {bmatrix} : : $$


التطبيع لعمق الجينات ...

  • الخطوة (الخطوات) للتنفيذ: 1) جمع جميع الأعداد في كل عمود مكرر ؛ 2) قسّم مجموع كل عمود على العمق المطلوب (ينتج عن ذلك عوامل قياس) ؛ 3) قسّم كل عدد مكرر داخل عمود بواسطة عامل التحجيم الخاص به.

Rep1 $

  • المجموع: 5 + 5 + 3 + .125 = 13.125 دولار
  • معامل القياس: $ frac {13.125} {1،000،000} = 1.325 times 10 ^ {- 5} $

Rep2 $

  • المجموع: 7.5 + 5 + 5 + .125 = 17.625 دولار
  • معامل القياس: $ frac {17.625} {1،000،000} = 1.7625 times 10 ^ {- 5} $

Rep3 $

  • المجموع: 15 + 35 + 8.5 + .375 = 58.875 دولار
  • معامل القياس: $ frac {13.125} {1،000،000} = 5.8875 times 10 ^ {- 5} $

تطبيق هذه القيم على الجدول ،

$$ : : start {bmatrix} Gene : Name & Rep1 : Count & Rep2 : Count & Rep3 : Count A : (2kb) & frac {5} {1.325 times 10 ^ {-5}} & frac {7.5} {1.7625 times 10 ^ {- 5}} & frac {15} {5.8875 times 10 ^ {- 5}} B : (5kb) & frac {5} {1.325 times 10 ^ {- 5}} & frac {5} {1.7625 times 10 ^ {- 5}} & frac {35} {5.8875 times 10 ^ {- 5}} C : (2kb) & frac {3} {1.325 times 10 ^ {- 5}} & frac {5} {1.7625 times 10 ^ {- 5}} & frac {8.5} {5.8875 times 10 ^ {- 5}} D : (8kb) & frac {.125} {1.325 times 10 ^ {- 5}} & frac {.125} {1.7625 times 10 ^ {- 5} } & frac {.375} {5.8875 times 10 ^ {- 5}} end {bmatrix} : : $$

عائدات

$$ : : start {bmatrix} Gene : Name & Rep1 : Count & Rep2 : Count & Rep3 : Count A : (2kb) & 377358.49 & 425531.91 & 254777.07 B : ( 5kb) & 377358.49 & 283687.94 & 594479.83 C : (2kb) & 226415.09 & 283687.94 & 144373.67 D : (8kb) & 9433.96 & 7092.20 & 6369.43 end {bmatrix} : : $$

تم الآن تنسيق مجموعة البيانات TPM، مما يوفر تحليلاً أسهل لنسب القراءة عبر العينة.


وأوضح تطبيع RNA-Seq

RNA-Seq (اختصار لتسلسل الحمض النووي الريبي) هو نوع من التجارب التي تتيح لنا قياس التعبير الجيني. تنتج خطوة التسلسل عددًا كبيرًا (عشرات الملايين) من تسلسلات أجزاء cDNA 1 تسمى القراءات. تمثل كل قراءة جزءًا من جزيء RNA في العينة 2.

ثم نقوم بتعيين ("خريطة") كل قراءة لأحد الأشكال الإسوية ونحسب عدد القراءات التي حصل عليها كل شكل إسوي.

إذا كانت كل الأمور الأخرى متساوية ، فكلما كان الشكل الإسوي أكثر وفرة ، زاد احتمال تسلسل الأجزاء منه. لذلك ، يمكننا استخدام حسابات القراءة كبديل لوفرة الشكل الإسوي.

ومع ذلك ، نظرًا لأن "كل شيء آخر" لا يتساوى أبدًا ، يجب تعديل الأعداد لتكون قابلة للمقارنة عبر الأشكال الإسوية والعينات والتجارب. هنا سوف نستكشف هذه التعديلات وسبب ضرورتها.

ضع في اعتبارك القراءات التالية المعينة من تجربة RNA-Seq. أيهما أكثر وفرة ، الأحمر أم الأصفر؟

حصل الشكل الإسوي الأصفر على المزيد من القراءات المخصصة له ، ولكنه أيضًا أطول بكثير من الأحمر. كلما زاد طول الشكل الإسوي ، زاد عدد الشظايا (وبالتالي القراءة) التي يجب أن نتوقع أن تولدها.

لتكون قادرًا على مقارنة أعداد القراءة عبر الأشكال الإسوية ، نقسم الأعداد على طول الشكل الإسوي. من المعتاد أيضًا ضرب الرقم في (1000 ) ، للحصول على يقرأ لكل كيلو قاعدة:

حيث (n_i ) هو عدد القراءات المعينة إلى الشكل الإسوي (i ) و (l_i ) هو طول هذا الشكل الإسوي.


وأوضح وحدات التعبير الجيني: RPM و RPKM و FPKM و TPM

في تحليل بيانات التعبير الجيني RNA-seq ، صادفنا وحدات تعبير مختلفة مثل RPM و RPKM و FPKM وتعداد القراءة الأولية. في معظم الأحيان يكون من الصعب فهم المنهجية الأساسية الأساسية لحساب هذه الوحدات من بيانات التسلسل المعينة. هنا حاولت شرح هذه الوحدات بطريقة أبسط بكثير.

لماذا وحدات التعبير المقيسة المختلفة:

توفر وحدات التعبير مقياسًا رقميًا لوفرة النصوص. تعد وحدات التعبير المعياري ضرورية لإزالة التحيزات التقنية في البيانات المتسلسلة مثل عمق التسلسل (ينتج عن عمق التسلسل المزيد من عدد القراءة للجينات المعبر عنها في نفس المستوى) وطول الجين (الاختلافات في طول الجين تولد عددًا غير متساوٍ من القراءات للجينات المعبر عنها في نفس المستوى يعد مستوى الجين أكثر عدد القراءة).

وحدات التعبير الجيني والحساب:

RPM (يقرأ لكل مليون قراءة معينة)

على سبيل المثال ، لقد قمت بترتيب مكتبة واحدة تحتوي على 5 ملايين قراءة (M). من بينها ، إجمالي 4 M متطابقة مع تسلسل الجينوم و 5000 قراءة مطابقة لجين معين.

  • لا يعتبر RPM تطبيع طول النص.
  • RPM مناسب لبروتوكولات التسلسل حيث يتم إنشاء القراءات بغض النظر عن طول الجين

RPKM (يقرأ لكل كيلو قاعدة لكل مليون قراءة خرائط)

هنا ، 10 3 تطبيع لطول الجين و 10 6 لتسلسل عامل العمق.

FPKM (شظايا لكل كيلو قاعدة لكل مليون قراءة خرائط) مشابه لـ RPKM ويستخدم بشكل خاص في تجارب RNA-seq المزدوجة. في تجارب RNA-seq ذات النهاية المزدوجة ، يتم تسلسل قراءتين (يسار ويمين) من جزء الحمض النووي نفسه. عندما نقوم بتعيين بيانات نهاية مقترنة ، يمكن لكل من القراءة أو قراءة واحدة فقط بجودة عالية من جزء التعيين إلى التسلسل المرجعي. لتجنب الالتباس أو العد المتعدد ، يتم حساب الأجزاء التي تم تعيين القراءة الفردية لها أو يتم تمثيلها لحساب FPKM.

على سبيل المثال ، لقد قمت بترتيب مكتبة واحدة بقراءات 5 M. من بينها ، إجمالي 4 M متطابقة مع تسلسل الجينوم و 5000 قراءة مطابقة لجين معين بطول 2000 زوج قاعدي.

  • يعتبر RPKM طول الجين للتطبيع
  • يعد RPKM مناسبًا لبروتوكولات التسلسل حيث يعتمد تسلسل القراءات على طول الجين
  • تستخدم في تجارب RNA-seq أحادية النهاية (FPKM لبيانات RNA-seq ذات النهاية المزدوجة)

TPM (نسخة لكل مليون)

هنا ، يشير طول القراءة إلى متوسط ​​عدد النيوكليوتيدات المعينة للجين.


ما هو طول الجين عند حساب TPM (النصوص لكل مليون) - علم الأحياء

في تحليل بيانات التعبير الجيني RNA-seq ، صادفنا وحدات تعبير مختلفة مثل RPM و RPKM و FPKM وتعداد القراءة الأولية. في معظم الأحيان يكون من الصعب فهم المنهجية الأساسية الأساسية لحساب هذه الوحدات من بيانات التسلسل المعينة.

لقد رأيت الكثير من المنشورات لأسئلة التطبيع هذه وارتباكها بين القراء. ومن ثم ، حاولت هنا شرح هذه الوحدات بطريقة أبسط بكثير (تجنب التعبيرات الرياضية المعقدة).

لماذا وحدات التعبير المقيسة المختلفة:

توفر وحدات التعبير مقياسًا رقميًا لوفرة النصوص. تعد وحدات التعبير المعياري ضرورية لإزالة التحيزات التقنية في البيانات المتسلسلة مثل عمق التسلسل (ينتج عن عمق التسلسل المزيد من عدد القراءة للجينات المعبر عنها في نفس المستوى) وطول الجين (الاختلافات في طول الجين تولد عددًا غير متكافئ من القراءة للجينات المعبر عنها في نفس المستوى يعد مستوى الجين أكثر عدد القراءة).

وحدات التعبير الجيني والحساب:

1. RPM (يقرأ لكل مليون قراءة معينة)

على سبيل المثال ، لقد قمت بترتيب مكتبة واحدة تحتوي على 5 ملايين قراءة (M). من بينها ، إجمالي 4 M متطابقة مع تسلسل الجينوم و 5000 قراءة مطابقة لجين معين.

  • لا يعتبر RPM تطبيع طول النص.
  • RPM مناسب لبروتوكولات التسلسل حيث يتم إنشاء القراءات بغض النظر عن طول الجين! [أدخل وصف الصورة

2. RPKM (يقرأ لكل كيلو قاعدة لكل مليون قراءة خرائط)

هنا ، 10 ^ 3 تطبيع لطول الجين و 10 ^ 6 لتسلسل عامل العمق.

FPKM (شظايا لكل كيلو قاعدة لكل مليون قراءة تم تعيينها) مماثلة لـ RPKM وتستخدم بشكل خاص في تجارب RNA-seq ذات النهاية المزدوجة. في تجارب RNA-seq ذات النهاية المزدوجة ، يتم تسلسل قراءتين (يسار ويمين) من جزء الحمض النووي نفسه. عندما نقوم بتعيين بيانات نهاية مقترنة ، يمكن لكل من القراءة أو قراءة واحدة فقط بجودة عالية من جزء التعيين إلى التسلسل المرجعي. لتجنب الالتباس أو العد المتعدد ، يتم حساب الأجزاء التي تم تعيين قراءة واحدة أو كليهما لها وتمثيلها لحساب FPKM.

على سبيل المثال ، لقد قمت بترتيب مكتبة واحدة بقراءات 5 M. من بينها ، إجمالي 4 M متطابقة مع تسلسل الجينوم و 5000 قراءة مطابقة لجين معين بطول 2000 زوج قاعدي.


تحجيم وتطبيع بيانات RNA-Seq

أطوال النص

القراءات (الأجزاء) لكل كيلوباز المليون (RPKM) والنصوص لكل مليون (TPM) هي مقاييس لتوسيع نطاق التعبير الجيني لتحقيق هدفين

  1. اجعل التعبير عن الجينات قابلاً للمقارنة بين العينات.
  2. اجعل التعبير عن الجينات المختلفة قابلاً للمقارنة.

بالنسبة إلى (1.) ، ستختلف أحجام المكتبة (عدد القراءات الإجمالية) دائمًا بين العينات كأداة فنية لتسلسل الحمض النووي الريبي. بالنسبة إلى (2.) ، يختلف حجم نسخ RNA لكل جين ونتوقع حساب المزيد من القراءات في نسخ أكبر.

تعد RPKM و TPM مقاييس متشابهة جدًا. لكل جين في كل عينة ...

[TPM_ = فارك < فارك<>><>/ 1000 >> < sum_^ G فارك<>><>/ 1000 >> times 1E6 ] حيث (G ) هو العدد الإجمالي للجينات. الاختلاف دقيق ، لكن لاحظ أن حجم المكتبة لـ RPKM نقوم بقياس حجم المكتبة أولاً (مجموع الأعداد الأولية) ، حيث نقوم بتوسيع نطاق TPM لحجم النص أولاً ، ثم القياس بمجموع هذه الأعداد المحولة. يضمن TPM فقط تساوي أحجام المكتبة المقاسة عبر العينات ، حيث يختلف مجموع قيم RPKM بين العينات.


ما هو طول الجين عند حساب TPM (النصوص لكل مليون) - علم الأحياء

يركض سلسلة من سطر الأوامر مثل هذا:
المدخل الرئيسي للبرنامج هو ملف BAM به تعيينات قراءة RNA-Seq والتي يجب فرزها حسب موقعها الجيني (على سبيل المثال Accept_hits.bam ملف تم إنشاؤه بواسطة TopHat أو إخراج HISAT2 بعد فرزها وتحويلها باستخدام samtools كما هو موضح أدناه).

ملفات الإدخال

نتج الملف عن الأمر أعلاه (alns.sorted.bam) كمدخل لـ StringTie.

يجب أن تحتوي كل محاذاة قراءة مقسمة (أي محاذاة عبر تقاطع واحد على الأقل) في ملف SAM للإدخال على العلامة XS للإشارة إلى الخيط الجينومي الذي أنتج الحمض النووي الريبي (RNA) الذي تم منه تسلسل القراءة. تتضمن المحاذاة التي تم إنتاجها بواسطة TopHat و HISAT2 (عند التشغيل بخيار --dta) هذه العلامة بالفعل ، ولكن إذا كنت تستخدم مخطط قراءة مختلفًا ، فيجب عليك التحقق من تضمين علامة XS هذه للمحاذاة المقسمة.

ملاحظة: تأكد من تشغيل HISAT2 باستخدام الخيار --dta للمحاذاة ، وإلا ستعاني نتائجك.

كخيار ، يمكن توفير ملف تعليق مرجعي بتنسيق GTF / GFF3 إلى StringTie. في هذه الحالة ، ستفضل StringTie استخدام هذه الجينات "المعروفة" من ملف التعليقات التوضيحية ، وبالنسبة للجينات التي يتم التعبير عنها فإنها ستحسب التغطية وقيم TPM و FPKM. سينتج أيضًا نصوصًا إضافية لحساب بيانات RNA-seq التي لا يغطيها (أو يشرحها) التعليق التوضيحي. لاحظ أنه إذا لم يتم استخدام الخيار -e ، فيجب تغطية النصوص المرجعية بالكامل بالقراءات حتى يتم تضمينها في إخراج StringTie. في هذه الحالة ، سيتم أيضًا طباعة النصوص الأخرى التي تم تجميعها من البيانات بواسطة StringTie وغير موجودة في الملف المرجعي.

ملاحظة: نوصي بشدة بتقديم تعليق توضيحي إذا كنت تقوم بتحليل جينوم مشروح جيدًا ، مثل الإنسان أو الماوس أو الكائنات الحية النموذجية الأخرى.

ملفات الإخراج

  1. الإخراج الرئيسي لـ Stringtie هو ملف GTF يحتوي على النصوص المجمعة
  2. وفرة الجينات بتنسيق محدد بعلامات جدولة
  3. النصوص المغطاة بالكامل والتي تتطابق مع التعليق التوضيحي المرجعي ، بتنسيق GTF
  4. الملفات (الجداول) المطلوبة كمدخلات في Ballgown ، والتي تستخدمها لتقدير التعبير التفاضلي
  5. في وضع الدمج ، ملف GTF مدمج من مجموعة من ملفات GTF

وصف قيم كل عمود:

  • seqname: يشير إلى الكروموسوم أو كونتيج أو سقالة لهذا النص. هنا النص المُجمع موجود على الكروموسوم X.
  • مصدر: مصدر ملف GTF. نظرًا لأن هذا المثال تم إنتاجه بواسطة StringTie ، فإن هذا العمود يعرض ببساطة "StringTie".
  • خاصية: نوع الميزة مثل exon و transcript و mRNA و 5'UTR).
  • بداية: بدء موضع الميزة (exon ، نسخة ، إلخ) ، باستخدام فهرس يستند إلى 1.
  • نهاية: موضع نهاية الميزة ، باستخدام فهرس على أساس 1.
  • نتيجة: درجة الثقة في النسخة المجمعة. لا يتم استخدام هذا الحقل حاليًا ، ويبلغ StringTie عن قيمة ثابتة قدرها 1000 إذا كان النص يحتوي على اتصال بحزمة محاذاة للقراءة.
  • ساحل: إذا كان النص موجودًا على الشريط الأمامي ، "+". إذا كان النص موجودًا على الشريط العكسي ، "-".
  • الإطار: إطار أو مرحلة من ميزات CDS. لا تستخدم StringTie هذا الحقل وتقوم ببساطة بتسجيل ".".
  • صفات: قائمة مفصولة بفاصلة منقوطة لأزواج قيمة العلامة ، وتوفر معلومات إضافية حول كل ميزة. اعتمادًا على ما إذا كان المثيل عبارة عن نسخة أو exon وما إذا كان النص يتطابق مع ملف التعليق التوضيحي المرجعي الذي يوفره المستخدم ، سيختلف محتوى حقل السمات. تصف القائمة التالية السمات المحتملة الموضحة في هذا العمود:
    • gene_id: معرف فريد لجين واحد ونسخه الفرعية وإكسوناته استنادًا إلى اسم ملف المحاذاة.
    • transcript_id: معرّف فريد لنسخة واحدة وإكسوناتها الفرعية بناءً على اسم ملف المحاذاة.
    • exon_number: معرّف فريد لـ exon واحد ، بدءًا من 1 ، ضمن نسخة معينة.
    • Reference_id: معرِّف النص في التعليق التوضيحي للمرجع (اختياري) الذي تطابقته المثيل.
    • ref_gene_id: gene_id في التعليق التوضيحي المرجعي (اختياري) الذي تطابقه المثيل.
    • ref_gene_name: اسم الجين في التعليق التوضيحي المرجعي (اختياري) المطابق للمثيل.
    • cov: متوسط ​​التغطية لكل قاعدة للنسخة أو exon.
    • FPKM: أجزاء لكل كيلو قاعدة من النص لكل مليون زوج قراءة. هذا هو عدد أزواج القراءات المتوافقة مع هذه الميزة ، والتي تم تسويتها من خلال العدد الإجمالي للأجزاء المتسلسلة (بالملايين) وطول النص (بالكيلوباس).
    • TPM: النصوص لكل مليون. هذا هو عدد النسخ من هذا الجين المعين الذي تم تطبيعه أولاً حسب طول الجين ، ثم من خلال عمق التسلسل (بالملايين) في العينة. يمكن العثور هنا على شرح مفصل ومقارنة بين TPM و FPKM ، وتم تعريف TPM بواسطة B. Li و C.Dewey هنا.
    • العمود 1 / معرف الجينات: يأتي معرف الجين من التعليق التوضيحي المرجعي المزود بخيار -G. إذا لم يتم توفير مرجع ، فسيتم استبدال هذا الحقل ببادئة الاسم لنصوص الإخراج (-l).
    • العمود 2 / اسم الجين: يحتوي هذا الحقل على اسم الجين في التعليق التوضيحي المرجعي المزود بخيار -G. إذا لم يتم توفير مرجع ، فسيتم ملء هذا الحقل بـ "-".
    • العمود 3 / المرجعي: اسم التسلسل المرجعي الذي تم استخدامه في محاذاة القراءات. يكافئ العمود الثالث في محاذاة .SAM.
    • العمود 4 / ساحل: تشير "+" إلى أن الجين موجود على الشريط الأمامي ، "-" للشريط العكسي.
    • العمود 5 / يبدأ: موضع بدء الجين (مؤشر قائم على 1).
    • العمود 6 / نهاية: موضع نهاية الجين (فهرس قائم على 1).
    • العمود 7 / تغطية: تغطية الجين لكل قاعدة.
    • العمود 8 / FPKM: مستوى التعبير الطبيعي في وحدات FPKM (انظر القسم السابق).
    • العمود 9 / TPM: مستوى التعبير الطبيعي بوحدات RPM (انظر القسم السابق).

    3. النصوص المغطاة بالكامل التي تطابق نصوص التعليقات التوضيحية المرجعية (بتنسيق GTF)

    إذا تم تشغيل StringTie باستخدام الخيار -C & ltcov_refs.gtf & gt (يتطلب -G & ltreference_annotation & gt) ، فإنه يُرجع ملفًا يحتوي على جميع النصوص في التعليق التوضيحي المرجعي المغطاة بالكامل ، من النهاية إلى النهاية ، عن طريق القراءة. تنسيق الإخراج هو ملف GTF كما هو موضح أعلاه. يتوافق كل سطر من GTF مع جين أو نسخة في التعليق التوضيحي المرجعي.

    4. ملفات جدول الإدخال

    إذا تم تشغيل StringTie باستخدام الخيار -B ، فإنه يقوم بإرجاع ملف جدول إدخال Ballgown ، والذي يحتوي على بيانات التغطية لجميع النصوص. يتم وضع ملفات جدول الإخراج في نفس الدليل مثل إخراج GTF الرئيسي. تحتوي هذه الجداول على هذه الأسماء المحددة: (1) e2t.ctab ، (2) e_data.ctab ، (3) i2t.ctab ، (4) i_data.ctab ، و (5) t_data.ctab. يمكن العثور على وصف تفصيلي لكل من هذه المدخلات الخمسة المطلوبة في Ballgown على موقع Ballgown ، على هذا الرابط.

    5. وضع الدمج: دمج GTF

    إذا تم تشغيل StringTie باستخدام الخيار --merge ، فإنه يأخذ قائمة بملفات GTF / GFF كإدخال ويدمج / يجمع هذه النصوص في مجموعة غير مكررة من النصوص. تنشئ هذه الخطوة مجموعة موحدة من النصوص لجميع العينات لتسهيل الحساب النهائي للمستويات المعبر عنها تفاضليًا لجميع النصوص بين الظروف التجريبية المختلفة. الإخراج عبارة عن ملف GTF مدمج مع جميع نماذج الجينات المدمجة ، ولكن بدون أي نتائج رقمية على التغطية و FPKM و TPM. بعد ذلك ، باستخدام GTF المدمج ، يمكن لـ StringTie إعادة تقدير الوفرة من خلال تشغيله مرة أخرى باستخدام الخيار -e في المجموعة الأصلية لملفات المحاذاة ، كما هو موضح في الشكل أدناه.

    تقييم تجميعات النص

    طريقة بسيطة للحصول على مزيد من المعلومات حول النصوص التي تم تجميعها بواسطة StringTie (ملخص الجينات وعدد النسخ ، الرواية مقابل المعروفة وما إلى ذلك) ، أو حتى إجراء التتبع الأساسي للأشكال الإسوية المجمعة عبر العديد من تجارب RNA-Seq ، هو استخدام برنامج gffcompare . يمكن العثور على معلومات الاستخدام الأساسية وخيارات التنزيل لهذا البرنامج في صفحة أدوات GFF.

    تحليل التعبير التفاضلي

    1. لكل عينة RNA-Seq ، قم بتعيين القراءات على الجينوم باستخدام HISAT2 باستخدام --dta اختيار. يوصى بشدة باستخدام معلومات التعليقات التوضيحية المرجعية عند تعيين القراءات ، والتي يمكن تضمينها إما في فهرس الجينوم (تم إنشاؤه باستخدام --ss و - إكسون خيارات ، راجع دليل HISAT2) ، أو يتم توفيرها بشكل منفصل في وقت التشغيل (باستخدام ملف - معروف-splicesite-infile خيار HISAT2). يجب فرز إخراج SAM لكل تشغيل HISAT2 وتحويله إلى BAM باستخدام سامتولس كما هو موضح أعلاه.
    2. لكل عينة RNA-Seq ، قم بتشغيل StringTie لتجميع محاذاة القراءة التي تم الحصول عليها في الخطوة السابقة ، يوصى بتشغيل StringTie مع الخيار -G إذا كان التعليق التوضيحي المرجعي متاحًا.
    3. تشغيل StringTie مع --دمج من أجل إنشاء مجموعة غير زائدة عن الحاجة من النصوص التي لوحظت في أي من عينات RNA-Seq التي تم تجميعها مسبقًا. ال سلسلة - دمج يأخذ الوضع كمدخلات قائمة بجميع ملفات النصوص المجمعة (بتنسيق GTF) التي تم الحصول عليها مسبقًا لكل عينة ، بالإضافة إلى ملف تعليق مرجعي (-G الخيار) إذا كان متاحًا.
    4. لكل عينة RNA-Seq ، قم بتشغيل StringTie باستخدام -ب / -ب و -e خيارات لتقدير وفرة النص وإنشاء جداول تغطية للقراءة لـ Ballgown. الخيار -e غير مطلوب ولكنه موصى به لهذا التشغيل من أجل إنتاج تقديرات وفرة أكثر دقة لنصوص الإدخال. سيأخذ كل تشغيل StringTie في هذه الخطوة كمدخلات محاذاة القراءة التي تم فرزها (ملف BAM) التي تم الحصول عليها في الخطوة 1 للعينة المقابلة و -G الخيار مع النصوص المدمجة (ملف GTF) التي تم إنشاؤها بواسطة سلسلة - دمج في الخطوة 3. يرجى ملاحظة أن هذه هي الحالة الوحيدة التي يكون فيها ملف -G لا يتم استخدام الخيار مع تعليق توضيحي مرجعي ، ولكن مع مجموعة النصوص العامة والمدمجة كما لوحظ في جميع العينات. (هذه الخطوة تعادل صانع الجدول الخطوة الموضحة في خط أنابيب Ballgown الأصلي.)
    5. يمكن الآن استخدام Ballgown لتحميل جداول التغطية التي تم إنشاؤها في الخطوة السابقة وإجراء تحليلات إحصائية مختلفة للتعبير التفاضلي ، وإنشاء المؤامرات وما إلى ذلك.

    يمكن متابعة سير عمل تحليل التعبير التفاضلي البديل والأسرع إذا لم يكن هناك اهتمام بالأشكال الإسوية الجديدة (أي النصوص المجمعة الموجودة في العينات ولكنها مفقودة من التعليق التوضيحي المرجعي) ، أو إذا تم استهداف مجموعة معروفة جيدًا من النصوص ذات الأهمية من قبل التحليلات. يحتوي هذا البروتوكول المبسط على 3 خطوات فقط (كما هو موضح أدناه) لأنه يتجاوز التجميع الفردي لكل عينة RNA-Seq و "دمج النص" خطوة. يحاول سير العمل المبسط هذا تقدير وتحليل التعبير عن مجموعة معروفة من النصوص على النحو الوارد في ملف التعليق التوضيحي المرجعي ملف.

    حزمة R IsoformSwitchAnalyzeR يمكن استخدامها لتعيين أسماء الجينات للنصوص التي تم تجميعها بواسطة StringTie ، والتي يمكن أن تكون مفيدة بشكل خاص في الحالات التي يتعذر فيها على StringTie أداء هذه المهمة بشكل غير قابل للطرح.
    يمكن استخدام وظيفة importIsoformExpression () + importRdata () للحزمة لاستيراد بيانات التعبير والتعليقات التوضيحية إلى R. أثناء هذا الاستيراد ، ستحاول الحزمة تنظيف التعليقات التوضيحية ذات الشكل الإسوي واستعادتها حيثما أمكن ذلك. من كائن switchAnalyzeRlist الناتج ، IsoformSwitchAnalyzeR يمكن الكشف عن مفاتيح الشكل الإسوي جنبًا إلى جنب مع العواقب الوظيفية المتوقعة. يمكن استخدام وظيفة extractGeneExpression () للحصول على مصفوفة التعبير الجيني (عدد القراءة) لتحليلها باستخدام أدوات أخرى.
    يمكن العثور على مزيد من المعلومات وأمثلة التعليمات البرمجية هنا.

    استخدام StringTie مع DESeq2 و edgeR

    DESeq2 و edgeR هما حزمتان شائعتان للموصلات الحيوية لتحليل التعبير التفاضلي ، والتي تأخذ كمدخلات مصفوفة من أعداد القراءة المعينة لميزات جينومية معينة (على سبيل المثال ، الجينات). نحن نقدم برنامج نصي بلغة بايثون (prepDE.py، أو إصدار Python 3: prepDE.py3 ) التي يمكن استخدامها لاستخراج معلومات عدد القراءة مباشرة من الملفات التي تم إنشاؤها بواسطة StringTie (يتم تشغيلها بامتداد -e معامل).

    prepDE.py تستمد أعداد قراءة افتراضية لكل نص من قيم التغطية المقدرة بواسطة StringTie لكل نص ، باستخدام هذه الصيغة البسيطة: reads_per_transcript = التغطية * transcript_len / read_len

    • أحد الخيارات هو توفير مسار إلى دليل يحتوي على جميع نماذج الدلائل الفرعية ، بنفس بنية ملف ثوب الكرة الدليل في ورقة بروتوكول StringTie استعدادًا لـ Ballgown. بشكل افتراضي (لا -أنا الخيار) ، سيبحث البرنامج النصي في الدليل الحالي عن جميع المجلدات الفرعية التي تحتوي على ملفات .gtf فيها ، كما في هذا المثال:
    • بدلاً من ذلك ، يمكن للمرء تقديم ملف نصي يسرد نماذج من المعرفات والمسارات الخاصة بكل منها (sample_lst.txt).

    استعمال: prepDE.py [خيارات]
    يُنشئ ملفي CSV يحتويان على مصفوفات تعداد الجينات والنصوص ، باستخدام قيم التغطية الموجودة في إخراج السلسلة النصية- e

    خيارات:
    -h ، - مساعدة إظهار رسالة المساعدة هذه والخروج
    -i INPUT ، --input = INPUT ، --in = INPUTمجلد يحتوي على جميع نماذج الدلائل الفرعية ، أو ملف نصي به معرف العينة والمسار إلى ملف GTF الخاص به في كل سطر [افتراضي:. ]
    ز- زمكان إخراج مصفوفة عدد الجينات [افتراضي: gene_count_matrix.csv]
    -t تيأين يتم إخراج مصفوفة عدد النسخ [افتراضي: transcript_count_matrix.csv]
    - l الطول ، - الطول = الطولمتوسط ​​طول القراءة [الافتراضي: 75]
    -p نمط ، - نمط = نمطتعبير عادي يحدد نماذج الدلائل الفرعية
    -c ، - العنقودما إذا كان سيتم تجميع الجينات التي تتداخل مع معرفات جينية مختلفة ، وتجاهل الجينات ذات نمط معرف الجينات (انظر أدناه)
    -s STRING ، --string = STRINGإذا تم استخدام بادئة مختلفة لمعرفات الجينات المعينة بواسطة StringTie [افتراضي: MSTRG]
    -k KEY، --key = KEYif clustering ، ما البادئة التي يجب استخدامها لمعرفات الجينات المعينة بواسطة هذا البرنامج النصي [افتراضي: prepG]
    --legend = أسطورةإذا كان التجميع ، حيث يتم إخراج نصوص تعيين ملف وسيلة الإيضاح إلى معرفات الجينات المعينة [افتراضي: legend.csv]

    يمكن بعد ذلك استيراد مصفوفات العد هذه (ملفات CSV) إلى R لاستخدامها بواسطة DESeq2 و edgeR (باستخدام DESeqDataSetFromMatrix و DGEList وظائف ، على التوالي).

    البروتوكول: استخدام StringTie مع DESeq2

    بالنظر إلى قائمة GTFs ، التي أعيد تقديرها عند الدمج ، يمكن للمستخدمين اتباع البروتوكول أدناه لاستخدام DESeq2 لتحليل التعبير التفاضلي. لتوليد GTFs من القراءات الأولية ، اتبع ورقة بروتوكول StringTie (حتى خطوة Ballgown).


    تمرين 2: قياس التعبير التفاضلي

    حدد التسلسل المرجعي مرة أخرى ، ويجب أن تشاهد الآن مسارات التعليقات التوضيحية على مستوى التعبير لكل حالة نموذجية تم تحميلها عليها. إذا لم تتمكن من & # 8217 رؤية هذه المسارات ، فتحقق من تمكينها في علامة التبويب "التعليقات التوضيحية والمسارات" على يمين عارض التسلسل. للعثور على الجينات التي يتم التعبير عنها بشكل تفاضلي بين حالتين العينة ، انتقل إلى علق وتوقع ← قارن مستويات التعبير.

    تأكد من اختيار المسارات التي أنشأتها في التمرين السابق للمقارنة: يجب أن تكون كذلك المسار 1 & # 8211 التعبير: Sample_condition_1 و المسار 2 & # 8211 التعبير: Sample_condition_2. اختر للمقارنة النصوص تطبيع بواسطة متوسط ​​نسب التعبير الجيني & # 8211 هذه هي الطريقة الموصى بها (انظر مقاييس مستوى التعبير لمزيد من المعلومات حول هذه الطرق). انقر نعم.

    سترى الآن & # 8217ll مسار تعليق توضيحي ثالثًا تمت إضافته إلى التسلسل المرجعي الخاص بك يسمى & # 8220Diff Expression: Sample_condition_1 vs Sample_condition_2 & # 8221 ، وكما هو الحال مع مسارات مستوى التعبير الفردي ، يتم تلوين التعليقات التوضيحية وفقًا للنتائج. مرر الماوس فوق أحد التعليقات التوضيحية وستظهر لك & # 8217 نافذة منبثقة تسرد عدد القراءة الأولية والنسخة لكل حالة نموذجية ، بالإضافة إلى قائمة درجات التعبير التفاضلي.

    ال قيمة p التعبير التفاضلي يخبرك ما إذا كان التعبير التفاضلي الملاحظ ذو دلالة إحصائية. ال ثقة التعبير التفاضلي هو سجل القاعدة 10 السالب للقيمة p ، تم تعديله ليكون سالبًا للجينات التي لم يتم التعبير عنها بشكل كافٍ في العينة 2 مقارنة بالعينة 1 ، أو موجبًا للجينات التي تم التعبير عنها بشكل مفرط. بشكل افتراضي ، يستخدم Geneious هذه القيمة لتلوين التعليقات التوضيحية: من اللون الأزرق للجينات التي لا يتم التعبير عنها بشكل كافٍ ، مرورًا باللون الأبيض للجينات التي لا يتم التعبير عنها بشكل تفاضلي ، مرورًا باللون الأحمر للجينات التي يتم التعبير عنها بشكل مفرط.

    حاول التصفية بناءً على هذا الحقل للعثور على جميع الجينات التي تُظهر تعبيرًا أعلى بشكل ملحوظ في حالة العينة 2 من حالة العينة 1: التعليقات التوضيحية والمسارات اضغط على يمين عارض التسلسل واكتب & # 8220 ثقة التعبير التفاضلي & # 8221 & GT2 (بما في ذلك علامات الاقتباس) في مربع البحث ، كما في لقطة الشاشة أدناه. يساوي مستوى ثقة التعبير التفاضلي أعلى من 2 قيمة p أقل من 0.01. يجب أن تشاهد الآن فقط 29 تعليقًا توضيحيًا معروضًا ، وكلها زهرية أو حمراء اللون ، مما يشير إلى تعبير أعلى بكثير عن هذا الجين في حالة العينة 2 مقارنةً بعينة الحالة 1 (عند p & lt0.01). للتمرير عبر هذه التعليقات التوضيحية ، انقر فوق الأسهم الموجودة على يسار اسم مسار التعليق التوضيحي في علامة التبويب التعليقات التوضيحية والمسارات.

    يمكنك أيضًا عرض النتائج في شكل جدول بالنقر فوق شروح علامة التبويب أعلى عارض التسلسل وعرض & # 8220Diff Expression & # 8221 مسار التعليقات التوضيحية فقط. قد تحتاج إلى إضافة أعمدة الثقة والنسبة للتعبير التفاضلي بالنقر فوق الأعمدة زر. لفرز النتائج بالترتيب الأكثر إفراطًا في التعبير عنها في العينة 2 ← الأكثر تعبيراً في العينة 2 ، انقر فوق رأس & # 8220Differential Express Confidence & # 8221 مرتين بحيث تكون أعلى القيم في الأعلى.

    يمكنك تصدير هذا الجدول بتنسيق csv. إذا كنت ترغب في ذلك بالنقر فوق جدول التصدير (قد يكون هذا تحت الأسهم المزدوجة & GT & GT).


    ملحوظة: هناك طريقتان مقترحتان لاستيراد التقديرات لاستخدامها مع طرق التعبير الجيني التفاضلي (DGE). الطريقة الأولى التي نعرضها أدناه حافة ولل تصميم 2، هو استخدام الأعداد المقدرة على مستوى الجينات من أدوات القياس الكمي ، بالإضافة إلى استخدام تقديرات الوفرة على مستوى النسخ لحساب إزاحة مستوى الجينات التي تصحح التغييرات على متوسط ​​طول النص عبر العينات. أمثلة الكود أدناه تحقق لك هذه الخطوات ، مع تتبع المصفوفات المناسبة وحساب هذه التعويضات. ل حافة تحتاج إلى تعيين مصفوفة لـ y $ offset ، لكن الوظيفة DESeqDataSetFromTximport يعتني بإنشاء الإزاحة لك. دعونا نسمي هذه الطريقة "التهم الأصلية والإزاحة”.

    الطريقة الثانية هي استخدام معامل tximport countsFromAbundance = & quotlengthScaledTPM & quot أو & quotscaledTPM & quot ، ثم استخدام مصفوفة عدد الجينات التي تحسبها txi $ بشكل مباشر كما تفعل مع مصفوفة عدد عادية مع هذه البرامج. دعونا نسمي هذه الطريقة "التهم المصححة للتحيز بدون تعويض

    ملحوظة: لا تمرر التهم على مستوى الجين الأصلي يدويًا إلى طرق المصب بدون تعويض. الحالة الوحيدة التي يكون فيها هذا منطقيًا هي عدم وجود تحيز في الطول للأعداد ، كما يحدث في 3 'بيانات RNA-seq الموسومة (انظر القسم أدناه). التعدادات الأصلية على مستوى الجينات كانت بأرقام txi $ عندما تم تشغيل tximport باستخدام countsFromAbundance = & quotno & quot. هذا مجرد تمرير لأعداد النص المقدرة المجمعة ، ولا يصحح للاستخدام الإسوي التفاضلي المحتمل (الإزاحة) ، وهي نقطة tximport طرق (Soneson و Love و Robinson 2015) لتحليل مستوى الجينات. لا ينصح بتمرير التهم على مستوى الجين غير المصحح بدون تعويض tximport مؤلفو الحزم. الطريقتان اللتان نقدمهما هنا هما: "التهم الأصلية والإزاحة" أو "التهم المصححة للتحيز بدون تعويض". يعد تمرير txi إلى DESeqDataSetFromTximport كما هو موضح أدناه صحيحًا: تقوم الوظيفة بإنشاء الإزاحة المناسبة لك لأداء التعبير التفاضلي على مستوى الجين.


    3 'الموسومة RNA-seq

    إذا كان لديك 3 'بيانات RNA-seq معلمة ، فإن تصحيح التهم لطول الجين سيؤدي إلى تحيز في تحليلك ، لأن الأعداد لا تحتوي على تحيز في الطول. بدلاً من استخدام خط الأنابيب الافتراضي بطول النص الكامل ، نوصي باستخدام الأعداد الأصلية ، على سبيل المثال يُحسب $ txi كمصفوفة حسابات ، على سبيل المثال يقدم ل DESeqDataSetFromMatrix أو إلى حافة أو ليما وظائف بدون حساب تعويض وبدون استخدام التهم من الوفرة.


    عد تطبيع مجموعة بيانات Mov10 باستخدام DESeq2

    الآن بعد أن عرفنا نظرية تسوية العد ، سنقوم بتطبيع التهم لمجموعة بيانات Mov10 باستخدام DESeq2. هذا يتطلب بضع خطوات:

    1. تأكد من وجود أسماء صفوف إطار بيانات البيانات الوصفية وبنفس ترتيب أسماء أعمدة إطار بيانات الأعداد.
    2. قم بإنشاء كائن DESeqDataSet
    3. توليد التهم الطبيعية

    1. تطابق البيانات الوصفية وتحسب البيانات

    يجب أن نتأكد دائمًا من أن لدينا أسماء عينات تتطابق بين الملفين ، وأن العينات بنفس الترتيب. سوف ينتج DESeq2 خطأ إذا لم يكن الأمر كذلك.

    إذا كانت بياناتك غير متطابقة ، فيمكنك استخدام وظيفة match () لإعادة ترتيبها.

    لنفترض أن لدينا أسماء عينات مطابقة في مصفوفة الأعداد وملف البيانات الوصفية ، لكنهما بترتيب مختلف. اكتب سطر (أسطر) الكود لإنشاء مصفوفة جديدة مع إعادة ترتيب الأعمدة بحيث تكون متطابقة مع أسماء صفوف البيانات الوصفية.

    2. إنشاء كائن DESEq2

    غالبًا ما تحدد حزم برامج الموصل الحيوي وتستخدم فئة مخصصة داخل R لتخزين البيانات (بيانات الإدخال والبيانات الوسيطة وأيضًا النتائج). These custom data structures are similar to lists in that they can contain multiple different data types/structures. But unlike lists, they have pre-specified data slots, which hold specific types/classes of data. The data stored in these pre-specified slots can be accessed by using specific package-defined functions.

    Let’s start by creating the DESeqDataSet object, and then we can talk a bit more about what is stored inside it. To create the object, we will need the count matrix و ال metadata table as input. We will also need to specify a design formula. The design formula specifies the column(s) in the metadata table and how they should be used in the analysis. For our dataset we only have one column we are interested in, which is

    sampletype . This column has three factor levels, which tells DESeq2 that for each gene we want to evaluate gene expression change with respect to these different levels.

    Our count matrix input is stored in the txi list object. So we need to specify that using the DESeqDataSetFromTximport() function, which will extract the counts component and round the values to the nearest whole number.

    ملاحظة: Since we had created a data variable in the last lesson which contains the counts, we could have also used that as input. However, in that case we would want to use the DESeqDataSetFromMatrix() function.

    You can use DESeq-specific functions to access the different slots and retrieve information. For example, suppose we want to retrieve the original count matrix, we would use counts() function (Note: we nest it within the View() function so that we can view the result in the script editor rather than in the console) :

    As we go through the workflow, we will use relevant functions to check what information is stored inside our object.

    3. Generate the Mov10 normalized counts

    The next step is to normalize the count data in order to make fair gene comparisons between samples.

    To perform the median of ratios method of normalization, DESeq2 has a single estimateSizeFactors() function that will generate size factors. We will demonstrate this function in the example below, but in a typical RNA-seq analysis, this step is automatically performed by the DESeq() function, which we will discuss later.

    By assigning the results back to the dds object, we are filling in the slots of the DESeqDataSet object with the appropriate information. We can take a look at the normalization factors of each sample using:

    Now, to retrieve the normalized counts matrix from dds , we use the counts() function and add the argument normalized=TRUE .

    We can save this normalized data matrix to file for later use:

    ملاحظة: DESeq2 doesn’t actually use normalized counts, rather it uses the raw counts and models the normalization inside the Generalized Linear Model (GLM). These normalized counts will be useful for downstream visualization of results, but cannot be used as input to DESeq2 or any other tools that perform differential expression analysis that use the negative binomial model.

    This lesson has been developed by members of the teaching team at the Harvard Chan Bioinformatics Core (HBC). These are open access materials distributed under the terms of the Creative Commons Attribution license (CC BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.


    شاهد الفيديو: Детские колики (كانون الثاني 2022).