Описания программ
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
В браузере результат выглядит следующим образом:
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) |
Также можно выбирать нужные столбцы таблицы, для этого используется аргумент -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
Accession | Description |
P16304 | Adenylate 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-форматом:
USA | Database | Name | Accession | Length | Organism |
sw-id:KAD_BACSU | sw | KAD_BACSU | P16304 | 217 | Bacillus 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.
USA | Name | Sequence Length | Aligned Length | Gaps | Gap Length | Identity | Similarity | Difference | % 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; |
Здесь, как и в команде 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