| title | author |
|---|---|
RNAseq Çalışması |
Nursena Kocatürk, Tanya Beril Korkmaz, Emrah Kırdök |
Bu döküman, tez kapsamında hazırlanmış olup; RNA dizileme analizi çalışması için bir pilot projedir. Bu çalışmanın sonunda gen bölgelerine karşılık gelen RNA miktarları belirlenecektir.
RNA dizileme analizi, gen ekspresyon seviyelerinin analizinde kullanılan bir yöntemdir.
RNA dizileme teknolojisi sayesinde transkriptomu oluşturan RNA dizilerinin hassas bir şekilde haritası oluşturulur. RNA dizileme analizi, hücrede bulunan hangi genlerin ifade edilip edilmediğini ve hangi genlerin daha çok hangilerinin daha az ifade edildiğini belirler.
Canlıdaki gen anlatımı tespit edilir ve başka örneklerle karşılaştırılır.
RNA Seq (RNA dizilimi), kodlama yapan ve kodlamayan RNA ekspresyonunu incelemek için kullanılan bir metodolojidir. Her aşamasında çeşitli yazılım araçları kullanılmaktadır.
Bu çalışma aşağıdaki aşamalardan oluşmaktadır:
- Biyolojik bir numuneden RNA izolasyonu
- RNA’nın cDNA’ya dönüştürülmesi
- cDNA’nın fragmentlerine ayrılması
- cDNA parçaları kitaplığının hazırlanması
- Yüksek verimli dizi okuma teknolojisi olan yeni nesil dizileme kullanılarak cDNA kitaplığının dizilenmesi
- Ham fastq dosyalarının eldesi
- Dizilerin
cutadaptile işlenerek,fastqcaracı ile kalite kontrolden geçirilmesi - Fastq’ların referans genoma hizalanması ve RNA dizileme verisi eldesi
- Gen ekspresyonu belirlenmesi için referans genoma hizalanan dizilerin sayılması
- Her gene ait olan okumalar sayıldıktan sonra, sağlıklı ve hastalıklı koşulların karşılaştırılması.
Bu protokolde kullanılmak üzere hazırlanan dosyaları ve betikleri öncelikle kendi bilgisayarımıza almalıyız.
- Verilen linke gidiniz: https://github.com/nursenakocaturk/rnaseq
- Sayfada "Code" yazan yeşil kutucuğa tıklayınız ve karşınıza çıkan https bağlantısını kopyalayınız
- Terminalinizde oluşturduğunuz proje klasörünün içerisine giriniz ve bu linki
git clone https://github.com/nursenakocaturk/rnaseqşeklinde terminale alınız.
Kullanacağımız ham DNA okumaları ve referans genom bilgileri proje klasörü içerisindeki data içerisinde yer almalıdır. İşlenmiş DNA okumaları, ve diğer çıktı dosyaları ise yine proje klasörü içerisindeki results klasörü içinde yer alacaktır. Bunları protokolde ilerledikçe oluşturacağız. Biz hala proje klasörünün içerisindeyiz.
Bu linkten işletim sisteminize uygun olan Conda programını (Miniconda kullanacağız) seçin: https://docs.conda.io/projects/conda/en/stable/user-guide/install/download.html
Programı seçtikten sonra indirme bağlantı linkini kopyalayın ve
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shgibi görünecek şekilde kodu yazın. Unutmayın, bu bir örnektir. Siz sizin kullandığınız işletim sistemine uygun olanı seçeceksiniz.
Terminal üzerinde yüklemeyi yönlendirildiğiniz şekilde tamamlayın.
Şimdi conda çevrelerini kurup aktive edeceğiz. Bu ççevrelerde, yapmak istediğimiz işe uygun olan paketler bir aradadır. Yapmak istediğimiz işe uygun olan çevrede işlerimizi yürütmeliyiz.
RNAseq çevremizi kuralım;
conda env create --file envs/rnaseq.yamlve çevreyi aktive edelim:
conda activate rnaseqGen sayı matrixini elde etmek için kullanacağımız araçlardan biri olan HTSeq kurulumunu yapalım. HTSeq, phyton3 ile çalışmaktdır. Bunun öncesinde phyton'a sahip olduğunuzdan ve bu sürümün güncel olduğundan emin olun. HTSeq'i rnaseq çevresine kuracağız ve programı burada çalıştıracağız.
pip install HTSeqÇevremizi aktive ettikten sonra komut satırımızın başında aktif olan çevrenin adı parantez içinde gösterilecektir.
Eğer Conda çevrenizi güncellemek isterseniz:
conda env update --file envs/rnaseq.yamlProtokolün ilerleyen aşamalarında R da kullanacağız. Şimdiden çevremizi kuralım:
conda env create --file envs/r.yamlZamanı geldiğinde aktive etmek için
conda activate ryazacağız.
Ama şu an için rnaseq çevresi içerisinde olmalıyız.
Bu çalışma kapsamında örnek bir veri seti oluşturulmuştur. Klonladığımız klasörün içerisinde 'data_ena.txt' isimli metin dosyasının içerisinde raw/ham okumaların, bu okumalara ait bilgilerin ve indirme linklerinin bir listesi yer almaktadır. Yine bu klasörde 'data.txt' isimlii metin dosyasının içerisinde, bir öndeki metin dosyasından seçilmiş dört adet örnek yer almaktadır.
Proje klasörümüzün içerisine ham okumaları ve referansımızı alacağımız iki ayrı klasör oluşturalım. 'raw' isimli klasörde ham okumalar, 'ref' isimli klasörümüzde ise referansımız olsun.
mkdir -p data/raw
mkdir -p data/refKlasörlerimiz hazır, şimdi önce ham okumalarımızı alalım. Tüm ham okumaların yer aldığı listede hem çift yönlü, hem de tek yönlü okumalar yer almaktadır. Protokolün devamında bu iki okumalar da birbirlerinden farklı işleneceklerinden yine klasör bazında ayrımlarını yapmalıyız. Bu yüzden raw klasörünün içerisinde 'pe' ve 'se' isimli iki ayrı klasör oluşturun.
'data.txt' dosyasını incelerseniz, seçilen okumaların hepsinin tek yönlü olduklarını göreceksiniz.
Tek yönlü okumaları alacağımız klasöre gidelim:
cd data/raw/seVe 'data_ena.txt' dosyası içerisinden inceleyeceğimiz okumanın linkini kopyalayalım. Okumayı indirmek için kopyaladığımız linkle birlikte kodumuz şu şekilde görünecek şekilde düzenlenmelidir ('ftp://' ön takısını siz eklemelisiniz):
wget ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR702/005/SRR7029605/SRR7029605.fastq.gzDiğer 3 okuma için de bu kodu oluşturup ayrı ayrı çalıştıralım. 'se' klasörünüzün içine okumalara ait toplamda 4 adet fastq.gz uzantılı dosya gelmiş olmalıdır.
cd data/refile referansımız için hazırladığımız klasöre girelim ve referans dosyalarını alıp gunzip komutu ile açalım.
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/007/565/GCA_000007565.2_ASM756v2/GCA_000007565.2_ASM756v2_genomic.fna.gz
gunzip GCA_000007565.2_ASM756v2_genomic.fna.gz
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/007/565/GCA_000007565.2_ASM756v2/GCA_000007565.2_ASM756v2_genomic.gff.gz
gunzip GCA_000007565.2_ASM756v2_genomic.gff.gz
wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/000/007/565/GCA_000007565.2_ASM756v2/GCA_000007565.2_ASM756v2_genomic.gtf.gz
gunzip GCA_000007565.2_ASM756v2_genomic.gtf.gzİndirdiğimiz referans genom dosyasını gunzip ile açmalıyız. Yoksa indeksleme işlemi düzgün bir şekilde gerçekleşmez.
Bu adım için part1.sh betiğini kullanıyoruz. Bu betik, ilk olarak sra-tools paketinde bulunan programları ile, istenen fastq dosyalarını indirerek, fastqc programı ile kalite kontrol adımlarını gerçekleştirir.
Fastqc programı yüksek verimli DNA dizileme işlem hatlarından gelen ham dizi verileri üzerinde bazı kalite kontrolleri yapmak için kullanılan bir araçtır.
Fastqc komutları fastqc_se.sh’ ve fastqc_pe.sh betik dosyalarında yer alır.
Bu kısmı çalıştırmak için ilk olarak fastq dosyalarının SRA kodlarının bulunduğu data.txt dosyasını oluşturmamız gerekir. Bu dosya içerisinde, indirilecek fastq dosyasının SRA kodu ve hangi uçlardan dizilendiği (tek yönlü, single end, se veya çift yönlü, paired end, pe) bilgisini içeren ve boşluk karakteri ile ayrılmış iki sütün olmalıdır:
ERR10671864 pe
ERR10671865 pe
Bu adımı çalıştırmak için aşağıdaki komut yazılır:
./part1.sh data.txtsra-tools ile conda arasındakı uyumsuzluk nedeniyle, DNA okumlarının indirilmesi adımı şimdilik atlanmıştır.
Bu adım için part2.sh veya trimmomatic.sh betiğini kullanıyoruz.
part2.sh betiğinin içersindeki Cutadapt programı da, trimmomatic.sh betiği içerisindeki trimmomatic programı da ile fastqc dosyalarının işleme adımları gerçekleştirir.
Her ikisi de adaptör dizilerini, primerleri ve diğer istenmeyen dizileri yüksek verimli dizileme verilerinden kaldırmak için kullanılan yazılım aracıdır.
Dikkat edelim, bu betiklerin sonunda tekrar fastq aracı ile karşılaşacaksınız. Süreci hızlandırmak için bu araç bu betiklerin içerisine eklenmiştir. Aslında bu komut satırının yaptığı iş part1.sh betiği ile tamamen aynıdır. Eğer bu betiklerin içerisine fastq aracı tekrar eklenmeseydi, bu sefer part1.sh betiğini tekrar çalıştırmamız, çalıştırmadan önce girdi ve çıktıların dosya konumlarını kod içerisinde tekrar düzenlememiz gerekecekti.
Cutadapt komutları cutadapt_se.sh ve cutadapt_pe.sh betik dosyalarında; trimmomatic komutları da trimmomatic_pe.sh ve trimmomatic_se.sh betik dosyalarında yer alır. Bu betik dosyalarına scripts klasöründen ulaşabilirsiniz.
./part2.sh data.txtveya
./trimmomatic.sh data.txtBu adım için part3.sh veya part4.sh betiğini kullanıyoruz.
part3.sh betiğinde BWA aracı, part4.sh betiğinde de Bowtie2 aracı ile çalışılmaktadır. Her iki araçla da yeni nesil dizileme verilerinin referans genoma hizalanma adımı gerçekleştirilir.
Bu araçlar, RNA-seq okumalarını referans genoma hizalayacak ve hizalamaları bir SAM dosyası biçiminde çıkaracaktır.
Bwa komutları bwa_se.shve bwa_pe.sh betik dosyalarında yer alır. Bowtie2 komutları ise bowtie_pe.sh ve bowtie_se.sh betikleri içerisindedir. Bu betiklere scripts klasöründen ulaşabilirsiniz.
./part3.sh data.txtveya
./part4.sh data.txtKomutuyla bu programı çalıştıralım.
Bu adımda part5.sh veya htseq-counts.sh betiklerini kullanacağız. part5.sh betiğinde part counts aracı, htseq-counts.sh betiğinde ise htseq counts aracı çalıştırılır. İkisinden birini seçebilirsiniz.
Bu betiklerin ikisinde de hizalama sonrası elde edilen veriler, artık gen ifadesi düzeyinde gerçekleştirecek olduğumuz analizlerin baş rolü olan gen ifadesi matrisleri oluşturulacaktır. Burada dikkat etmemiz gereken bir nokta var: part5.sh betiğini r çerçevesinde, htseq-counts.sh betiğini ise rnaseq çerçevesinde çalıştırmalıyız.
Aşağıda verilen kodlarda, bir önceki hizalama adımında hangi hizalama aracını kullandıysak bunu belirtmeliyiz. Eğer hizalamamızı bwa aracıyla yaptıysak bowtie2 yerine bwa yazmalıyız.
./part5.sh data.txt bowtie2veya
htseq-counts data.txt bowtie2betiği ile bu programı çalıştıralım.
STAR programı çoğunlukla ökaryotik gen ifadelerinin analizlerinde kullanılan bir araçtır.
Bu adım için star-part.sh betiğini kullanıyoruz. Bu betikte, ilk olarak elde edilen çıktıların kaydedilmesi için results klasörü altında star klasörünü oluşturmalıyız. Bu klasör içerisinde de tek yönlü (se) ve çift yönlü (pe) okumaların olduğu iki farklı klasör oluşturulur.
STAR, BWA aracı gibi DNA dizilerini referans genoma hizalamak için kullanılan bir araçtır. Özelliklerinde ve uygulamalarında bazı farklılıklar vardır.
Varyant çağırma veya genotipleme için kısa okunan sıralama verilerini analiz ederken, BWA daha iyi bir seçimdir. Gen ifadesi analizi ve alternatif ekleme için RNA-seq verileri analiz ediliyorsa, STAR daha uygun bir araç olacaktır.
Genel olarak, BWA ve STAR arasındaki seçim, sıralama verilerinin türüne ve analiz hedeflerine bağlıdır.
STAR komutları star_se.shve star_pe.sh betik dosyalarında yer alır.
İstenilen gff dosyası, şu bağlantıdan indirilir.
Bu sayfa içerisinde GFF bağlantısına tıklayarak dosyayı indirebilirsiniz.
Conda ile cufflinks programını aşağıdaki gibi kurabilirsiniz.
conda env create --file envs/cufflinks.yaml
Daha sonra çevreyi aktive edin:
conda activate cufflinksÖncelikle Cufflinks programı içerisinde bulunan gffread programı ile gff dosyasını gtf'e çevirelim.
gff ve gtf formatları arasında dönüştürme yapmak için çeşitli araçlar mevcuttur. `
gffread data/ref/GCF_000412675.1_ASM41267v1_genomic.gff -T -o data/ref/GCF_000412675.1_ASM41267v1_genomic.gtfŞimdi de STAR aracı ile referans genomu indeksleyelim:
STAR --runMode genomeGenerate --genomeDir data/ref/GenomeDir --genomeFastaFiles data/ref/GCF_000412675.1_ASM41267v1_genomic.fna --runThreadN 8
Hizalamayı aşağıdaki şekilde yapmalıyız:
Öncelikle klasörümüz oluşturalım:
mkdir -p results/star/pe/ERR10671866/Programı aşağıdaki gibi çalıştırabiliriz:
STAR --runThreadN 4 \
--genomeDir data/ref/GenomeDir/ \
--readFilesIn data/processed/pe/ERR10671866_1.fastq.gz data/processed/pe/ERR10671866_2.fastq.gz \
--outFileNamePrefix results/star/pe/ERR10671866/ERR10671866- \
--readFilesCommand zcatÇalıştırma hakkında birçok ayrıntılı bilgi içeren dosya. Bu dosya en çok sorun giderme ve hata ayıklama için kullanışlıdır.
İşlenen okuma sayısı, eşlenen okumaların vb. gibi iş ilerleme istatistiklerini raporlar.
Haritalama işi tamamlandıktan sonra özet haritalama istatistikleri, kalite kontrolü için çok faydalıdır. İstatistikler her okuma için (tek veya çift uç) hesaplanır ve ardından tüm okumalar üzerinden toplanır veya ortalaması alınır.
Standart SAM biçimindeki hizalamalar.
Sekmeyle ayrılmış formatta yüksek güvenliğe sahip daraltılmış ekleme bağlantılarını içerir. STAR'ın bağlantı noktası başlangıcını/bitişini intronik bazlar olarak tanımlarken, diğer birçok yazılımın bunları eksonik bazlar olarak tanımladığını unutmayın. Sütunlar şu anlama gelir:
- Sütun 1: kromozom
- Sütun 2: intronun ilk tabanı (1 tabanlı)
- Sütun 3: intronun son tabanı (1 tabanlı)
- Sütun 4: iplikçik (0: tanımsız, 1: +, 2: -)
- Sütun 5: intron motifi: 0: kanonik olmayan; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6: GT/AT
- Sütun 6: 0: açıklamasız, 1: ekleme bağlantıları veri tabanında açıklamalı. 2 geçişli modda, 1. geçişte algılanan bağlantıların, GTF'den açıklamalı bağlantılara ek olarak açıklamalı olarak raporlandığını unutmayın.
- Sütun 7: bağlantı noktasından geçen benzersiz eşleme okumalarının sayısı
- Sütun 8: bağlantı noktasından geçen çoklu eşleme okuma sayısı
- Sütun 9: maksimum eklenmiş hizalama çıkıntısı
Hizalama adımından sonra genom tarayıcısı adımı yer almaktadır. Okuma hizalamaları (BAM, SAM formatlarında), kullanıcıların bir grafik arayüz kullanarak genomik dizilere ve ek açıklama verilerine göz atmasına, bunları aramasına, almasına ve analiz etmesine olanak tanıyan bir program olan bir genom tarayıcısında görüntülenebilir.
İki tür genom tarayıcısı vardır:
- UCSC Genom Tarayıcısı
- Ensembl Genom Tarayıcısı
- NCBI Genom Veri Görüntüleyici
Masaüstü uygulamaları (bazıları web tabanlı bir genom tarayıcısı oluşturmak için de kullanılabilir):
- JBrowse
- GBrowse
- IGV
Küçük boyutlu veriler doğrudan genom tarayıcısına yüklenebilirken, büyük dosyalar normalde tarayıcı tarafından erişilebilen bir web sunucusuna yerleştirilir. STAR eşleyici tarafından üretilen BAM dosyalarını keşfetmek için öncelikle dosyaları sıralamamız ve indekslememiz gerekir. Bizim durumumuzda, sıralama zaten STAR tarafından yapılmıştır çünkü hizalamaları koordinatlara göre sıralanmış BAM dosyalarına veririz.