Учебный сайт Кирилла Цуканова → Второй семестр

Linux

Интерпретатор командной строки bash

man bash
ABS: Chapter 3. Special Characters
ABS: Chapter 20. I/O Redirection

Команда infoseq из пакета EMBOSS

man infoseq
tfm -program infoseq

  1. Стандартный вывод: infoseq sw:yvdd_bacsu

    USA                      Database       Name           Accession      Type Length Organism            Description
    sw-id:YVDD_BACSU         sw             YVDD_BACSU     O06986         P    191    Bacillus subtilis   LOG family protein yvdD

    На самом деле, вывод немножко не такой, почему-то перед заголовком Name стабильно не хватает пяти пробелов, из-за чего вся остальная строка заголовка безнадежно сбивается. Здесь и далее это поправлено ручками.

  2. Записать информацию о белке можно командой infoseq sw:yvdd_bacsu > yvdd_bacsu.info.

  3. Чтобы записать в файл информацию о программе, нужно перенаправить STDERR: infoseq -help 2> infoseq.info.

  4. Учитывая, что название гену yvdD было дано по порядку его расположения в цепи ДНК, искать схожие гены у других бактерий рода Bacillius, скажем так, бессмысленно. Будем считать, что крайний случай наступил и поищем белок с уже вполне осмысленным названием RS3 среди бацилл: infoseq sw:RS3_BAC*

    USA                      Database       Name           Accession      Type Length Organism            Description 
    sw-id:RS3_BACA2          sw             RS3_BACA2      A7Z0P4         P    218    Bacillus amyloliquefaciens (strain FZB42) 30S ribosomal protein S3
    sw-id:RS3_BACAH          sw             RS3_BACAH      A0R8I6         P    219    Bacillus thuringiensis (strain Al Hakam) 30S ribosomal protein S3
    sw-id:RS3_BACAN          sw             RS3_BACAN      Q81VS4         P    219    Bacillus anthracis  30S ribosomal protein S3
    sw-id:RS3_BACC1          sw             RS3_BACC1      Q73F90         P    219    Bacillus cereus (strain ATCC 10987) 30S ribosomal protein S3
    sw-id:RS3_BACCN          sw             RS3_BACCN      A7GK26         P    219    Bacillus cereus subsp. cytotoxis (strain NVH 391-98) 30S ribosomal protein S3
    sw-id:RS3_BACCR          sw             RS3_BACCR      Q81J36         P    219    Bacillus cereus (strain ATCC 14579 / DSM 31) 30S ribosomal protein S3
    sw-id:RS3_BACCZ          sw             RS3_BACCZ      Q63H84         P    219    Bacillus cereus (strain ZK / E33L) 30S ribosomal protein S3
    sw-id:RS3_BACFN          sw             RS3_BACFN      Q5L8B5         P    244    Bacteroides fragilis (strain ATCC 25285 / NCTC 9343) 30S ribosomal protein S3
    sw-id:RS3_BACFR          sw             RS3_BACFR      Q64NL4         P    244    Bacteroides fragilis (strain YCH46) 30S ribosomal protein S3
    sw-id:RS3_BACHD          sw             RS3_BACHD      Q9Z9K8         P    219    Bacillus halodurans (strain ATCC BAA-125 / DSM 18197 / FERM 7344 / JCM 9153 / C-125) 30S ribosomal protein S3
    sw-id:RS3_BACHK          sw             RS3_BACHK      Q6HPQ2         P    219    Bacillus thuringiensis subsp. konkukian (strain 97-27) 30S ribosomal protein S3
    sw-id:RS3_BACLD          sw             RS3_BACLD      Q65PA1         P    218    Bacillus licheniformis (strain DSM 13 / ATCC 14580) 30S ribosomal protein S3
    sw-id:RS3_BACP2          sw             RS3_BACP2      A8F991         P    218    Bacillus pumilus (strain SAFR-032) 30S ribosomal protein S3
    sw-id:RS3_BACSK          sw             RS3_BACSK      Q5WLQ6         P    220    Bacillus clausii (strain KSM-K16) 30S ribosomal protein S3
    sw-id:RS3_BACSU          sw             RS3_BACSU      P21465         P    218    Bacillus subtilis   30S ribosomal protein S3 (BS3) (BS2)
    sw-id:RS3_BACTN          sw             RS3_BACTN      Q8A482         P    243    Bacteroides thetaiotaomicron (strain ATCC 29148 / DSM 2079 / NCTC 10582 / E50 / VPI-5482) 30S ribosomal protein S3
    sw-id:RS3_BACV8          sw             RS3_BACV8      A6KYI9         P    243    Bacteroides vulgatus (strain ATCC 8482 / DSM 1447 / NCTC 11154) 30S ribosomal protein S3
    

    Эволюция в действии, ня ^__^. Можно заметить, что в вывод попали не только Bacillus, но и Bacteroides. Почему им сделали в базе одинаковые трехбуквенные алиасы — уж этого я не ведаю.

  5. Параметры команды infoseq:

    • -columns — вывод форматированными колонками, включен по умолчанию, -columns N дает примерно такой результат:

      USA|Database|Name|Accession|Type|Length|Organism|Description
      sw-id:YVDD_BACSU|sw|YVDD_BACSU|O06986|P|191|Bacillus subtilis|LOG family protein yvdD
    • -delimeter позволяет заменять дефолтный | на что угодно

    • -outfile задает выводной файл

    • -html выдает, как легко догадаться, табличку в HTML-разметке. (Где-то на этом месте мне уже наскучило пересказывать ман.)

    • -heading, -usa, -database, -name, -accession, -type, -length, -organism, -description позволяют включать/выключать столбцы, с помощью -only можно задать только те, которые нужны. Например: infoseq -only -name -length -organism

      Name           Length Organism            
      YVDD_BACSU     191    Bacillus subtilis
    • Параметры -gi и -seqversion, выключенные по умолчанию, показывают соответственно идентификатор в GenBank (если есть) и ревизию (версию) последовательности. Еще один параметр -pgc (процент GC) упоминается в мане и даже должен быть включен по умолчанию, но упорно не работает и даже не показывается в списке столбцов.

  6. Теперь два задания с башем. Первое: найти файл, содержащий в названии bash_history. Легко: find ~ -name *bash_history*. Экранирование, в общем-то, не потребовалось, но да, я знаю, что оно выполняется с помощью \. Да, .bash_history нашелся, да, не показывается ls (точка в начале — скрытый файл), да, показывается с --almost-all (мы же не хотим видеть в выдаче . и ..?).

  7. Файл с пробелом: find ~ -name \*\ \* — нашелся, и не один :D

    /home/students/y11/unknown__user/video/Sample Pictures.lnk
    /home/students/y11/unknown__user/Application Data
    /home/students/y11/unknown__user/.config/chromium/Default/Web Data
    /home/students/y11/unknown__user/.config/chromium/Default/Top Sites
    /home/students/y11/unknown__user/.config/chromium/Default/User StyleSheets
    /home/students/y11/unknown__user/.config/chromium/Default/History Provider Cache
    /home/students/y11/unknown__user/.config/chromium/Default/Archived History
    /home/students/y11/unknown__user/.config/chromium/Default/Visited Links
    /home/students/y11/unknown__user/.config/chromium/Default/History Index 2011-09
    /home/students/y11/unknown__user/.config/chromium/Default/Local Storage
    /home/students/y11/unknown__user/.config/chromium/Default/History Index 2011-10
    /home/students/y11/unknown__user/.config/chromium/Default/History Index 2012-02
    /home/students/y11/unknown__user/.config/chromium/Default/Login Data
    /home/students/y11/unknown__user/.config/chromium/Default/History Index 2011-11
    /home/students/y11/unknown__user/.config/chromium/Default/History Index 2011-12
    /home/students/y11/unknown__user/.config/chromium/Default/Last Tabs
    /home/students/y11/unknown__user/.config/chromium/Default/Application Cache
    /home/students/y11/unknown__user/.config/chromium/Default/Current Tabs
    /home/students/y11/unknown__user/.config/chromium/Default/Last Session
    /home/students/y11/unknown__user/.config/chromium/Default/Current Session
    /home/students/y11/unknown__user/.config/chromium/First Run
    /home/students/y11/unknown__user/.config/chromium/Safe Browsing Bloom Filter 2
    /home/students/y11/unknown__user/.config/chromium/Local State
    /home/students/y11/unknown__user/.config/chromium/Safe Browsing Download
    /home/students/y11/unknown__user/.config/chromium/Safe Browsing Bloom
    /home/students/y11/unknown__user/.config/chromium/Safe Browsing Csd Whitelist