HW1_Linux_basics

Author

Nazarii Hrubiian

Формат передачі генів (GTF) - це формат файлів, який використовується для зберігання інформації про структуру генів. Це текстовий формат з розділенням табуляцією, заснований на форматі загальних ознак (GFF), але містить деякі додаткові домовленості, специфічні для генної інформації. Важливою особливістю GTF є те, що його можна перевіряти: маючи послідовність і файл GTF, можна перевірити правильність формату. Це значно зменшує проблеми з обміном даними між групами.

Дані які будемо аналізувати це гени Drosophila melanogaster - модельний об’єкт для багатьох генетичних досліджень. Для цього завдання виділено 14 генів Drosophila melanogster. Вашим завданням буде проаналізувати їх та виконати вказівки описані нижче.

Список генів:

Опис завдання

Потрібно вияснити:

  1. На якій хромосомі знаходиться ген
  2. dene_id знайденого гену
  3. gene_source гену
  4. Скільки Елементів(Features) знайдено для цього гену у вигляді екзонів
  5. Знайти найдовший Елемент(feature)
  6. Знайти найменший Елемент(feature)
  7. Записати всі отримані резульати у вигляді таблички excel(приклад додається)
  8. Pro-task(optional): написати скрип bash який автоматично виконає завдання(output у вигляді txt з рядками з відповідями через пробіл, приклад додається)

Таблиця з кінцевим результатом матиме вигляд:

Ознака Інформація
Розташований на хромосомі 3L
gene_id FBgn0263995
gene_source FlyBase
Кількість Елементів(Features) 135
Max довжина Елементу 37
Min довжина Елементу 5744

Крок 1. Завантаження файлу

Для того щоб завантажити файл, використайте команду curl

mkdir genomics_2025     # створення папки в кореневій папці
cd genomics_2025        # Перехід у створену папку
mkdir HW1_Linux_basics  # Створення папки у новоствореній папкці
cd HW1_Linux_basics     # Перезід у новостворену папку
pwd                     # Перевірка шляху створених папкок
# pwd_output: ~/genomics_2024/HW1_Linux_basics/
curl -O https://ftp.ensembl.org/pub/release-112/gtf/drosophila_melanogaster/Drosophila_melanogaster.BDGP6.46.112.gtf.gz # Завантаження GTF файлу референтного геному Drosophila melanogaster

Крок 2. Використання cat, more, less, head, tail для перегляду файлу

# Перегляд 20 рядків файлу за допомогою команди head
head -n 20 Drosophila_melanogaster.BDGP6.46.112.gtf
# Перегляд останніх 20 рядків файлу за допомогою команди tail
tail -n 20 Drosophila_melanogaster.BDGP6.46.112.gtf
# Перегляд файлу за допомогою less
less -S Drosophila_melanogaster.BDGP6.46.112.gtf
# Перегляд файлу за допомогою more
more Drosophila_melanogaster.BDGP6.46.112.gtf
# Перегляд файлу за допомогою cat
cat Drosophila_melanogaster.BDGP6.46.112.gtf

Крок 3. Пошук гену за допомогою команди grep

# Використання команди grep для знаходження гену "cpo"
grep \"cpo\" -w Drosophila_melanogaster.BDGP6.46.112.gtf
# Використання команиди wc для підрахунку унікальних Features(кількості рядків) для гена "cpo"
grep \"cpo\" -w Drosophila_melanogaster.BDGP6.46.112.gtf | wc -l
# Підрахунок кількості Features гену "cpo" для екзонів
grep \"cpo\" -w Drosophila_melanogaster.BDGP6.46.112.gtf |grep -w "exon" | wc -l
# Перегляд у зручному форматі за допомогою команди less
grep \"cpo\" -w Drosophila_melanogaster.BDGP6.46.112.gtf |grep -w "exon" | less -S
# Запис відповіді у новий gtf файл
grep \"cpo\" -w Drosophila_melanogaster.BDGP6.46.112.gtf |grep -w "exon" > cpo.gtf
# відображення отриманого результату
less -S cpo.gtf

Запишіть кількість Елементів(Features) у excel табличку

Крок 4. Пошук корисної інформації про розташування гена на хромосомі, gene_id, gene_source

# Знайти хромосому на якій розташований ген "cpo"
cut -f 1 cpo.gtf | head -n 1
# Пошук gene_id гену "cpo"
cut -f 9 cpo.gtf | cut -d ';' -f 1 | head -n 1
# Пошук gene_source гену "cpo"
cut -f 9 cpo.gtf | cut -d ';' -f 5 | head -n 1

Таким чином отримали інформацію про хромосому, gene_id та gene_source. Запишіть отримані результати у Excel табличку

Крок 5. Знаходження Min та Max елементів(features) гена

# Оберіть відповідні колонки в яких міститься інформація про початок та кінець транскрипту
cut -f 4,5 cpo.gtf > length_gene.txt
# відніміть значення колонки 2 від колонки 1 та запишіть у новий файл min_max_gene.txt
awk '{print $2 - $1}' length_gene.txt > min_max_gene.txt
# Знайти мінімальне число Елементу(Feature) гена
sort -n min_max_gene.txt | head -n 1
# Знайти максимальне число Елементу(Feature) гена
sort -n min_max_gene.txt | tail -n 1
# Продвинутіший спосіб знаходження min та max
awk 'NR == 1 {min = $1} $1 < min {min = $1} END {print min}' min_max_gene.txt
awk 'NR == 1 {max = $1} $1 > max {max = $1} END {print max}' min_max_gene.txt

Запишіть знайдені min та max довжину Елементів(Features) у табличку

Крок 6. (Optional) Shell скрипт

Напишіть shell скрипт для оптимізації процесу та анотації генів у автоматичному режимі