Учебный сайт Фоменко Елены
Главная | Семестры | Проекты | Заметки |
Потоки и операторы перенаправления потоков.
Поток номер 0 (stdin) зарезервирован для чтения команд пользователя или входных данных. Направление потока меняется с помощью символа "<".
Поток номер 1 (stdout) зарезервирован для вывода данных, как правило текстовых. Для перенавправления потока
используется символ ">". Для добавления записи в конец файла используется символ ">>". Например, командой
man cat > file1.txt
можно записать информацию о команде "cat" в file1.txt. А командой
pwd >> file2.txt
можно добавить текст с полным названием текущей директории в конец file2.txt.
Поток номер 2 (stderr) зарезервирован для вывода диагностических и отладочных сообщений в текстовом виде.
Для подавления вывода этого потока можно написать "2>/dev/null", для записи stderr в файл используется сочетание "2".
Для направления stdout одной команды на вход (stdin) другой команды используется конвейер ("|") , например:
ls | wc
В результате получим количество строк, слов и символов в списке файлов данной директории.
Спецсимволы
Ряд символов вопринимается интерпретатором командной строки bash как указания к некоторым операциям.
Пробел и символ табуляции отделяют параметры друг от друга.
Кавычки и обратная косая черта используются для передаче программам параметров, содержащих спецсимволы (например, имен файлов с пробелами).
В одинарных кавычках все символы (кроме самой одинарной кавычки) воспринимаются буквально.
В двойных кавычках символы $ и ` (обратные кавычки) сохраняют специальное значение (вызов содержания переменной и подстановка вывода другой команды соответственно).
Сочетание \ с любым символом превращается в этот символ.
Звездочка *, вопросительный знак ? и квадратные скобки [ ] используются для "масок" имен файлов. Например [0-9]*
превращается в список всех файлов текущей директории, чье название начинается с цифры.
Символ ! можно использовать для вызова команды из журнала команд (просмотр журнала - команда history).
Cимволом ; (точка с запятой) можно разделить строку на последовательно выполняемые команды. Например, командой
ls;man cat
мы последовательно получим список файлов текущей директории и информацию о команде cat.
Создаем директорию Pr1 для выполнения заданий. Через putty заходим на сервер, переходим в рабочую директорию. Командой
sw:ysdc_bacsu -YSDC_BACSU.info
получаем файл YSDC_BACSU.info
Ищем такие же белки у других видов Bacillus. Командой
infoseq sw:yscd_bac*
получаем:
USA Database Name Accession Type Length Organism Descriptionsw-id:YSDC_BACSU sw YSDC_BACSU P94521 P 361 Bacillus subtilis Putative aminopeptidase ysdC (3.4.11.-)
Нашелся только один белок.
Используем белок из примера в задании. Командой
infoseq sw:rs3_bac*
получим список белков во всех видах Bacillus:
USA Database Name Accession Type Length Organism Description sw-id:RS3_BACA2 sw RS3_BACA2 A7Z0P4 P 218 Bacillus amyloliquefaciens (strain FZB42) 30S ribosomal protein S3 sw-id:RS3_BACAH sw RS3_BACAH A0R8I6 P 219 Bacillus thuringiensis (strain Al Hakam) 30S ribosomal protein S3 sw-id:RS3_BACAN sw RS3_BACAN Q81VS4 P 219 Bacillus anthracis 30S ribosomal protein S3 sw-id:RS3_BACC1 sw RS3_BACC1 Q73F90 P 219 Bacillus cereus (strain ATCC 10987) 30S ribosomal protein S3 sw-id:RS3_BACCN sw RS3_BACCN A7GK26 P 219 Bacillus cereus subsp. cytotoxis (strain NVH 391-98) 30S ribosomal protein S3 sw-id:RS3_BACCR sw RS3_BACCR Q81J36 P 219 Bacillus cereus (strain ATCC 14579 / DSM 31) 30S ribosomal protein S3 sw-id:RS3_BACCZ sw RS3_BACCZ Q63H84 P 219 Bacillus cereus (strain ZK / E33L) 30S ribosomal protein S3 sw-id:RS3_BACFN sw RS3_BACFN Q5L8B5 P 244 Bacteroides fragilis (strain ATCC 25285 / NCTC 9343) 30S ribosomal protein S3 sw-id:RS3_BACFR sw RS3_BACFR Q64NL4 P 244 Bacteroides fragilis (strain YCH46) 30S ribosomal protein S3 sw-id:RS3_BACHD sw RS3_BACHD Q9Z9K8 P 219 Bacillus halodurans (strain ATCC BAA-125 / DSM 18197 / FERM 7344 / JCM 9153 / C-125) 30S ribosomal protein S3 sw-id:RS3_BACHK sw RS3_BACHK Q6HPQ2 P 219 Bacillus thuringiensis subsp. konkukian (strain 97-27) 30S ribosomal protein S3 sw-id:RS3_BACLD sw RS3_BACLD Q65PA1 P 218 Bacillus licheniformis (strain DSM 13 / ATCC 14580) 30S ribosomal protein S3 sw-id:RS3_BACP2 sw RS3_BACP2 A8F991 P 218 Bacillus pumilus (strain SAFR-032) 30S ribosomal protein S3 sw-id:RS3_BACSK sw RS3_BACSK Q5WLQ6 P 220 Bacillus clausii (strain KSM-K16) 30S ribosomal protein S3 sw-id:RS3_BACSU sw RS3_BACSU P21465 P 218 Bacillus subtilis (strain 168) 30S ribosomal protein S3 (BS3) (BS2) sw-id:RS3_BACTN sw RS3_BACTN Q8A482 P 243 Bacteroides thetaiotaomicron (strain ATCC 29148 / DSM 2079 / NCTC 10582 / E50 / VPI-5482) 30S ribosomal protein S3 sw-id:RS3_BACV8 sw RS3_BACV8 A6KYI9 P 243 Bacteroides vulgatus (strain ATCC 8482 / DSM 1447 / NCTC 11154) 30S ribosomal protein S3
Используем некоторые опции. Командой
infoseq sw:rs3_bacsu -only -organism
получим только список самих организмов:
Organism Bacillus amyloliquefaciens (strain FZB42) Bacillus thuringiensis (strain Al Hakam) Bacillus anthracis Bacillus cereus (strain ATCC 10987) Bacillus cereus subsp. cytotoxis (strain NVH 391-98) Bacillus cereus (strain ATCC 14579 / DSM 31) Bacillus cereus (strain ZK / E33L) Bacteroides fragilis (strain ATCC 25285 / NCTC 9343) Bacteroides fragilis (strain YCH46) Bacillus halodurans (strain ATCC BAA-125 / DSM 18197 / FERM 7344 / JCM 9153 / C-125) Bacillus thuringiensis subsp. konkukian (strain 97-27) Bacillus licheniformis (strain DSM 13 / ATCC 14580) Bacillus pumilus (strain SAFR-032) Bacillus clausii (strain KSM-K16) Bacillus subtilis (strain 168) Bacteroides thetaiotaomicron (strain ATCC 29148 / DSM 2079 / NCTC 10582 / E50 / VPI-5482) Bacteroides vulgatus (strain ATCC 8482 / DSM 1447 / NCTC 11154)
Командой
infoseq sw:ysdc_bacsu -heading n
Получаем таблицу с информацией о белке без заголовков:
sw-id:YSDC_BACSU sw YSDC_BACSU P94521 P 361 Bacillus subtilis (strain 168) Putative aminopeptidase ysdC (3.4.11.-)
Описание команды infosec получим с помощью команды
infosec -help
Вот описание некоторых опций программы:
Параметр | Функция | Пример | Результат |
-outfile | Указание имени файла для вывода информации. | infoseq sw:ysdc_bacsu -outfile filename | Записывает информацию в файл filename. |
-columns | С помощью boolean (Y и N) можно применить или отключить вывод в виде колонок. | infoseq sw:ysdc_bacsu -columns n | Вывод информации без разделения на колонки, её части отделены друг от друга разделителем | (по умолчанию). |
-delimiter | Выбор разделителя для информации в полученном тексте. | Можно использовать пробел в качестве разделителя: infoseq sw:ysdc_bacsu -columns n -delimiter ' ' |
Вывод информации без разделения на колонки, части отделены пробелом. |
-html | Форматирование получаемой таблицы как HTML-таблицы. | infoseq sw:ysdc_bacsu -html | HTML-таблица с информацией о белке YSDC_BACSU из банка SwissProt. |
-heading | Отображение заголовков колонок. | infoseq sw:ysdc_bacsu -heading n | Таблица из одной строки с информацией по умолчанию. |
Фильтровать данные можно с помощью -noname, -nodesc (чтобы отсеять лишнее) или -only, -length.
C помощью программы entret на kodomo можно извлекать записи из банков данных. Нужно задать в качестве аргумента строку: sw: Команда showdb
Данная команда отображает информацию о доступных базах данных.
Она не трубует обязательных аргументов. Из дополнительных и продвинутых следует выделить возможность
вывода результата как HTML-таблицы (-html) и возможность работы с информацией, которую необходимо включить в выдачу
(например, с помощью -full можно отобразить все колонки с информацией о базах данных,
а комбинируя параметр -only с такими параметрами, как -heading, -type, -id, -query, -all, -comment,
можно добиться отображения только необходимых колонок).
Команда seqret
Команда seqret читает и возвращает запрошенные последовательности (записывает их в файл).
Она имеет два обязательных параметра: имя последовательности или её адрес (USA) [-sequence] и имя выходного файла [-outseq].
Продвинутый параметр -firstonly (boolean), позволяет прочитать только одну последовательность (и затем остановиться).
Например, результатом выполнения команды
Если создать специальный лист-файл с идентификаторами последовательностей, то командой
Команда matcher
C помощью программы matcher пакета EMBOSS можно получить несколько частичных выравниваний с наибольшим весом.
Рассматриваемая команда имеет три обязательных параметра: два первых - это имя последовательности или её адрес (USA) [-asequence] и [-bsequence], третий - это имя выходного файла [-outfile].
Есть 4 дополнительных параметра: матрица весов -datafile (по умолчанию - EBLOSUM62 для белков и EDNAFULL для ДНК), -alternatives для указания количества альтернативных выравниваний (по умолчанию строится одно выравнивание), штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 14 и 4 для белков и 16 и 4 для ДНК соответственно).
Например, в результате выполнения следующей команды
Команда stretcher
C помощью программы stretcher пакета EMBOSS можно получить оптимальное глобальное выравнивание двух последовательностей.
Эта команда имеет три обязательных параметра: имя последовательности или её адрес (USA) [-asequence] и [-bsequence], третий - это имя выходного файла [-outfile].
Есть 3 дополнительных параметра: матрица весов -datafile (по умолчанию - EBLOSUM62 для белков и EDNAFULL для ДНК) и штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 12 и 2 для белков и 16 и 4 для ДНК соответственно).
Например, в результате выполнения команды
Команда needle
Программа needle пакета EMBOSS выдаёт оптимальное полное выравнивание.
Она имеет пять обязательных параметров:
имя последовательности или её адрес (USA) [-asequence] и [-bsequence]; штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 10.0 и 0.5; можно применить параметр -auto для использования стандартных значений штрафов);
имя выходного файла [-outfile].
Например, в результате выполнения следующей команды
Команда water
Программа water пакета EMBOSS выдаёт оптимальное частичное выравнивание.
Эта команда имеет пять обязательных параметров:
имя последовательности или её адрес (USA) [-asequence] и [-bsequence]; штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 10.0 и 0.5; можно применить параметр -auto для использования стандартных значений штрафов);
имя выходного файла [-outfile].
Например, в результате выполнения следующей команды
entret sw:ysdc_bacsu ysdc_bacsu,
мы получим информацию для белка YSDC_BACSU в файле YSDC_bacsu.entret.
Рассматриваемая команда имеет два обязательных параметра (указание последовательности [-sequence] и выходного файла [-outfile]),
а также -firstonly (boolean), чтобы прочитать только одну последовательность.
seqret sw:ysdc_bacsu ysdc_bacsu.seqret
или
seqret sw:p94521 ysdc_bacsu.seqret
будет файл usdc_bacsu.seqret, содержащий последовательность в формате fasta.
seqret @myproteins.list myproteins.fasta
можно получить файл с этими последовательностями в формате fasta.
matcher sw:p94521 sw:q48677 ysdc_bacsu-pepa_laclm.matcher -alternatives 5 -gapopen 11 -gapextend 1
мы получим файл ysdc_bacsu-pepa_laclm.matcher, содержащий 5 различных локальных выравниваний с наибольшим весом указанных последовательностей с учётом указанных штрафов за открытие и продление гэпа.
stretcher sw:p94521 sw:q48677 ysdc_bacsu-pepa_laclm.stretcher -gapopen 11 -gapextend 1
мы получим файл ysdc_bacsu-pepa_laclm.stretcher, содержащий глобальное выравнивание указанных последовательностей с учётом указанных штрафов за открытие и продление гэпа.
needle sw:p94521 sw:q486770 ysdc_bacsu-pepa_laclm.needle -gapopen 11 -gapextend 1
мы получим файл ysdc_bacsu-pepa_laclm.needle, содержащий оптимальное полное выравнивание последовательностей белков
YSDC_BACSU (AC P94521) и PEPA_LACLM (AC Q486770) с учётом указанных штрафов за открытие и продление гэпа.
water sw:p19079 sw:p32320 cdd_bacsu-cdd_human.water -gapopen 11 -gapextend 1
мы получим файл ysdc_bacsu-ysdc_human.water, содержащий оптимальное частичное выравнивание последовательностей белков
YSDC_BACSU (AC P94521) и PEPA_LACLM (AC Q48677) с учётом указанных штрафов за открытие и продление гэпа.