ترانسکریپتوم
نرمالسازی شمارش: CPM و TPM و FPKM
تبدیل ماتریس شمارش خام RNA-seq به CPM، TPM یا FPKM، بههمراه اندازهٔ کتابخانه و تعداد ژن آشکارشدهٔ هر نمونه.
ستون اول شناسهٔ ژن است و بقیهٔ ستونها شمارش هر نمونه. اگر ستونی به نام length یا طول داشته باشید، برای TPM و FPKM استفاده میشود. جداکننده میتواند تب، کاما یا سمیکالن باشد.
آمار کتابخانه
ماتریس نرمالشده
نکتهای که اغلب از قلم میافتد: TPM را نمیشود برای یک ژن جداگانه حساب کرد، چون مخرج کسر مجموع نرخ همهٔ ژنهای همان نمونه است. برای همین این ابزار کل جدول را میگیرد نه یک ردیف. تفاوت TPM با FPKM هم در ترتیب دو مرحلهٔ نرمالسازی است: در TPM اول بر طول تقسیم میشود و بعد بر مجموع، در FPKM برعکس؛ به همین دلیل مجموع TPM هر نمونه دقیقاً یک میلیون میشود ولی مجموع FPKM نه. هیچکدام جایگزین نرمالسازی بیننمونهای DESeq2 برای تحلیل بیان افتراقی نیستند.
فرمول
TPM = (شمارش ÷ طول) ÷ Σ(شمارش ÷ طول) × ۱۰⁶
- CPM
- شمارش تقسیم بر اندازهٔ کتابخانه ضربدر یک میلیون — طول را در نظر نمیگیرد
- FPKM
- اول بر اندازهٔ کتابخانه، بعد بر طول تقسیم میشود
- TPM
- اول بر طول، بعد بر مجموع نرخها — مجموع هر ستون دقیقاً یک میلیون میشود
مثال حلشده
چرا TPM را نمیشود برای یک ژن تنها حساب کرد
- g1: طول ۱۰۰۰، شمارش ۱۰
- g2: طول ۲۰۰۰، شمارش ۳۰
- g3: طول ۵۰۰، شمارش ۶۰
- نرخ هر ژن: شمارش تقسیم بر طول بر حسب کیلوباز. برای g1 برابر ۱۰، برای g2 برابر ۱۵، برای g3 برابر ۱۲۰.
- مجموع نرخها: ۱۴۵. این عدد به همهٔ ژنهای نمونه بستگی دارد.
- TPM هر ژن: نرخ خودش تقسیم بر ۱۴۵ ضربدر یک میلیون.
پاسخ g1 برابر ۶۸٬۹۶۶ — عددی که بدون داشتن g2 و g3 قابل محاسبه نبود
خطاهای رایج
- نرمالسازی دوباره روی ماتریسی که قبلاً نرمال شده. اگر بیشتر مقادیر عدد صحیح نباشند، احتمالاً TPM یا FPKM را بهجای شمارش خام وارد کردهاید؛ ابزار در این حالت هشدار میدهد.
- استفاده از CPM برای مقایسهٔ دو ژن با هم. CPM طول را در نظر نمیگیرد، پس ژن بلندتر ذاتاً شمارش بیشتری میگیرد؛ برای مقایسهٔ ژنها در یک نمونه از TPM استفاده کنید.
- مقایسهٔ FPKM بین نمونهها. چون مجموع FPKM هر نمونه ثابت نیست، مقایسهٔ مستقیمش بین نمونهها گمراهکننده است. TPM این مشکل را ندارد.
- استفاده از این مقادیر بهعنوان ورودی تحلیل بیان افتراقی. DESeq2 و edgeR شمارش خام میخواهند و خودشان نرمالسازی بیننمونهای انجام میدهند.
پرسشهای متداول
TPM یا FPKM؟
TPM. تفاوتشان فقط ترتیب دو مرحلهٔ نرمالسازی است، ولی چون مجموع TPM هر نمونه دقیقاً یک میلیون است، سهم نسبی هر ژن بین نمونهها قابل مقایسه میماند. FPKM این ویژگی را ندارد.
طول ژن را از کجا بیاورم؟
از همان فایل annotation که برای شمارش استفاده کردهاید. اگر با featureCounts کار کردهاید، ستون Length در خروجی هست. برای مقادیر دقیقتر، طول مؤثر که در خروجی Salmon و RSEM میآید ارجح است.
اندازهٔ کتابخانهٔ مناسب چقدر است؟
به سؤال بستگی دارد، ولی اختلاف زیاد بین نمونهها مهمتر از مقدار مطلق است. اگر مجموع شمارش یک نمونه چند برابر بقیه کمتر است، آن نمونه را قبل از تحلیل بررسی کنید.