Kodomo

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

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

ВАЖНО, ИНАЧЕ МЫ НЕ НАЙДЕМ ВАШИ РАБОТЫ!!!

Все файлы с программами сохраняйте в папку ~/term1/block2/homeworks, название скрипта – <название_задания>.py (aminoacid.py etc.)

1. aminoacid

Пользователь вводит один из однобуквенных кодов аминокислот (в любом из регистров). Если введённый код соответствует ароматической аминокислоте, то программа выводит: "aromatic". Если код соответствует алифатической аминокислоте, программа выводит "aliphatic". Если код соответствует аминокислоте, которая не относится ни к ароматическим, ни к алифатическим, программа выводит "other". Если был введен не код аминокислоты, программа выводит "error".

Пример входа:

F

Пример выхода:

aromatic

Подсказка

Ещё подсказка: перечитайте в лекции раздел "операции над списками".

2. squares

Выведите все квадраты натуральных чисел, которые строго меньше введённого натурального числа.

Пример входа:

10

Пример вывода:

1 
4
9

3. power-of-three

Программа приглашает пользователя ввести целое положительное число.

Программа выводит "TRUE", если число является степенью тройки. Иначе программа выводит "FALSE".

Пример входа:

19683

Пример вывода:

TRUE

4. head

Программа имитирует работу программы head <имя_входного_файла> -n <число выводимых строк> На вход программа принимает имя файла. Затем она принимает на вход число строк из файла, которые надо вывести. Если введённое число больше, чем число строк в файле, то программа выводит все строки в файле Пример входа:

in.txt
2

Пример вывода:

One ring to rule them all,
   one ring to find them,

Файл in.txt:

One ring to rule them all,
   one ring to find them,
One ring to bring them all
   and in the darkness bind them.

5. grep

Программа имитирует работу программы grep <строка> <имя_входного_файла>

На вход программа принимает имя файла. Затем она принимает на вход строку. Затем программа выводит все строки файла, содержащие эту подстроку.

Пример входа:

in.txt
безумн

Пример вывода:

И лишь безумному - вера под стать
А, переделав наш мир, всем безумными стать?

Файл in.txt:

Только дурак может вверх устремляться
И лишь безумному - вера под стать
Может быть, братцы, нам всем постараться
Не доверяться шутам и паяцам
А, переделав наш мир, всем безумными стать?

6. seqnames

Программа читает файл input-seqnames.fasta с последовательностями в fasta-формате и создаёт файл output-seqnames.txt с именами этих последовательностей, по одному в строке.

описание фаста-формата

Указание: если строка начинается с ">", надо разделить её по пробелам и записать в выходной файл первый элемент получившегося списка, не забыв убрать '>' в начале и добавить '\n' в конце.

Убрать начальный символ из строки можно, взяв "срез" с символа 1 до конца. Если в переменной s хранится строка, то s[1:] будет означать ту же строку без начального символа (напоминаем, что номер начального символа в строке — 0).

Для любопытных: посмотреть, что делает метод строки str.startswith

Пример входного файла:

>FOXB1 binding motif 1; score 0.058994
CGATCTGAGCAGAAGTCATACACATGGGAATGTATATAAGTCGAATCGTATGCC
CATGGGAATGTATATAAGTCGAATCGTATGCCATACACATGATACACATGATAC
CATGGGAATGTATATAAGTCGAATCGTATGCCATACACAATACACATGTATACA
ATACACATGAAGTCGAATCGTATGCCAT
>FOXB2 binding motif 2; score 0.074589
CGATCTGAGCAGCATAATGTCAATATTTACATAAGGAATCGCGAATC
>GABPA binding motif 3; score 0.128900
GGGGAAGGGCACGAGGCGGGAGGCGAGGCG

Пример файла на выходе:

FOXB1
FOXB2
GABPA

7. average

Файл input-average.txt содержит числа, по одному в строке. Программа читает этот файл и выдаёт на консоль среднее значение.

Указание: заведите переменную-счётчик и другую переменную для суммы чисел.

Пример входного файла:

10
8
22
340
123419
-10
22.4
13
331

Пример вывода в консоли:

The arithmetic mean of the numbers in the file is 13795.044444444444.

Еще один пример входного файла:

-1E10
     
 

1E8

Пример вывода в консоли:

The arithmetic mean of the numbers in the file is -4950000000.0.

Замечание: в python (и в большинстве программ и языков программирования) вместо "1000000.0" можно писать "1E6", что означает единицу, умноженную на десять в шестой степени. float переводит вторую строку в число не хуже, чем первую; правда, для int такая запись не подойдёт.