مدخل الى مجال تحليل الخلايا المفردة ( الجزء الثاني)

تقنيات nadhir 7519℃ 0تعليق

السلام عليكم,

في المقال السابق عَرَّفنا بمجال تحليل الخلايا المفردة ( Single-cell sequencing ) و عَرَّفنا بأهم الطرق المختلفة لعزل الخلايا والمراحل المتبعة في تحظير مكتبات السلسة (Library preparation) من اجل دراسة التعبير الجيني (Single-cell RNA-seq). في الحقيقة يمكن تعميم هذه التقنيات لدراسة خصائص خلوية اخرى كدراسة المناطق المفتوحة من الجينوم (Single-cell ATAC-seq) او دراسة الميثيلية (Single-cell DNA methylome) او غيرها. في هذا المقال سوف نواصل استعمال Single-cell RNA-seq كمثال وسوف نركز على مراحل تحليل بياناتها. سوف نقدم امثلة باستعمال لغة الآر (في الجزء الثالث).

رسم بياني يبين بعض تقنيات الـ Single-cell المختلفة لدراسة معايير مختلفة من الـ epigenome (المصدر)

مراحل تحليل بيانات الـ Single-cell RNA-seq

أ. اختيار التقنية

كما وضحنا في المقال السابق, هناك العديد من التقنيات التي يمكن استعمالها من اجل استخلاص الخلايا المفردة, تختلف هذه التقنيات من عدة جوانب كالجانب التكنولوجي, عدد الخلايا التي يمكن تحليلها في التجربة الواحدة, تكلفة تحضير الخلية الواحدة, ودقة التقنية من حيث عدد الجينات التي يكن الحصول عليها في الخلية الواحدة. فمثلا, اذا كنت بصدد دراسة نسيج خلوي يتميز باحتوائه على انواع عديدة من الخلايا كالدماغ مثلا, يفضل استعمال تقنيات تمكنك من تحليل عدد كبير من الخلايا لكي تتحصل على حوال 20~50 خلية من كل نوع لكن ربما لا يُمكنك سَلسلة عدد كبير من الجينات في كل خلية. اما اذا كان لديك نسيج خلوي متجانس نسبيا (كالكبد مثلا), يمكنك استعمال تقنيات low-throughput التي تسمح لك بالحصول على coverage كبير في كل خلية مما يمكنك من الحصول على دقة اكبر للقيام بالدراسة بطريقة معمقة.

ظهرت في السنوات الاخيرة العديد من التقنيات التجارية التي توفر انواع كثيرة من الآلات وباسعار مختلفة بالاظافة الى تقديم خدمات صيانه و برامج تسمح لك بالتحليل الأولي للبيانات مما جعل الكثير من المختبرات تتجه الى استعمال التقنيات التجارية.

في الجدول اسفله, نلخص بعض خصائص اهم التقنيات/الآلآت المستعملة في فرز الخلايا:

جدول يلخص بعض خصائص التقنيات الـ Single-cell sequencing

ب. السَلْسَلة (Sequencing)

بعد اختيار التقنية, يجب تحضير مكتبات السلسلة (sequencing libraries) بالطريقة التي تتناسب مع التقنية المستعملة. في هذا المقال سوف نستعمل تقنية الـ 10x Chromium من شركة 10x genomics, نظرا لشعبيتها و سهولة تحليل بياناتها وتوفر العديد من الدراسات التي تستعملها.

صورة لآلة 10x Chromium Single-cell gene expression solution والادوات الملحقة بها (مصدر الصورة)

تقوم الآلة بتمرير كل خلية لحالها بحيث تحاول ظمان وجود خلية واحدة في كل قطيرة. لهذا بين كل خليتين يكون هناك قطيرات فارغة تفصل بينهما. لكن هذا لا ينفي وجود قطيرات بخليتين اذا كانتا ملتصقتين ببعض منذ البداية. يسمى هذا النوع من القطيرات بالـ double droplet وهو يعتبر من المشاكل التقنية التي يجب تقليلها. في عادة كلما كان عدد الخلية المستعملة كبير, كلما زادت نسبة الحصول على الـ double droplet.
تحتوي كل قطيرة على كرية (Hydrogel bead) تحمل على سطحها آلاف من الـ oligonucleotides بحيث ان كل oligonucleotide يحتوي على باركود للتعرف على الخلية (Cell barcode) و باركود يسمى UMI اختصارا لـ Unique Molecular Identifier خاص بكل mRNA.

رسم تخطيطي يوضح اهم مراحل تحظير المكتبات باستعمال آلة 10X Chromium

للـ UMI دور مهم حيث انه يٌمَكننا من حساب نفس نسخة الـ mRNA اكثر من مرة واحدة. وذلك لان عملية الـ PCR سوف تقوم بمضاعفة كل سلسلة عدة مرات مما قد يُصَعب علينا عملية الحساب الدقيق لعدد نسخ الـ mRNA الموجودة في الخلية الواحدة. هذا المبدأ موضح في الصورة البيانية اسفله:

رسم تخطيطي يبين اهمية الـ UMI في تفادي الاخطاء في تقدير نسبة الـ mRNA في كل خلية (مصدر الصورة)

بعد تحظير المكتبات نقوم بالسلسلة باستعمال آلة Illumina. في العادة نقوم بسلسلة عدة عينات في شريحة (flowcell) لـ Illumina. تسمى عملية دمج عدة عينات في شريحة واحدة بالـ multiplexing. يساعدنا الـ multiplexing على التقليل من مصاريف السلسلة من جهة, ومن جهة اخرى يسمح لنا بالتقليل من مشكل الـ batch effect الذي يتمثل في التشويش التقني الذي يطراء عند تحظير كل دفعة من العينات, مثلا كالـ sequencing depth.

توفر شركة 10x Genomics مجموعة من الـ index التي يمكننا اظافتها لكن عينة بحيث يمكننا القيام بعملية الـ de-multiplexing في الاخير لاستخلاص السلاسل الخاصة بكل عينة. مثلا في الجدول اسفله عينة من هذه الـ indexes.

جدول يبين مثال عن الـ index التي يمكن استعمالها مع 10x chromium لتحديد العينات

  • الـ de-multiplexing

يمكن القيام بعملية الـ de-multiplexing باستعمال برنامج bcl2fastq الذي توفره شركة Illumina. لكن من الاحسن استعمال برنامج cell Ranger الذي توفره شركة 10x Genomics والذي سوف يتعامل مع برنامج bcl2fastq, كما انه يمكننا من حساب التعبير الجيني كما سوف نرى لاحقا.

رسم بياني يوضح مبدئي الـ multiplexing و الـ de-multiplexing (مصدر الصورة)

يمكن تحميل برنامج cell Ranger مجانا من موقع 10x Genomics بعد التسجيل.كما يجب تحميل برنامج bcl2fastq من شركة Illumina. بعدها يمكن تثبيت البرنامج كالتالي:

$ cd opt/
$ tar -xzvf cellranger-3.1.0.tar.gz 
$ export PATH=/opt/cellranger-3.1.0:$PATH

يمكن التاكد من نجاح التنصيب كالتالي:

$ cellranger testrun --id=tiny

cellranger testrun (3.0.2)
Copyright (c) 2019 10x Genomics, Inc.  All rights reserved.
-------------------------------------------------------------------------------

Running Cell Ranger in test mode...

....

Pipestance completed successfully!

بعد التنصيب بنجاح يمكننا الآن انشاء ملفات fastq لعيناتنا باستعمال امرcellranger mkfastq. لكن قبل ذلك يجب تحظير ملف نخبر فيه mkfastq بالـ index التي قمنا باستعمالها واسم العينات ورقم الـ lanes التي وظعنا فيها عينانتا في الـ flowcell (شريحة السَلسلة).
في هذا المثال سوف استعمل المثال المتواجد في موقع 10x Genomics الذي يحتوي على عينة واحدة ذات الـ index التالي: SI-GA-A3 ونريد تسمية العينة test_sample. نقوم اذا بتحظير الملف التالي:

Lane,Sample,Index
1,test_sample,SI-GA-A3

ونحفظه مثلا باسم: Sample_Info.csv. بعدها يمكنا تحميل بيانات المثال كالتالي:

$ cd tmp/
$ wget http://cf.10xgenomics.com/supp/cell-exp/cellranger-tiny-bcl-1.2.0.tar.gz
$ tar -zxvf cellranger-tiny-bcl-1.2.0.tar.gz

في الحالة العادية يمثل هذا الملف الملف الذي تتحصل عليه من آلة Illumina الذي يكون في العادة كبيرا جدا.
المهم, نقوم بعدها بانشاء ملفات fastq باستعمال الامر التالي:

$ cellranger mkfastq --id=tiny-bcl \
                     --run=cellranger-tiny-bcl-1.2.0\
                     --csv=Sample_Info.csv

cellranger mkfastq (3.0.2)
Copyright (c) 2019 10x Genomics, Inc.  All rights reserved.
-------------------------------------------------------------------------------
...

Outputs:
- Run QC metrics:        null
- FASTQ output folder:   /tmp/tiny-bcl/outs/fastq_path
- Interop output folder: /tmp/tiny-bcl/outs/interop_path
- Input samplesheet:     /tmp/tiny-bcl/outs/input_samplesheet.csv
...
Saving pipestance info to tiny-bcl/tiny-bcl.mri.tgz

اذا مر كل شيء على مايرام, سوف نتحصل على ملفات fastq في في الملف /outs/fastq_path كالتالي:

$ tree  /tmp/tiny-bcl/outs/fastq_path/H35KCBCXY/
/tmp/tiny-bcl/outs/fastq_path/H35KCBCXY/
└── test_sample
    ├── test_sample_S1_L001_I1_001.fastq.gz
    ├── test_sample_S1_L001_R1_001.fastq.gz
    └── test_sample_S1_L001_R2_001.fastq.gz

ج. حساب التعبير الجيني (Quantification)

بعد الحصول على السلاسل, نقوم في المرحلة التالية بعملية الـ mapping وحساب التعبير الجيني لكل جين في كل خلية. هذا يعني اننا يجب ان نقراء من كل سلسلة الـ cell barecode و الـ UMI والقيام بحساب التعبير الجيني كما هو موضح في الرسم البياني اسفله:

رسم بياني يوضح كيفيت حساب التعبير الجيني على المستوى الخلوي (مصدر الصورة)

لحسن الحظ يقوم Cell Ranger بكل هذه العمليات بالاظافة الى عمليات اخرى كتصحيح اخطاء السَلسلة في الـ UMI. قبل استعمال Cell Ranger تاكد من ان python ومكتبات numpy, pysam, scipy, pandas و h5py. كما يجب تنصيب برنامج STAR لكي يتم استعماله للقيام بالـ mapping.

قبل القيام بالـ mapping يجب اولا ان نٌحظر ملفات الجينوم الذي نريد ان نستعمله. لحسن الحظ توفر شركة 10x Genomics جينومات عديدة جاهزة للاستعمال. يجب الاشارة الى ان تحظير الـ index للجينوم يتم مرة واحدة فقط ولا يجب تحظيره في كل مرة تريد القيام بالـ mapping.

نواصل مع مثالنا ونقوم بتحميل الاصدار الاخير لجينوم الانسان من موقع 10x Genomics.

$ tar -xzvf refdata-cellranger-GRCh38-3.0.0.tar.gz

اذا لم تكن نسخة الجينوم التي تريد استعمالها متوفرة يمكن ان تنشاها باستعمال امر cellranger mkgtf.

الآن يمكننا استعمال امر cellranger count الذي سيقوم بكل هذه الحسابات كالتالي:

$ cd /tmp
$ cellranger count --id=test_sample \
                   --transcriptome=/opt/refdata-cellranger-GRCh38-3.0.0 \
                   --fastqs=tiny-bcl/outs/fastq_path \ 
                   --sample=test_sample \
                   --chemistry SC3Pv2

في هذا المثال حددنا خاصية chemistry SC3Pv2-- فقط لان بيانات تم تحظيرها باستعمال نسخة قديمة من الـ protocole لكن في العادة لا تحتاج الى تحديد ذلك فقط من اجل تشغيل هذا المثال.

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

Outputs:
- Run summary HTML:                         /tmp/test_sample/outs/web_summary.html
- Run summary CSV:                          /tmp/test_sample/outs/metrics_summary.csv
- BAM:                                      /tmp/test_sample/outs/possorted_genome_bam.bam
- BAM index:                                /tmp/test_sample/outs/possorted_genome_bam.bam.bai
- Filtered feature-barcode matrices MEX:    /tmp/test_sample/outs/filtered_feature_bc_matrix
- Filtered feature-barcode matrices HDF5:   /tmp/test_sample/outs/filtered_feature_bc_matrix.h5
- Unfiltered feature-barcode matrices MEX:  /tmp/test_sample/outs/raw_feature_bc_matrix
- Unfiltered feature-barcode matrices HDF5: /tmp/test_sample/outs/raw_feature_bc_matrix.h5
- Secondary analysis output CSV:            /tmp/test_sample/outs/analysis
- Per-molecule read information:            /tmp/test_sample/outs/molecule_info.h5
- CRISPR-specific analysis:                 null
- Loupe Cell Browser file:                  /tmp/test_sample/outs/cloupe.cloupe

Waiting 6 seconds for UI to do final refresh.

يمكننا بعد ذلك فتح ملف web_summary.html الذي يحتوي على تقرير حول عملية السلسلة, حيث يمكننا معرفة عدد الخلايا التي تم تحليلها ومتوسط عدد الجينات في كل خلية ونسبة الـ reads التي القادمة من mRNA ونسبة الـ library saturation التي تخبرنا ببمدى عمق الـ sequencing الذي قمنا به وهل القيام بالسلسلة مرة اخرى بعمق اكبر سوف يزيد من نوعية البيانات ام لا. فمثلا نسبة saturation=20% تدل على انه في حال سلسلة 10 سلاسل اظافية هناك احتمال على الحصول على 8 UMI جديدة لم نتحصل عليها من قبل. وبالتالي فالسلسلة بعمق اكبر سوف تعطينا معلومات اظافية. اما اذا كانت الـ saturation=80% مثلا, فهناك احتمال ظئيل للحصول على معلومات جديدة.
في الصورة اسفله نبين مثال عن تقرير cellranger count:

مثال عن التقرير الذي يعطيه امر cellranger count (مصدر الصورة)

اما فيما المعلومات حول الـ cell barcode التي تم الحصول عليها ومصفوفة التعبير الجيني التي التي تعطينا التعبير الجيني لكل جين في كل خلية فهمي متواجدة في الملف outs كما هو موضح اسفله. في الجزء الثالث من هذه السلسلة سوف نتكلم عن كيفية التعامل مع هذه الملفات برمجيا.

Outputs:
$ cd /tmp/test_sample/outs/filtered_feature_bc_matrix
$ tree
.
├── barcodes.tsv.gz
├── features.tsv.gz
└── matrix.mtx.gz

لتسهيل عملية تصفح البيانات واخذ فكرة عن الانواع الخلوية التي تم سلسلتها توفر شركة 10x Genomics برنامج Loop Cell Browser الذي لن اتطرق اليه في هذه المقالة, لكن لا انصح باستعماله في نشر الاوراق البحثية, بل من الاحسن التعامل مع البيانات بلغة الآر او البايثون من اجل تحكم اكبر بالبيانات وهذا ما سوف نتطرق اليه في الجزء الثالث من هذه السلسلة من المقالات حول الـ Single-cell Sequencing.

واجهة برنامج Loop Cell Browser (مصدر الصورة)

بعض المصادر

  • Ziegenhain C et al. Quantitative single-cell transcriptomics, Briefings in Functional Genomics, Volume 17, Issue 4, July 2018, Pages 220–232.
  • Ziegenhain C, Vieth B, Parekh S, et al. Comparative Analysis of Single-Cell RNA Sequencing Methods. Molecular Cell, 2017, 65(4):631-643.e4.
  • Zheng G et al. Massively parallel digital transcriptional profiling of single cells, Nat Commun. 2017 Jan 16;8:14049.
  • GrünD. et al. Design and Analysis of Single-Cell Sequencing Experiments. Cell, 2015, ISSN: 1097-4172, Vol: 163, Issue: 4, Page: 799-810.
  • Kelsey G. et al. Single-cell epigenomics: Recording the past and predicting the future, Science 06 Oct 2017: Vol. 358, Issue 6359, pp. 69-75.
  • https://support.10xgenomics.com/single-cell-gene-expression/

رابط المقالة : المعلوماتية الحيوية بالعربية » مدخل الى مجال تحليل الخلايا المفردة ( الجزء الثاني)

معجب (10)