Bash - одна из версий командного интерпретатора операционных систем UNIX, основная задача которого - обработка и исполнение команд, заданных пользователем. Bash работает в интерактивном текстовом режиме, а также может читать команды (скрипты) из файла.
У каждой команды существует три системных потока:
Пример:
$ cat cthulhu.txt hotspot.txt
fhtagn!
cat: hotspot.txt: No such file or directory
По умолчанию потоки вводятся с терминала и выводятся на терминал, но с помощью специальных операторов можно перенаправлять потоки в файл или в поток ввода другой команды. В таблице ниже преведены основные из этих операторов.
| Оператор | Пример | Описание действия |
| > file | ls -1 > students.txt | Поток вывода команды ls (список поддиректорий и файлов текущей директории) направляется в файл students.txt и записывается поверх его содержимого. Если такого файла не существует, он создаётся. |
| >> file | wc -w students.txt >> students.txt | Поток вывода команды wc (количество слов в файле students.txt) направляется в файл students.txt и дописывается в конец файла. Если такого файла не существует, он создаётся. |
| 2> file | rm student.txt 2> errors.txt | Поток ошибок команды rm (например, сообщение о том, что файл student.txt не существует) направляется в файл errors.txt и записывается поверх его содержимого. Если такого файла не существует, он создаётся. |
| 2>> file | man abc 2>> errors.txt | Поток ошибок команды man (сообщение, что мануал для "команды" abc не найден) направляется в файл errors.txt и дописывается в конец файла. Если такого файла не существует, он создаётся. |
| &> file | cat 1.txt 2.txt 3.txt &> union.txt | И stdout, и stderr направляются в файл union.txt. |
| command1 | command2 | find . | grep pr* | Поток вывода команды find (список поддиректорий и вложенных в них файлов) направляется в поток ввода команды grep. |
В следующей таблице приведены некоторые спецсимволы, используемые в bash.
| Символ | Значение символа |
| ' | Все символы воспринимаются буквально |
| \ | Следующий символ воспринимается буквально |
| ./ | Текущая директория |
| ../ | Родительская директория |
| / | Корневая директория |
| ~/ | Домашняя директория |
| * | Любые символы |
| ? | Один любой символ |
| [ ] | Любой из символов, находящихся внутри скобок |
EMBOSS (The European Molecular Biology Open Software Suite) - свободно распрострааняемый пакет программ для молекулярных биологов.
В него входит программа infoseq. Она выдаёт основную информацию о последовательностях биополимеров. В таблице ниже представлены основные опции программы.
| Флаг | Что делает опция |
| -outfile | Перенаправление stdout в файл |
| -help | Вывод подсказки по программе |
| -html | Представление информации в виде html кода таблицы |
| -only | Выведение только указанных далее типов данных о последовательности |
| -[no]columns | Вывод данных в виде колонок или нет |
| -usa | Вывод краткого названия последовательности (Uniform Sequence Address) |
| -database | Вывод базы данных, откуда взята информация |
| -name | Вывод названия последовательности |
| -accession (-AC) | Вывод кода доступа |
| -type | Вывод типа последовательности (белковая или нуклеотидная) |
| -length | Вывод длины последовательности |
| -organism | Вывод названия организма, в котором синтезируются такие соединения |
| -pgs | Вывод процентного соотношения GC пар |
| -description | Вывод описания последовательности |
Ниже приведены запросы с использованием различных опций и ответы bash.
infoseq sw:rutc_ecoli -html
| USA | Database | Name | Accession | Type | Length | Organism | Description |
|---|---|---|---|---|---|---|---|
| sw-id:RUTC_ECOLI | sw | RUTC_ECOLI | P0AFQ5 | P | 128 | Escherichia coli (strain K12) | Putative aminoacrylate peracid reductase RutC (1.-.-.-) |
infoseq sw:yjbe_ecoli -nocolumns
USA|Database|Name|Accession|Type|Length|Organism|Description
sw-id:YJBE_ECOLI|sw|YJBE_ECOLI|P0AF45|P|80|Escherichia coli (strain K12)|Uncharacterized protein YjbE (Precursor)
infoseq sw:tdcr_ecoli -only -length
Length
72
infoseq sw:acrr_ecoli -only -length -organism -type -html
| Type | Length | Organism |
|---|---|---|
| P | 215 | Escherichia coli (strain K12) |