Школа по секвенированию и филогении. Октябрь 2014г.
Преподаватели: Даниил Алексеевский Андрей Алексеевский , Борис Нагаев
Подключить флешку: mount /media/sdb1
Скрипты на флешке не исполняются. Монтируются только флешки с файловой системой FAT, а с файловой системой NTFS не монтируются.
Отключить флешку: umount /media/sdb1
Выключить машину: пункт меню System, Log out Class, дождаться появления окна входа в систему, нажать на системном блоке кнопку включения.
Основы Unix
Задания и инструкции для занятий в компьютерном классе
Занятие 3: UNIX для себя
Среда, 8 октября, 15:30 - 16:30
Зайдите с помощью ssh на сервер lomonosov.parallel.ru из Windows
- запустите puTTYgen
- нажмите "генерировать ключ" и водите мышью над окном до тех пор, пока ключ не сгенерируется
- выделите мышью, скопируйте строку "публичный ключ", откройте блокнот, и вставьте строку и сохраните в файл my.pub
- нажмите в puTTYgen "save private key", установите при этом на ключ пароль, который вы легко запомните
- щёлкните на ключ, чтобы он загрузился в память компьютера
- отправьте содержимое файла my.pub на сервер ломоносова (ссылка "добавить публичный ключ")
откройте puTTY и соединитесь с сервером lomonosov.parallel.ru
- Текстовый редактор, PATH, скрипты
создайте у себя в домашней директории папку bin
с помощью текстового редактора nano создайте в папке bin скрипт hello с текстом ниже. (Команда: nano bin/hello, далее смотрите подсказки внизу экрана; скоращение ^X в строке подсказки обозначает сочетание клавиш Control+X)
echo "Hello"
сделайте скрипт исполняемым: chmod +x bin/hello
проверьте, что он работает: bin/hello
Откройте текстовый редактор nano для правки файла ~/.profile
Добавьте туда строку: PATH="$PATH:$HOME/bin" (либо найдите группу строк, в которых говорится что-то про PATH и $HOME/bin, и уберите решётки в начале этих строк)
- Пересоединитесь с сервером
Проверьте, что теперь путь к скрипту указывать не нужно: hello
Пример установки программ: картировщик bowtie2
зайдите на сайт http://bowtie-bio.sourceforge.net/index.shtml
- найдите ссылку для скачивания (в данном случае, чтобы её найти, придётся скачать файл, а потом отыскать на странице, откуда файл скачался, слова "direct link", щёлкнуть правой кнопкой мыши, и скопировать адрес ссылки)
скачайте архив на сервер: wget 'адрес-ссылки'
распакуйте архив: unzip bowtie.zip*
перейдите в папку архива и посмотрите содержимое файла MANUAL (нет смысла читать файл целиком, постарайтесь найти в нём, как собрать (build/compile) программу)
запустите make
если всё получилось, то команда ./bowtie indexes/e_coli reads/e_coli_1000.fq должна сработать и выдать какие-то данные на экран
после make возникло несколько программ с названием, начинающимся на bowtie; скопируйте их в ~/bin
если у вас прописаны все пути, то теперь команда bowtie indexes/e_coli reads/e_coli_1000.fq должна сработать (и, с поправкой на путь к данным, работать из любой директории).
Занятие 2: командная строка linux
Пятница, 3 октября, 15:30 - 16:30
- Кавычки
Откройте командную строку. (Меню Applications -> SYstem -> xterm)
- Перейдите в свою директорию.
- Скопируйте из папки /P/NGSphylo2014/unix_training файл с именем genbank files.tar.gz (в имени пробел) в свою директорию.
- Переименуйте файл, заменив пробелы на подчёркивания (_)
- Архиваторы
Распакуйте архив с помощью команды tar с флагами -x (распаковать), -v (писать о происходящем), -z (сжатый формат .tar.gz), -f (имя файла с архивом)
sed и grep
Выведите на экран все строки из любого одного из файлов в архиве, содержащие имена генов, используя команду grep
Дополните предыдущую команду так, чтобы она выводила имена генов без кавычек. Используйте конвейер (|) и команду sed 's/"//g'
Сохраните результат этой команды в файл genes.txt.
Используйте команду sed, чтобы вывести на экран содержимое файла genes.txt, убрав из его строк одинаковую часть начала (до знака =).
Измените предыдущую команду на запуск sed с флагом -i, чтобы вернуть изменения обратно в файл.
Посмотрите на содержимое файла с помощью less.
ssh
Создайте пару SSH-ключей командой ssh-keygen -t rsa -f my_key. При этом возникнут файлы my_key и my_key.pub
Зайдите на сайт Ломоносова (по ссылке, которую вы получили на почту), и найдите ссылку "загрузить публичный ключ", и загрузите в неё my_key.pub.
Перейдите на сервер Ломоносов, пользуясь вашим ключом командой ssh -i my_key логин@lomonosov.parallel.ru
Запишите список файлов в вашей домашней директории на сервере Ломоносов в файл files_list.txt
Выйдите из сервера Ломоносов командой exit
Скопируйте список файлов с сервера Ломоносов в вашу домашнюю директорию командой scp -i my_key логин@lomonosov.parallel.ru:files_list.txt .
Посмотрите содержимое files_list.txt с помощью команды less
Занятие 1: командная строка linux
Вторник 30 сент. 17:30 - 18:30
А.Алексеевский, Б.Нагаев
[ Команды linux ] [ уч. материалы для студентов ФББ ]
Сведения о нужных директориях
- При загрузке ОС linux корневая директория "/" файловой системы находится на сервере kodomo.
Все участники становятся одним пользователем class, узнать полный адрес корневой директории пользователя можно командой pwd
Все данные для выполнения проекта для всех участников будут доступны в директории /P/NGSphylo2014/. На самом деле /P является синонимом длинного пути, который можно узнать командой pwd (linux позволяет задавать синоним - alias)
Директория /local/ физически находится на том компьютере, за которым вы сидите (а не на kodomo). Это сделано для того, чтобы при выполнении проекта программы работали на локальных компьютерах - мощности kodomo на 20 больших заданий не хватает
Задания
Указания рассчитаны на новичков в ОС Unix
Вызовите окно командной строки.
В меню Application выберите System => xterm. Откроется черное окошко с командной строкой. (Если не нравится черный фон и белые буквы можно выбрать MATE terminal - все то же самое, но черные буквы на белом фоне
Создайте свою поддиректорию и файл protocol в ней, содержащий текущую дату.
исполните команду ls чтобы посмотреть список файлов и поддиректорий пользователя class
ls -l чтобы различать файлы и директории; строчки для последних начинаются с буквы d
исполните mkdir <ваша фамилия или пользовательское имя>; не используйте русские буквы и пробелы!
проверьте, что поддиректория создана (ls или ls -l)
перейдите в свою поддиректорию cd <имя поддиректории>
проверьте содержимое своей поддиректории (ls)
посмотрите полный путь к своей директории в файловой системе: команда pwd
создайте файл protocol: cat > protocol, проверьте, что файл появился
запишите дату в protocol: команда echo 'sept 30, 2014' а затем echo 'sept 30, 2014' > protocol
проверьте содержимое файла protocol: less protocol (чтобы закрыть программу less, нажмите q)
Запишите в протокол списки файлов в директориях от корня до вашей
сначала разберитесь с разницей между перенаправлениями потока > и >>, выполняя команды echo 'date' > protocol и echo 'date' >> protocol и проверяя результат с помощью less
выполните ls / чтобы узнать содержимое корневой директории; потом перенаправьте ls / >> protocol
так же поступите со всеми промежуточными директориями пути от / до вашей поддиректории; используйте стрелку вверх и табулятор чтобы сократить работу!
- проверьте результат с помощью less
- проверьте и отредактируйте результат с помощью оконного редактора gedit: в меню выберите File system, найдите свою директорию, щелкните по имени файла protocol; допишите в него что-нибудь (напр. названия директорий, содержимое которых показано); сохраните файл - один из квадратиков справа сверху окна редактора
Скопируйте в свою директорию все файлы с расширением .gbk из директории /P/NGSphylo2014/unix_training. Какая информация лежит в этом файле?
Можно копировать файлы по одному: cp <полный путь к файлу> <имя файла-копии>
- Можно использовать маску, а именно, вместо имени файла написать .../*.gbk (* значит любой число любых символов; естественно, многоточие заменяет полный путь к директории); вместо имени файла-копии надо указать директорию; если вы копируете в текущую директорию надо указать ./ Прежде, чем исполнять команду копирования cp в такой форме исполните echo с теми же аргументами для проверки!
Объедините все файлы .gbk в один файл sequences.gbk. Определите и внесите в протокол число строк в этом файле
- команда cat, см. страничку со списком команд
Если справляетесь с учебными упражнениями, то испытайте себя в деле:) ). Выполните первое задание из инструкции К.Михайлова по сборке генома
В директории /local/ создайте поддиректорию Project_Intoshia, а в ней - поддиректории Illumina_reads, Jellyfish, Augustus, Assemblies, OrthoMCL, BLAST, trees
Эти поддиректории нужны будут в проекте. Если вы их создали сегодня, то при выполнении проекта их не надо будет создавать заново.
- команды перехода cd и mkdir; уже были
Скопируйте файлы ридов из директории /P/NGSphylo2014/Intoshia_reads/ в директорию /local/Project_Intoshia/Illumina_reads/ и разархивируйте их.
- копирование уже было
полученные вами файлы заархивированы, об этом говорит их расширение .gz; для разархивирования исполните команду gunzip <имя файла>
- посмотрите содержимое одного из файлов (команда less) и разберитесь, что в нем закодировано
- определите число ридов в каждом из файлов:
сначала используйте команду grep <что искать> <имя файла>; чтобы убить выдачу CTRL+C
затем устройте конвейер grep <что искать> <имя файла> | wc
варианты того, что искать: '^@', '^+', '@HWI-ST992'
В проекте вам придется создавать файлы - скрипты. Если вы не имели дело с текстовыми редакторами vi, vim, pico, nano, вызываемыми из командной строки, то советую вместо них использовать gedit. ААл
Создайте скрипт my_script, содержащий следующие команды:
- Переход в вашу директорию
- Сохранение полного пути к текущей директории в файле temp
- Добавление списка файлов из текущей директории в файл temp
- Объединение файлов protocol и temp и запись их в файл protocol_auto
- Печать слова "..Done"
Создайте файл my_script.
Сделайте его исполняемым: chmod a+x my_script
Внесите в файл команды. Первая строка должна быть такой: #!/bin/sh
Далее - команды, строчка за строчкой.
Задания (для участников, владеющих основами linux)
Скачайте в текущую папку файл http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.2.zip и распакуйте его; запишите в protocol количество файлов с расширением txt в папке FastQC и команду, с помощью которой это количество было рассчитано
Скопируйте файл FastQC/README.txt в файл copy_README.txt.
Переименуйте файл copy_README.txt в copy2_README.txt.
Скачайте в текущую папку файл http://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.29/ncbi-blast-2.2.29+-src.tar.gz и распакуйте его; запишите в protocol количество файлов с расширением txt в папке ncbi-blast-2.2.29+-src и команду, с помощью которой это количество было рассчитано
Создайте жесткую и символьную ссылки на файл FastQC/README.txt. Жесткую ссылку назовите h_README.txt, а символьную ссылку назовите s_README.txt. Запишите команду в протокол. Удалите файл FastQC/README.txt. Проверьте, можно ли прочитать созданные ссылки и копию файла (copy2_README.txt). Объясните, что происходит, занесите команды в протокол.
Положите файл copy2_README.txt в архив copy2_README.tar.gz. Запишите в протокол размер архива в байтах.