Биоинформатический пакет EMBOSS и командная оболочка Bash
Bash EMBOSSКоманда InfoSeq биоинформатического пакета EMBOSS
EMBOSS - акроним от European Molecular Biology Open Software Suite. EMBOSS - это свободное програмное обеспечение с открытым кодом, пакет, специально разработанный для нужд молекулярной биологии и биоинформатического сообщества.
Мною приведено описание команд/программ:
1. Открываю терминал linux.
В Linux, используя gnome-terminal, подключаюсь к серверу kodomo:
ssh eugeniaprokhorova@kodomo.fbb.msu.ru
2. Создаю директорию Pr1.
Командой mkdir в своей домашней директории создаю директорию Term2, в ней - директорию Block1, в ней - директорию Practices, в ней - директорию Pr1:
mkdir Term2, mkdir Term2/Block1, mkdir Term2/Block1/Practices,mkdir Term2/Block1/Practices/Pr1.
Перехожу в эту директорию:
cd Term2/Block1/Practices/Pr1
3. Получаю информацию о своем белке.
Попробовав команду:
infoseq sw:rs3_ecoli
infoseq sw:hutp_bacsu > '1WPV'.info
Символ > перенаправляет стандартный вывод (stdout) команды в файл.
Проверяю результат:
more 1WPV.info
USA | Database | Name | Accession | Type | Length | Organism | Description |
sw-id:HUTP_BACSU | sw | HUTP_BACSU | P10943 | P | 148 | Bacillus subtilis | Hut operon positive regulatory protein |
4. Записываю информацию о программе infoseq в файл.
Команда infoseq -help (а также man infoseq) выдает на терминал информацию о программе "infoseq". На терминал выдаются и stdout, и stderr. Но команда infoseq -help > infoseq.help приводит к созданию пустого файла. Символ > перенаправляет в файл только stdout, следовательно, информация о программе "infoseq" на терминале представляла собой stderr поток. Отправляю его в файл командой:
infoseq -help 2> infoseq.help
Существуют следующие файловые дескрипторы:
0 - stdin - стандартный поток ввода;
1 - stdout - стандартный поток вывода;
2 - stderr - стандартный поток ошибок.
Для операций с этими дескрипторами, используют символы:
> (перенаправление вывода, используемое и в пункте 3),
>> (добавление вывода в конец файла),
< (перенаправление ввода),
& указывает на дескриптор stdout (&>myfile - перенаправление вывода и ошибок в myfile; 2>&1 - перенаправление вывода ошибок на стандартный вывод).
5. Используя "*" в имени последовательности нахожу такие же белки в других видах рода Bacillus.
В идентификаторе HUTP_BACSU, код вида: BACSU образован из BACillus SUbtilis. Поэтому использую команду:
infoseq sw:hutp_bac* > bac.info
Число строк в ответе равно 20. Вприципе, вместо звездочки можно было использовать, например, ??. Звездочка *, вопросительный знак ? и квадратные скобки [ ] используются для "масок" имен файлов. * - любой объект, ? - один любой символ, [...] - любой символ из указанных в скобках, например, [а-z] - любая строчная буква, а [a-z0-9A-Z] - любая буква или цифра.
6. Повторяю команду из предыдущего задания, используя разные опции изменения выдачи результата.
[-sequence] - стандартный определитель - показывает имя последовательности, различные параметры и примечания (заданные США).
Команда:
infoseq -sequence sw:hutp_bac*
Дополнительные определители:
-outfile - при вводе имени файла программа записывает в него детали последовательности.
Например, при вводе команды:
infoseq -outfile sw:hutp_bac*
sw-id:hutp_bacac
-html - данные выводятся как html-таблица.
Команда:
infoseq -html sw:hutp_bac*
USA | Database | Name | Accession | Type | Length | Organism | Description |
---|---|---|---|---|---|---|---|
sw-id:HUTP_BACA2 | sw | HUTP_BACA2 | A7ZAE3 | P | 148 | Bacillus amyloliquefaciens (strain FZB42) | Hut operon positive regulatory protein |
sw-id:HUTP_BACAA | sw | HUTP_BACAA | C3P4M3 | P | 146 | Bacillus anthracis (strain A0248) | Hut operon positive regulatory protein |
sw-id:HUTP_BACAC | sw | HUTP_BACAC | C3L981 | P | 146 | Bacillus anthracis (strain CDC 684 / NRRL 3495) | Hut operon positive regulatory protein |
sw-id:HUTP_BACAH | sw | HUTP_BACAH | A0RH40 | P | 146 | Bacillus thuringiensis (strain Al Hakam) | Hut operon positive regulatory protein |
sw-id:HUTP_BACAN | sw | HUTP_BACAN | Q81Y44 | P | 146 | Bacillus anthracis | Hut operon positive regulatory protein |
sw-id:HUTP_BACC0 | sw | HUTP_BACC0 | B7JI81 | P | 146 | Bacillus cereus (strain AH820) | Hut operon positive regulatory protein |
sw-id:HUTP_BACC1 | sw | HUTP_BACC1 | Q733H7 | P | 146 | Bacillus cereus (strain ATCC 10987) | Hut operon positive regulatory protein |
sw-id:HUTP_BACC2 | sw | HUTP_BACC2 | B7ISJ3 | P | 146 | Bacillus cereus (strain G9842) | Hut operon positive regulatory protein |
sw-id:HUTP_BACC3 | sw | HUTP_BACC3 | C1EN94 | P | 146 | Bacillus cereus (strain 03BB102) | Hut operon positive regulatory protein |
sw-id:HUTP_BACC4 | sw | HUTP_BACC4 | B7HCD1 | P | 146 | Bacillus cereus (strain B4264) | Hut operon positive regulatory protein |
sw-id:HUTP_BACC7 | sw | HUTP_BACC7 | B7HKJ2 | P | 146 | Bacillus cereus (strain AH187) | Hut operon positive regulatory protein |
sw-id:HUTP_BACCE | sw | HUTP_BACCE | Q8GCJ0 | P | 132 | Bacillus cereus | Hut operon positive regulatory protein (Fragment) |
sw-id:HUTP_BACCN | sw | HUTP_BACCN | A7GR01 | P | 146 | Bacillus cereus subsp. cytotoxis (strain NVH 391-98) | Hut operon positive regulatory protein |
sw-id:HUTP_BACCQ | sw | HUTP_BACCQ | B9IUH1 | P | 146 | Bacillus cereus (strain Q1) | Hut operon positive regulatory protein |
sw-id:HUTP_BACCR | sw | HUTP_BACCR | Q81AC5 | P | 146 | Bacillus cereus (strain ATCC 14579 / DSM 31) | Hut operon positive regulatory protein |
sw-id:HUTP_BACCZ | sw | HUTP_BACCZ | Q637H7 | P | 146 | Bacillus cereus (strain ZK / E33L) | Hut operon positive regulatory protein |
sw-id:HUTP_BACHD | sw | HUTP_BACHD | Q9KBE7 | P | 147 | Bacillus halodurans (strain ATCC BAA-125 / DSM 18197 / FERM 7344 / JCM 9153 / C-125) | Hut operon positive regulatory protein |
sw-id:HUTP_BACHK | sw | HUTP_BACHK | Q6HFE8 | P | 146 | Bacillus thuringiensis subsp. konkukian (strain 97-27) | Hut operon positive regulatory protein |
sw-id:HUTP_BACSU | sw | HUTP_BACSU | P10943 | P | 148 | Bacillus subtilis | Hut operon positive regulatory protein |
sw-id:HUTP_BACWK | sw | HUTP_BACWK | A9VPT9 | P | 146 | Bacillus weihenstephanensis (strain KBAB4) | Hut operon positive regulatory protein |
Продвинутые определители:
-[no]columns - настройка вывода информации в виде четких, выровненных колонок, либо в виде записей с разделителями, которые настраиваются опцией -delimeter.
Командой:
infoseq nocolumns sw:hutp_bac* > nocolumns.txt
-delimeter - [| - по умолчанию] обычно один символ, используемый для разделения индивидуальных записей в файле вывода.
-only - помогает сократить файл вывода. Можно также использовать -nohead, -noname, -nolength, -noacc, -notype, -nopgc, -nodesc и др., что позволяет исключить выбранный параметр.
Например, используя команду
infoseq -only -length sw-id:hutp_bac*
-[no]heading - настройка показа заголовков колонок.
Общий определитель:
-help.
7. Создаю описание infoseq и ее параметров (см. пункт 6).
Команда entret - получает записи из неструктурированных баз данных и файлов. Читает одну или более полных последовательностей из базы данных или файла и записывает их в текстовый файл.
Например, чтобы получить документ для моего белка, задаю команду:
entret sw:hutp_bacsu
Далее необходимо ввести имя файла:
Full text of a sequence database entry output file [hutp_bacsu.entret]: hutp_bacsu
В итоге в моей дирректории появился файл hutp_bacsu.entret.
Команда showdb - выдает информацию из доступных баз данных. Не требует обязательных аргументов. Отображает таблицу с названиями, содержимым и методами доступа к последовательностям, доступных для установленного пакета EMBOSS.
Командой:
showdb -html
получаю вывод информации в виде html-таблицы:
Name | Type | ID | Qry | All | Comment |
---|---|---|---|---|---|
ref100 | Protein | OK | OK | OK | UniProt Reference Clusters - UniRef100 |
ref50 | Protein | OK | OK | OK | UniProt Reference Clusters - UniRef50 |
ref90 | Protein | OK | OK | OK | UniProt Reference Clusters - UniRef90 |
sw | Protein | OK | OK | OK | UniProtKB/Swiss-Prot Release 2011_12 of 14-Dec-2011 |
trembl | Protein | OK | OK | OK | UniProtKB/TrEMBL Release 2011_12 of 14-Dec-2011 |
embl | Nucleotide | OK | OK | - | EMBL from EBI SRS server |
genbank | Nucleotide | OK | OK | OK | GenBank from MRS on CMBI |
Командой:
showdb -database ref50 -html
получаю информацию о базе данных ref50:
Name | Type | ID | Qry | All | Comment |
---|---|---|---|---|---|
ref50 | Protein | OK | OK | OK | UniProt Reference Clusters - UniRef50 |
С помощью -only можно сократить файл вывода, использовав необходимые параметры: -heading, -type, -id, -query, -all, -comment (-full отображает всю информацию).
Имется множество других параметров, например -nonucleic или -noprotein исключает из списка базы данных нуклеиновых кислот или белковых последовательностей.
Программы парного выравнивания
В EMBOSS есть четыре программы, выдающие парное выравнивание: needle, water, stretcher и matcher. Все четыре программы можно запустить (с параметрами по умолчанию) примерно одинаковым образом. Например, чтобы выровнять программой stretcher последовательности, находящиеся в файлах seq1.fasta и seq2.fasta, нужно выполнить команду:
Здесь alignment.stretcher — имя файла, в котором окажется результат. Общий синтаксис:
(если "-auto" опустить, то needle и water спросят, какие применять штрафы за пробелы). Здесь usa1 и usa2 — адреса двух последовательностей, outfile — имя выходного файла.
Программы needle и stretcher выдают оптимальное полное выравнивание.
Стандартные определители:
[-asequence] - имя последовательности, дополнительный формат или адрес (США).
[-bsequence] - имя последовательности(тей), дополнительный формат или адрес (США).
-gapopen - штраф за открытие гэпа (по умолчанию равен 10.0), может быть от 1.0 до 100.0.
-gapextend - штраф за продление гэпа (по умолчанию равен 0.5), может быть от 0.0 до 10.0.
[-outfile] - название выходного файла с выравниванием.
Дополнительные определители:
-datafile - матрица весов (по умолчанию используется EBLOSUM62 для белков и EDNAFULL для ДНК).
-endweight - применение штрафа за концевой геп.
-endopen - штраф за открытие конечного гэпа (по умолчанию равен 10.0), может быть от 1.0 до 100.0.
-endextend - штраф за продление конечного гэпа (по умолчанию равен 0.5), может быть от 0.0 до 10.0.
Используя команду:
Получаю файл prot.needle с полным выравниванием, применяя матрицей весов замен BLOSUM62, штраф за открытие гэпа, равным 11, а за продолжение - 1 (параметры, используемые по умолчанию в BLASTp).
Стандартные определители:
[-asequence] - имя последовательности, дополнительный формат или адрес (США).
[-bsequence] - имя последовательности, дополнительный формат или адрес (США).
[-outfile] - название выходного файла с выравниванием.
Дополнительные определители:
-datafile - матрица весов (по умолчанию используется EBLOSUM62 для белков и EDNAFULL для ДНК).
-gapopen - штраф за открытие гэпа (по умолчанию равен 12 для белков, 16 - для нуклеиновых кислот).
-gapextend - штраф за продление гэпа (по умолчанию равен 2 для белков, 4 - для нуклеиновых кислот).
Используя команду:
Получаю выравнивание shortseqs.stretcher.
Программа water выдает оптимальное частичное выравнивание.
Стандартные определители:
[-asequence] - имя последовательности, дополнительный формат или адрес (США).
[-bsequence] - имя последовательности, дополнительный формат или адрес (США).
[-outfile] - название выходного файла с выравниванием.
Дополнительные определители:
-datafile - матрица весов (по умолчанию используется EBLOSUM62 для белков и EDNAFULL для ДНК).
Используя команду:
Получаю файл prot.water с частичным выравниванием, применяя матрицей весов замен BLOSUM62, штраф за открытие гэпа, равным 11, а за продолжение - 1 (параметры, используемые по умолчанию в BLASTp).
Программа matcher выдаёт несколько (по умолчанию три) частичных выравниваний с наибольшим весом.
Стандартные определители:
[-asequence] - имя последовательности, дополнительный формат или адрес (США).
[-bsequence] - имя последовательности, дополнительный формат или адрес (США).
[-outfile] - название выходного файла с выравниванием.
Дополнительные определители:
-datafile - матрица весов (по умолчанию используется EBLOSUM62 для белков и EDNAFULL для ДНК).
-alternatives - количество альтернативных выравниваний (по умолчанию строится одно).
-gapopen - штраф за открытие гэпа (по умолчанию равен 14 для белков, 16 - для нуклеиновых кислот).
-gapextend - штраф за продление гэпа (по умолчанию равен 4).
Используя команду:
Получаю файл aligns.matcher, содержащий 4 локальных выравнивания.
Программа seqret читает и записывает запрошенные последовательности в файл.
Стандартные определители:
[-sequence] - имя последовательности, дополнительный формат или адрес (США).
[-outseq] - имя и формат выходного файла.
Продвинутые определители:
-feature - использование дополнительной информации.
-firstonly - остановка после чтения одной последовательности.
Используя команду:
Получаю файл hutp_bacsu.seqret.
Программы множественного выравнивания
Программа consambig создает неоднозначную согласованную (консенсусную) последовательность из множественного выравнивания.
Программа подсчитывает консенсусные последовательности из множественного выравнивания. Для того чтобы получить консенсус, а.о. или нуклеотиды в каждой позиции сравниваются с возможно неоднозначными. Консенсусная последовательность использует минимальный код пары.
Стандартные определители:
[-sequence] - файл, содержащий последовательность выравнивания.
[-outseq] - имя и формат выходного файла с последовательностью.
Дополнительные определители:
-name - название консенсусной последовательности (любая строка).
Использую команду:
Получаю файл delta_consambig.fasta.
Программа distmat создает матрицу эволюционных расстояний для последовательности множественного выравнивания.Программа вычисляет расстояние между парами последовательностей, при этом предлагается множество методов оценки эволюционных расстояний. Выходной файл представляет собой матрицу расстояний для набора последовательностей.
Описание программы довольно большое, включает ряд параметров.
Использую команду:
Получаю файл delta.distmat.
Программа plotcon характеризуется графической выдачей, строит консервативность выравнивания последовательностей, вычисляя схожесть в определённых участках выравнивания с учётом весов замен, взятых из матрицы схожести.Описание программы довольно большое, включает ряд параметров.
По умолчанию программа выдает картинку на экран монитора, но связь посредством Putty этого не позволяет, поэтому на вопрос "Graph type" нужно отвечать не по умолчанию ("x11"), а указать один из возможных форматов выходного файла: "data", "ps", "gif", "png", "pdf". Если указать "data", программа сформирует текстовый файл с таблицей, пригодный для импорта в Excel. В остальных случаях будет создан графический файл соответствующего формата.
Использую команду:
Получаю файл plotcon.1.gif, представляющий собой график:
Командная оболочка Bash
Bash (от Bourne Again Shell, усовершенствованная и модернизированная вариация командной оболочки Bourne shell) - одна из наиболее популярных современных разновидностей командной оболочки UNIX; основная облочка для работы в командной строке в большинстве Linux-систем.
8. Нахожу у себя файл имя которого содержит "bash_history".
C помощью команды find нахожу в своей домашней директории файл, содержащий в своем имени строку "bash_history":
find ~ -name '*bash_history*'
По поводу кавычек:
".." - выражение объединяется и интерпретируется;
'..' - выражение объединяется, но не интерпретируется;
`..` - выражение выполняется.
В итоге получаю путь к данному файлу:
/home/students/y11/eugeniaprokhorova/.bash_history
Но команда ls изначально не показывает этот файл, являющийся скрытым. Скрытые файлы большей частью содержат дополнительные настройки для программ, диспетчеров окон, оболочек и т.п. Скрыты они для предотвращения случайных вмешательств пользователя, уменьшения количества ненужной информации при повседневном поиске.
В файл .bash_history, находящийся в домашнем каталоге, bash записывает историю команд, чтобы она сохранялась между сеансами работы пользователя. Делается это в момент завершения оболочки: накопленная за время работы история дописывается в конец этого файла. При следующем запуске bash считывает .bash_history целиком. Количество запоминаемых команд в .bash_history по умолчанию обычно ограничено 500-ми командами. Просмотреть историю можно, выполнив команду history. Символ ! можно использовать для вызова выполненной ранее команды. Например !14 запускает 14-ую команду из листа истории, а !! - последнюю команду.
Чтобы включить скрытые директории и файлы (начинающиеся с точки) в список можно использовать команду:
ls -a
ls -al(l)
9. Нахожу у себя файл с пробелом в имени.
Воспользовалась командой find, находясь в домашней директории:
find . -name '* *'
find ./Term1 -name '* *'
./Term1/Block1/Credits/new 2.txt
cd Term1/Block1/Credits
mv new\ \ 2.txt new2.txt
Проверяю, файл переименовался.
Команда wc - счетчик символов, слов и строк. По умолчанию результатом выполнения команды является отображение количества символов, слов и строк в заданном файле. Если файл не указан или указано значение -, то команда считывает стандартный ввод.
Некоторые опции:
-c (--bytes) - подсчитывает количество байтов;
-m (--chars) - подсчитывает количество символов;
-l (--lines) - подсчитывает количество строк;
-L (--max-line-length) - подсчитывает длину самой длинной строки;
-w (--words) - подсчитывает количество слов.
Например команда:
wc hutp_bacsu
Результат:
224 1434 11030 hutp_bacsu, где 224 - число строк, 1434 - число слов, 11030 - число букв в файле.
Bash EMBOSS© Eugenia Prokhorova 2011