"Описание программ"

Команда infoseq пакета EMBOSS. Примеры её использования

№1 Терминал Linux

Итак, первое задание комментировать даже не стоит, скажу лишь только, что я открыл терминал linux через Putty.

№2 Создаём директорию Pr1

Используя команду mkdir я создал директории Term2, потом Block1, Practices, а потом уже Pr1. Результат выполнения
этих команд я проверял, используя команду ls, показывающую список моих файлов и катологов в данной директории.
Ну и ещё проверял с помощью Far, на всякий случай.

N3 Получаем информацию о нашем белке

Сначала я ввёл такую команду:infoseq sw:GLSA1_BACSU, и посмотрел, что она показывает. Затем, я ввёл следующее
< infoseq sw:GLSA1_BACSU > 1MKI.info. Я проверил свой файл, и там имеется всё то же самое. Я привожу ссылку на
него, чтобы вы могли увидеть, как он выглядит на самом деле. "1MKI.info"

Информация о моём белке
USA Database Name Accession Type Length Organism Description
sw-id:GLSA1_BACSU sw GLSA1_BACSU O31465 P 327 Bacillus subtilis Glutaminase 1 (3.5.1.2)

№4 Информация о программе infoseq


Я ввёл команду infoseq -help и посмотрел на описание команды. Затем я ввёл следующее: infoseq -help > infoseq.info.
Файл был создан, но он оказался пуст. Стандартный вывод здесь, оказывается, место не имеет. Потому что, когда
я ввёл команду infoseq -help 2> infoseq.info, то вся информация сразу появилась в файле.
Просто ведь 2 - это индентификатор потока, соответствующий ошибке (stderr). Вот мой файл, чтобы вы могли убедиться "infoseq.info"


№5 Поиск таких же белков в других видах рода Bacillus


Мой белок называется GLSA1_BACSU, родовое название здесь это BAC.Чтобы найти такие же белки у других бактерий из этого же рода, я сделал следующий запрос infoseq sw:"GLSA1_BAC*". * - это маска, которая позволяет найти остальные белки с тем же самым родовым, но уже с другим видовым названием. В итоге у меня получилось найти ещё 3 белка, то есть вместе с моим их всего 4. Чтобы вы могли увидеть, какой я получил результат, я выложил этот файл. Он несёт информацию о найденных мною белках: "Otherpr.info"

Результаты моих поисков

USA Database Name Accession Type Length Organism Description
sw-id:GLSA1_BACSU sw GLSA1_BACSU O31465 P 327 Bacillus subtilis Glutaminase 1 (3.5.1.2)
sw-id:GLSA1_BACAN sw GLSA1_BACAN Q81YY0 P 309 Bacillus anthracis Glutaminase 1 (3.5.1.2)
sw-id:GLSA1_BACCR sw GLSA1_BACCR Q81IB3 P 309 Bacillus cereus Glutaminase 1 (3.5.1.2)
sw-id:GLSA1_BACHD sw GLSA1_BACHD Q9K9L8 P 308 Bacillus halodurans Glutaminase 1 (3.5.1.2)

№6 Разные выводы данных.

Ответ зависит от того, что понимать под формулировкой вывода данных. Вот, например, можно выаполнить следующие команды:
infoseq sw:"GLSA1_BAC*" 0> bacteria.info
infoseq sw:"GLSA1_BAC*" 1> bacteria.info
infoseq sw:"GLSA1_BAC*" 2>bacteria.info
Здесь просто используются разные идентификаторы потока.Когда идентификатор 0 (стандартный ввод) - в файле ничего не появляется. Когда он равен 1 (стандартный вывод), вся информация попадает в файл. Когда он равен 2 (идентификатор ошибки), в файл попадает только запись "Display basic information about sequences".
Но возможны и другие способы. Вот, например, такие команды:
infoseq -nocolumns sw:"GLSA1_BAC*" > bacteria.info
infoseq -noname sw:"GLSA1_BAC*" >> bacteria.info
infoseq -only -length sw:"GLSA1_BAC*" >> bacteria.info
infoseq -only -length sw:"GLSA1_BAC*" >> bacteria.info
infoseq -only -length sw:"GLSA1_BAC*" >> bacteria.info
Их результаты вы можете посмотреть в этом файле "Bacteria.info"


№7 Команда infoseq.

Команда Что выполняет Пример
-outfile If you enter the name of a file here then this program will write the sequence details into that file. infoseq sw:"GLSA1_BAC*" -outfile bacteria.info
-html Format output as an HTML table infoseq sw:"GLSA1_BAC*" -html >> bacteria.info
-delimiter This string, which is usually a single character only, is used to delimit individual records in the text output file.It could be a space character, a tab character, a pipe character or any other character or string. (Any string) infoseq sw:"GLSA1_BAC*" -nocolumns -delimiter "><" >> bacteria.info
-only This is a way of shortening the command line if you only want a few things to be displayed. infoseq -only -name sw:"GLSA1_BAC*" >> bacteria.info
-gi Display 'GI' column infoseq -gi sw:"GLSA1_BAC*" >> bacteria.info
-heading Display column headings infoseq -gi sw:"GLSA1_BAC*" >> bacteria.info
-length Display 'length' column infoseq -only -length sw:"GLSA1_BAC*" >> bacteria.info
Вот список команд, которые я освоил. Их результаты вы можете найти в этом файле:"Bacteria.info"


№8 Команда entret.

Команда entret помогает получать заданную информацию (записи) о белке или последовательности из базы данных (Retrieves sequence entries from flatfile databases and files). Так, например, чтобы получить информацию о моём белке, я вводил следующую команду: entret sw:GLSA1_BACSU

№9 Команда showdb.

Команда showdb показывает нам информацию о базах данных (Displays information on configured databases). Можно менять опции вывода. Например, showdb -only -type показывает список баз данных и их тип. Вот списки баз данных и их типы:
DBType
ref100Protein
ref50Protein
ref90Protein
swProtein
tremblProtein
emblNucleotide
genbankNucleotide

№10 Команда needle

Эта команда строит полные оптимальные выравнивания. Если у нас есть два файла в формате fasta, и мы хотим сравнить соответствующие последовательности, то мы может сделать следующее: needle seq1.fasta seq2.fasta align.needle. В последнем файле будет полученное выравнивание. После ввода команды она попросит ввести соответствующие штрафы на гэпы. Если же написать -auto, то данные штрафы будут выставлены самостоятельно (в моём случае были 10 за открытие гэпа и 0.5 за продление).

№11 Команда water

Эта команда строит частичные оптимальные выравнивания. Принцип у неё тот же, что и у команды needle, описанной выше.

№12 Команда matcher

Эта команда выдаёт несколько выравниваний с разным весом. Например, если задать условие -alternatives 3, то мы получим соответствующие 3 выравнивания последовательностей, отличающихся по весу.

№13 Команда stretcher

Команда stretcher схожа с командой needle, то есть тоже строит оптимальное полное выравнивание. Принцип залания команды тот же самый.

№14 Команда seqret

Эта команда делает очень интересную вещь. Если её ввести в командную строку, то потом она предложит вложить в неё последовательность белка (fasta формат). Затем она предложит вам написать название файла (соответственно тоже fasta), в котором будет это последовательность. Иначе говоря, будет создан новый файл. И у нас будет два файла с нашей последовательностью!

Раздел "Bash"

Некоторые команды
pwd сообщает полное имя текущей директории
ls показывает содержимое текущей директории
cp <имя файла 1> <имя файла 2> копирует файл 1 в файл 2
mv <имя файла 1> <имя файла 2> переименовывает файл
mv <имя файла> <имя поддиректории>   перемещает файл в поддиректорию
rm <имя файла> уничтожает файл
mkdir <имя поддиректории> создает поддиректорию
cd <имя поддиректории> переход в поддиректорию
cd .. выход из поддиректории (переход в родительскую директорию)
more <имя файла> просмотр содержимого файла (клавишами "пробел" и "Enter")
man <команда> выдает подробную информацию о команде
Существует три стандартных потока: stdin (стандартный поток вывода, содержит то, что вы набираете на клавиатуре во время работы программы)
stdout (стандартный поток вывода), stderr (стандартный поток ошибки). Их индификаторы соответственно: 0,1 и 2. Примеры их можете посмотреть выше, когда разбирали разные варианты вывода информации в файл.
Перенаправление вывода осуществляется особыми символами > и >>. Первый символ приводит к тому, что какая-то информация записывается в данный файл, как к примеру в выше разобранных командах. infoseq sw:GLSA1_BACSU > 1MKI.info - эта команда записывает всю информацию, которую выдает infoseq sw:GLSA1_BACSU в файл 1MKI.info. Символ >> делает то же самое, но он сохраняет то, что было в этом файле. Например, infoseq sw:"GLSA1_BAC*" -html >> bacteria.info. Мы выполняем эту команду спокойно, так как она ничего не сотрёт в исходном файле. Для направления stdout одной команды на вход (stdin) другой команды используется "pipe" (конвейер), задаваемый знаком | , например: ls -l | more позволяет просмотреть программой more информацию о файлах в текущей директории.

Bash имеет такую особенность. В нём есть спецсимволы, которые он читает, как отдельные операции или команды. Например, маски * и ? используются при поисках файлов. Вот, например, как мы искали похожие белки у других бактерий infoseq sw:"GLSA1_BAC*". Вместо * может стоять любой другой символ, а вот вместо ? - только один. Кавычки тоже играют большую роль, например, двойные кавычки сохраняют для * роль маски. Также хочу отметить, что сочетание \ с любым символом превращается в этот символ.
КОМАНДА WC - команда, выдающая количество строк (-l), слов (-w), байтов (-c), длину самой длинной строки (-L), символов (-m). Бывает очень полезна, например, с её помощью мы считали количество студентов. Ей же мы могли посчитать число запросов. Вот как может выглядеть подобная команда:infoseq -only -description sw:"glsa*_*" | grep "Glutaminase 1" | wc -l

Дополнительные задания

№8 Файл "bash_history"
Чтобы найти файл "bash_history", я ввёл такую команду: find ~ -name "*bash_history*". То есть я ищу файл по его имени (-name), и в домашней директории (~). В итоге я нашёл следующий файл:".bash_history". Что он содержит? Это можно узнать с помощью команды more .bash_history, а вот содержимое этого файла: "bash_history.info". Команда ls этот файл не показывает. Вероятно, причина в том, что имя файла начинается с точки. Делать нечего, забиваем команду man ls. Узнаём, что с помощью команды ls -a, можно показать файлы, которые начинаются с точки. И действительно, это верно. Вот файл, содержащий информацию о поиске с помощью команды ls -a: "ls.info".
№9 Файл с пробелом в имени.
Если я правильно понял задание, то в своей директории нужно найти файл с пробелом в имени. В таком случае, я пользуюсь следующей командой: find ~ -name "* *". И на самом деле, нахожу ряд файлов с пробелами. Вот результаты поиска: "probel.info"


©Novakovsky German