Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2015

Задание

1. (1 балл) (1 балл) Прочитать fasta-файл, содержащий много последовательностей из одного организма. Написать N самых частых аминокислот в файле. Имя файла и число N являются параметрами командной строки. Программа должна полноценно разбирать командную строку и иметь названия параметров и описания к ним, понятные ПОЛЬЗОВАТЕЛЮ (тупому, который ничего не знает НИ об устройстве программы, НИ О ЕЁ НАЗНАЧЕНИИ), а не программисту.

Примеры парных выравниваний в формате FASTA

2. (1 балл) Перепишите следующие циклы в виде соответствующих генераторов: (по 0.25 балла за каждый цикл)

2.1.

   1 cubes = []
   2 for i in range(10000):
   3     cubes.append(i*i*i)
   4 print(cubes)

2.2.

   1 all_fields = ['CHROM', 'POS', 'ID', 'REF', 'ALT', 'QUAL', 'INFO', 'FORMAT', 'SAMPLE']
   2 results = [31, 30, 0, 75, 43, 8, 79, 95, 69, 3]
   3 stats = {}
   4 for field_name, score in zip(all_fields, results):  # zip создает новый список из кортежей из пар элементов из переданных ему списков; если вы не знаете как это работает - просто попробуйте выполнить этот код - проще один раз увидеть, чем объяснить
   5     stats[field_name] = score
   6 print(stats)

2.3.

   1 results = []
   2 a = 10
   3 b = 2000
   4 c = 50
   5 for x in range(1000):
   6     score = -a*x*x + b*x + c
   7     if score > 0:
   8         results.append(score)

2.4.

   1 # подсказка: правильно подставьте выражение вида "a if b else c" в генератор
   2 results = {}
   3 a = 10
   4 b = 2000
   5 c = 50
   6 for x in range(1000):
   7     score = -a*x*x + b*x + c
   8     if score > 0:
   9         results[x] = score
  10     else:
  11         results[x] = -score

3. (1 балл) Скачайте текстовый файл (https://drive.google.com/file/d/0ByX667s7YFz3cTJ2T3J1S1U3cnM/view), который содержит результаты работы некоторой программы - либо числовое значение, либо 'error'. Прочитайте из него только числовые значения, вычислите их среднее, вычтите среднее из каждого числа и результаты запишите в другой файл. Чтение из файла в список и фильтрация должны быть сделаны в 1 строку с использованием генератора. Имена входного и выходного файлов являются параметрами командной строки.