Учебный сайт Фоменко Елены

Главная Семестры Проекты Заметки

Bash.

Потоки и операторы перенаправления потоков.

Поток номер 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.

EMBOSS.

Создаем директорию Pr1 для выполнения заданий. Через putty заходим на сервер, переходим в рабочую директорию. Командой
sw:ysdc_bacsu -YSDC_BACSU.info
получаем файл YSDC_BACSU.info

Ищем такие же белки у других видов Bacillus. Командой
infoseq sw:yscd_bac*
получаем:

USA                      Database  Name           Accession      Type Length Organism            Description 
sw-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:. Выполнив команду
entret sw:ysdc_bacsu ysdc_bacsu,
мы получим информацию для белка YSDC_BACSU в файле YSDC_bacsu.entret. Рассматриваемая команда имеет два обязательных параметра (указание последовательности [-sequence] и выходного файла [-outfile]), а также -firstonly (boolean), чтобы прочитать только одну последовательность.

Команда showdb

Данная команда отображает информацию о доступных базах данных. Она не трубует обязательных аргументов. Из дополнительных и продвинутых следует выделить возможность вывода результата как HTML-таблицы (-html) и возможность работы с информацией, которую необходимо включить в выдачу (например, с помощью -full можно отобразить все колонки с информацией о базах данных, а комбинируя параметр -only с такими параметрами, как -heading, -type, -id, -query, -all, -comment, можно добиться отображения только необходимых колонок).

Команда seqret

Команда seqret читает и возвращает запрошенные последовательности (записывает их в файл). Она имеет два обязательных параметра: имя последовательности или её адрес (USA) [-sequence] и имя выходного файла [-outseq]. Продвинутый параметр -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

C помощью программы matcher пакета EMBOSS можно получить несколько частичных выравниваний с наибольшим весом. Рассматриваемая команда имеет три обязательных параметра: два первых - это имя последовательности или её адрес (USA) [-asequence] и [-bsequence], третий - это имя выходного файла [-outfile]. Есть 4 дополнительных параметра: матрица весов -datafile (по умолчанию - EBLOSUM62 для белков и EDNAFULL для ДНК), -alternatives для указания количества альтернативных выравниваний (по умолчанию строится одно выравнивание), штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 14 и 4 для белков и 16 и 4 для ДНК соответственно). Например, в результате выполнения следующей команды
matcher sw:p94521 sw:q48677 ysdc_bacsu-pepa_laclm.matcher -alternatives 5 -gapopen 11 -gapextend 1

мы получим файл ysdc_bacsu-pepa_laclm.matcher, содержащий 5 различных локальных выравниваний с наибольшим весом указанных последовательностей с учётом указанных штрафов за открытие и продление гэпа.

Команда stretcher

C помощью программы stretcher пакета EMBOSS можно получить оптимальное глобальное выравнивание двух последовательностей. Эта команда имеет три обязательных параметра: имя последовательности или её адрес (USA) [-asequence] и [-bsequence], третий - это имя выходного файла [-outfile]. Есть 3 дополнительных параметра: матрица весов -datafile (по умолчанию - EBLOSUM62 для белков и EDNAFULL для ДНК) и штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 12 и 2 для белков и 16 и 4 для ДНК соответственно). Например, в результате выполнения команды
stretcher sw:p94521 sw:q48677 ysdc_bacsu-pepa_laclm.stretcher -gapopen 11 -gapextend 1
мы получим файл ysdc_bacsu-pepa_laclm.stretcher, содержащий глобальное выравнивание указанных последовательностей с учётом указанных штрафов за открытие и продление гэпа.

Команда needle

Программа needle пакета EMBOSS выдаёт оптимальное полное выравнивание. Она имеет пять обязательных параметров: имя последовательности или её адрес (USA) [-asequence] и [-bsequence]; штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 10.0 и 0.5; можно применить параметр -auto для использования стандартных значений штрафов); имя выходного файла [-outfile]. Например, в результате выполнения следующей команды
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

Программа water пакета EMBOSS выдаёт оптимальное частичное выравнивание. Эта команда имеет пять обязательных параметров: имя последовательности или её адрес (USA) [-asequence] и [-bsequence]; штрафы за открытие и продление гэпа -gapopen и -gapextend (по умолчанию 10.0 и 0.5; можно применить параметр -auto для использования стандартных значений штрафов); имя выходного файла [-outfile]. Например, в результате выполнения следующей команды
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) с учётом указанных штрафов за открытие и продление гэпа.


© Фоменко Елена