Описания программ

EMBOSS (European Molecular Biology Open Software Suite)

infoseq

Эта команда используется для получения информации о белках и нуклеиновых кислотах. Меня интресует информация о белке KAD_BACSU. Чтобы ее получить нужно соблюсти следующий синтаксис команды:
infoseq sw:kad_bacsu
Где sw - сокращение от названия базы данных SwissProt, а kad_bacsu - идентификатор белка в этой базе. При написание этой команды без дополнительных параметров на выходе получаем следующее:
USA                      Database  Name           Accession      Type Length Organism            Description
sw-id:KAD_BACSU          sw             KAD_BACSU      P16304         P    217    Bacillus subtilis (strain 168) Adenylate kinase (AK) (2.7.4.3)
(ATP-AMP transphosphorylase) (Superoxide-inducible protein 16) (SOI16)
Где USA - сокращение от Uniform Sequence Address (полный адрес последовательности), Database - база данных, Name - название белка, Accession - код доступа, Lenght - длина, Type - тип, Organism - организм носитель данного белка и Description -описание. Каждой колонке соответствует свой аргумент: -name, -usa и т. д. У команды infoseq есть несколько вариаций. Например, она может выдать результат, написанный ввиде html-таблицы. Для этого надо набрать команду так:
infoseq -html sw:kad_bacsu
В браузере результат выглядит следующим образом:
USADatabaseNameAccessionTypeLengthOrganismDescription
sw-id:KAD_BACSUswKAD_BACSUP16304P217Bacillus subtilis (strain 168)Adenylate kinase (AK) (2.7.4.3) (ATP-AMP transphosphorylase) (Superoxide-inducible protein 16) (SOI16)

Также можно выбирать нужные столбцы таблицы, для этого используется аргумент -only, например:
infoseq -only -accession -description sw:kad_bacsu
Команда написанная таким образом будет выдавать только указанные столбцы:
Accession      Description
P16304         Adenylate kinase (AK) (2.7.4.3) (ATP-AMP transphosphorylase) (Superoxide-inducible protein 16) (SOI16)
Аргумент -only можно сочетать с аргументом -html:
infoseq -only -accession -description -html sw:kad_bacsu
AccessionDescription
P16304Adenylate kinase (AK) (2.7.4.3) (ATP-AMP transphosphorylase) (Superoxide-inducible protein 16) (SOI16)
Команда предусматривает еще и исключение отдельных ненужных столбцов. Это удобно, когда их меньшинство. Чтобы исключить ненужную информацию из выводного потока нужно приписать no к аргументам соответсвующих столбцов:
infoseq -nodescription -notype sw:kad_bacsu
USA                      Database  Name           Accession      Length Organism
sw-id:KAD_BACSU          sw             KAD_BACSU      P16304         217    Bacillus subtilis (strain 168)
Здесь тоже, естественно, присутствует сочетамость с html-форматом:
USADatabaseNameAccessionLengthOrganism
sw-id:KAD_BACSUswKAD_BACSUP16304217Bacillus subtilis (strain 168)
С помощью команды infoseq можно узнать текущий номер версии пакета EMBOSS, для этого вместо аргумента пишут -version:
infoseq -version
EMBOSS:6.4.0.0
Помимо прочего, команда infoseq имеет альтернативный способ перенаправления потока вывода в файл. Чтобы его использовать, следует поставить аргумент -outfyle:
infoseq -outfyle [путь] sw:kad_bacsu

infoalign

Эта команда дает информацию о выравниваниях. Она во многом похожа на команду infoseq, ее синтаксис таков:
infoalign [файл.fasta]
Результат выдается ввиде таблицы, в которой указаны основные параметры выравнивания: названия белков (name), длина белков (sequence lenght), длина выравнвивания (aligned lenght), количество открытых гэпов (gap), длина гэпов (gap lenght), идентичность (identity), сходство (similarity), число разлчных позиций (difference), процент замен (change), вес (? weight), описание (description).
# USA             Name        SeqLen	AlignLen	Gaps	GapLen	Ident	Similar	Differ	% Change	Weight	Description
fasta::SU_CQ.fasta:KAD_BACSU/1-217	KAD_BACSU/1-217	217	217	0	0	217	0	0	0.000000	1.000000	Adenylate kinase;
fasta::SU_CQ.fasta:KAD_BACCQ/1-216	KAD_BACCQ/1-216	216	216	0	0	156	27	33	27.777779	1.000000	Adenylate kinase;
 
Эту таблицу можно представить в формате html, если добавить аргумент -html.
USANameSequence LengthAligned LengthGapsGap LengthIdentitySimilarityDifference% ChangeWeightDescription
fasta::SU_CQ.fasta:KAD_BACSU/1-217 KAD_BACSU/1-217 217 217 0 0 217 0 0 0.000000 1.000000 Adenylate kinase;
fasta::SU_CQ.fasta:KAD_BACCQ/1-216 KAD_BACCQ/1-216 216 216 0 0 156 27 33 27.777779 1.000000 Adenylate kinase;
Здесь, как и в команде infoseq, можно использовать аргумент -only, чтобы выводить конкретные параметры выравнивания
infoalign -only -gapcount -description SU_CQ.fasta
0	Adenylate kinase;
0	Adenylate kinase;
Опять же можно исключать некоторые столбцы, уберем, например столбец веса и столбец схожести
infoalign -only -noweight -nosimcount SU_CQ.fasta

Заметим, что в аргументах параметры вводяться в сокращенном виде.

showdb

Эта команда выводит текущую информацию о состоянии баз данных, к которым можно получить доступ через EMBOSS. Так выглядит выдача команды:
Displays information on configured databases
# 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 2013_01 of 09-Jan-2013
trembl         Protein    OK  OK  -   TrEMBL from EBI SRS server
embl           Nucleotide OK  OK  -   EMBL from EBI SRS server
genbank        Nucleotide OK  OK  OK  BROKEN! Please, use dkfz:genbank:... instead!
taxon          Taxonomy   OK  OK  OK
drcat          Resource   OK  OK  OK
eco            Obo        OK  OK  OK
edam           Obo        OK  OK  OK
go             Obo        OK  OK  OK
pw             Obo        OK  OK  OK
ro             Obo        OK  OK  OK
so             Obo        OK  OK  OK
   

bash

Потоки

Любая команда в bash имеет три потока: stdin (вводной), stdout (выводной) и stderr (поток ошибок).
Stdin - это то, что пользователь набирает на клавиатуре. Этот поток обозначается <.
Stdout - один из двух выводных потоков, отображается на экране после нажатия клавиши enter, содержащий правильные резульаты действия программы, обозначается он > или 1>.
Stderr - второй выводной поток, содержащий ошибочные результаты действия программы, выводится на экран вместе с stdout. Обозначается 2>.
Пока потоки не выносятся за пределы окна bash сложно разделить stderr и stdout, но при перенаправлении потоков они отделяются. Если написать после команды > и имя файла, то stdout окажется там, а не на экране. Аналогично для stderr используется 2>, в файле окажется список ошибок программы. Можно перенаправить эти два потока в файл вместе с помощью &>, тогда в файле окажется абсолютно то же самое, что было бы видно на экране без перенаправления. Следует учесть, что команда (и так часто бывает) не выдает ошибок и тогда то, что появляется в окне bash и есть stdout.
Пара примеров:
ls -R > [путь]
Такая команда запишет список файлов и поддиректорий в указанный файл.
pwd 2> [путь]
Эта команда запишет ошибки программы при определнии адреса директории (если они вдруг найдутся) в указанный файл.
Bash позволяет не только перенаправлять потоки в файлы, но и направлять выходные потоки одних команд во входные потоки других команд. Это делается с помощью значка |.
Еще пара примеров:
ls -R | wc -w
Такая команда посчитает количество файлов и поддиректорий в текущей директории (мой результат относительно домашней директории - 372).
touch [файл] | less
Такая команда создаст файл и сразу же его откроет (правда, он будет пуст).

Спецсимволы

В bash существует набор спецсимволов, которые иногда упрощают работу с некоторыми командами. Вот некоторые из них.
Символ * обычно ставится в именах файлов и директорий. * обозначает то место, где может стоять любой набор символов, например команда
grep *.txt
найдет и выведет на экран все файлы в формате txt в текущей директории.
У символа ? похожая функция. Он обозначает, что на этом месте стоит любой символ, но он единственен. Команда
rm ??.jpg
удалит все файлы в формате jpg, у которых название состоит из двух символов.
Квадратные скобки ограничивают набор символов на данной позиции, например, [1-9] означает, что на этом месте стоит цифра. Можно сильнее сузить разнообразие потенциальных символов, например [abc] значит, что на этом месте стоит любой из символов a,b и c.
Есть также спецсимвол, позволяющий задать символ начала строки. Например, команда
 grep ^y [файл]
найдет в файле строки, начинающиеся с y.



Главная страница Первый семестр Второй семестр Обо мне Ссылки

© Марк Меерсон, 2013
Последнее обновление: 17.02.2013