abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:44 | IT novinky

    Firma IBM uvedla svůj první mikropočítač Personal Computer před 45 lety, v srpnu 1981. Základní konfigurace modelu 5150 za 1 565 tehdejších dolarů obsahovala desktop s Intel 8088 a 16KB RAM, Color Graphics Adapter a klávesnici. Právě klávesnice Model F/XT vybavené kapacitními spínači, vlivné a s převodníkem dodnes použitelné, připomíná sběratelský web Admiral Shark's Keyboards.

    |🇵🇸 | Komentářů: 0
    včera 14:22 | IT novinky

    Slovensko odhalilo ruské součástky ve dvou testovaných zařízeních na zjišťování přestupků v silničním provozu a označilo je za bezpečnostní riziko. S odvoláním na vyjádření slovenského Národního bezpečnostního úřadu (NBÚ) to včera oznámil ministr vnitra Matúš Šutaj Eštok. Zároveň ohlásil ukončení spolupráce svého úřadu s dodavatelem části uvedeného systému, slovenskou společností Soitron. Opozice, která na problematické kamery upozornila už dříve, vyzvala k odvolání ministra vnitra.

    Ladislav Hagara | Komentářů: 7
    včera 06:00 | IT novinky

    Dle plánu dnes ve 13:00 proběhne veřejný test eDokladů. Jeho cílem je ověřit připravenost aplikace a související infrastruktury na vysokou souběžnou zátěž před podzimními komunálními volbami.

    Ladislav Hagara | Komentářů: 16
    včera 04:11 | Nová verze

    Byla vydána nová verze 3.47 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.13 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    Byla vydána nová verze 26.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Bian-May. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 0
    12.8. 19:00 | IT novinky

    Na akci Made by Google 2026 (YouTube) byla oficiálně představena jedenáctá generace telefonů Pixel s novým čipem Google Tensor G6 a hodinky Pixel Watch 5.

    Ladislav Hagara | Komentářů: 1
    12.8. 17:11 | Bezpečnostní upozornění

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se spolu s partnery z dalších zemí připojil ke společnému upozornění (Joint Cybersecurity Advisory) týkajícímu se probíhající kybernetické kampaně skupiny LAUNDRY BEAR zaměřené na uživatele e-mailové platformy Zimbra Collaboration Suite (ZCS) nejméně od července 2025. NÚKIB doporučuje organizacím využívajícím Zimbra Collaboration Suite neprodleně ověřit, zda

    … více »
    Ladislav Hagara | Komentářů: 2
    12.8. 14:22 | Nová verze

    Intel vydal 42 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20260811 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    12.8. 05:33 | Zajímavý článek

    Sny o designu GNOME Shellu, článek s náhledy a videi, představuje dlouhodobou vizi týmu GNOME pro vylepšení uživatelského rozhraní GNOME Shellu. Zatímco nedávné verze přinášely spíše drobné úpravy, designéři nyní plánují zásadnější změny.

    Ladislav Hagara | Komentářů: 14
    12.8. 05:22 | Nová verze

    Byla vydána nová verze 10.5 sady aplikací pro SSH komunikaci OpenSSH. Přináší řadu důležitých bezpečnostních oprav, vylepšení funkcí a oprav chyb. Nově vyžaduje podporu ECC (Elliptic Curve Cryptography) v libcrypto, včetně křivky NISTP521.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2384 hlasů
     Komentářů: 31, poslední včera 00:27
    Rozcestník


    Dotaz: výběr řádků textu

    15.7.2019 11:33 Honza
    výběr řádků textu
    Přečteno: 416×
    Potřeboval bych pomoct se zpravováním textových souborů. Mám dva textové soubory, kdy v jednom (CP002667.1.txt) je seznam kontigů (kusů DNA), které patří konkrétnímu bakteriálnímu druhu. Čísla kontigů jsou oddělena řádky.

    Ve druhém souboru (G7_ml200contigs.fa) jsou vlastní kontigy, které ovšem patří více bakteriálním druhům. Potřebuji z něho tedy vyextrahovat jen některé kontigy, jejichž seznam je v prvním souboru.

    Struktura souboru s kontigy, tedy kusy DNA patřící různým druhům je následující: první řádek je popis s číslem kontigu, následuje RÚZNÝ počet řádků s vlastní sekvencí DNA:

    >contig00001 lenght=194432

    ATTTAATGCCTCCACCACTAACGTTGAATCGTGCTGTTTCTGCAATCGCCAACCAACCAC TTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA

    .

    .

    .

    >contig00002 lenght=187674

    TGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCA ATACAGAATTCAGTCCTTAAAATAACAGTCTAACTTTTCGGGGTCAGATCACAGTAATAG

    .

    .

    .

    Kdyby byl počet řádků sekvence DNA stejný, šlo by to grepem (tady dostanu první řádky sekvence):

    grep -F -f CP002667.1.txt -A 2 G7_ml200contigs.fa > CP002667.1first2seqlines.txt

    Jak mám ale dostat celou sekvenci kontigu, když má proměnlivý počet řádků (i několik tisíc)? Potřeboval bych nějak říct grepu, aby pokračoval s výběrem řádků za vyhledaným patternem (-A) až do dalšího hlavičkového řádku uvozeného >contig0000X.

    Díky, Honza

    Odpovědi

    15.7.2019 12:22 nn
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Vstup foo.txt:
    >contig00001 lenght=194432
    ATTTAATGCCTCCACCACTAACGTTGAATCGTGCTGTTTCTGCAATCGCCAACCAACCAc
    BBGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    CTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    DTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    >contig00002 lenght=187674
    ETGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    FTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    GGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCB
    >contig00003 lenght=187674
    HTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    IGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCB
    
    Regexp:
    sed -n -e '0,/>contig00002/d;/>contig00003/q;p' foo.txt
    Vystup:
    ETGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    FTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
    GGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCB
    
    15.7.2019 12:23 V.
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Jestli jsem to dobře pochopil ...
    pokud mam čísla řádků, kde se co nachází (=klíč), tak sed by mi měl to, co je mezi tim, dokázat vyexportovat - aneb sed '2,4!d' somefile.txt. jen musim ověřit aktuální meze.
    15.7.2019 13:07 Honza
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Příklad

    Mám soubor s kontigy:

    >contig00001 len=194432

    ATTTAATGCCTCCACCACTAACGTTGAATCGTGCTGTTTCTGCAATCGCCAACCAACCAC

    TTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA

    >contig00002 len=187674

    TGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCA

    ATACAGAATTCAGTCCTTAAAATAACAGTCTAACTTTTCGGGGTCAGATCACAGTAATAG

    >contig00003 len=113760

    AATTATTTAATTTGCCATGTTTCTTTATTTCTGCACTTTGGCAAAATGGGCAGTTTTTTA

    TTCATATTTCAAAAAGAGGGCTTAAAGCCTTGTACTATAAGGCTTTAAGCCACTTTTTAG

    a potřebuji z toho dostat kontig 2, včetně hlavičkového řádku.

    >contig00002 len=187674

    TGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCA

    ATACAGAATTCAGTCCTTAAAATAACAGTCTAACTTTTCGGGGTCAGATCACAGTAATAG

    Problém je, že v reálu je v souboru kontigů několik set a seznam kontigů pro výběr několik desítek. Neznám rozsah řádků pro výběr.
    15.7.2019 14:18 V.
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Takže máte ale v jednom souboru formát 1) "klíč podle kterého mohu hledat", 2) data (x řádků), 3) další klíč, podle kterého mohu hledat?
    Takže "grep -n klíč zdroj" a pak extrahuju sedem od indexu k indexu.
    Nebo tohle fakt nejde?
    15.7.2019 14:32 Honza
    Rozbalit Rozbalit vše Re: výběr řádků textu
    "grep -n klíč zdroj" funguje:

    grep -F -f CP002667.1.txt -A 2 G7_ml200contigs.fa > CP002667.1first2seqlines.txt

    To vypíše první dva řádky sekvence kontigů podle seznamu v souboru CP002667.1.txt. Jak ale zapojit do toho sed, aby mě vypsal všechy řádky (proměnlivý počet) sekvence za klíčovým slovem (názvem kontigu) až do hlavičkového řádku dalšího kontigu?
    15.7.2019 14:39 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: výběr řádků textu

    Doporučuji vybodnout se na sed a použít awk.

    Josef Kufner avatar 15.7.2019 13:46 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Vybodni se na Bash a Grep. Načti si to do polí objektů v Pythonu a udělej, co potřebuješ. Ušetří ti to spoustu času až budeš chtít další trochu komplikovanější chování. Shell na tohle není stavěný. Navíc ti to otevře další možnosti vizualizace a pokročilého zpracování.
    Hello world ! Segmentation fault (core dumped)
    15.7.2019 14:26 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: výběr řádků textu

    Šel bych na to tak, že bych napsal awk skript:

    • contig.awk:
      #!/usr/bin/awk -f
      BEGIN { output = 0
              while (getline key < key_file) ++keys[key] }
      $0 in keys { print $0; output = 1; next }
      /^>contig/ { output = 0; next }
      output { print $0 }
      

    Skript by měl být spustitelný:

    chmod +x contig.awk
    

    Skript bere soubor se seznamem hlaviček jako argument (proměnnou) key_file, zatímco velký soubor, ze kterého má vyfiltrovat sekvence, bere jako standardní vstup a píše pak na standardní výstup.

    Když budu mít následující dva soubory, …

    • contigs.txt:
      >contig00001 len=194432
      ATTTAATGCCTCCACCACTAACGTTGAATCGTGCTGTTTCTGCAATCGCCAACCAACCAC
      TTGACGCCGCGCCAGGTTCATCACGATTGCTAAATAATGCCATTCCCCCTGTACCTTCAA
      >contig00002 len=187674
      TGTTCGTTATTACAATGAGGAAAGAATACAATTAAAATTAAATGGACTGAGCCCTGTTCA
      ATACAGAATTCAGTCCTTAAAATAACAGTCTAACTTTTCGGGGTCAGATCACAGTAATAG
      >contig00003 len=113760
      AATTATTTAATTTGCCATGTTTCTTTATTTCTGCACTTTGGCAAAATGGGCAGTTTTTTA
      TTCATATTTCAAAAAGAGGGCTTAAAGCCTTGTACTATAAGGCTTTAAGCCACTTTTTAG
      
    • keys.txt:
      >contig00001 len=194432
      >contig00003 len=113760
      

    …spustím to celé takto:

    ./contig.awk -v key_file=keys.txt < contigs.txt
    

    To^^^ mi vypíše (celé) dvě sekvence z contigs.txt podle klíčů v keys.txt, včetně těch klíčů a bez ohledu na délku sekvencí. Pokud jsem zadání správně pochopil, tohle by mělo být ono.

    Samozřejmě by sis to musel trochu upravit v případě, že formát souborů umožňuje prázdné řádky a/nebo komentáře.

    15.7.2019 14:52 Honza
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Super, tohle dělá přesně to co potřebuju. Díky moc za pomoc. I všem ostatním.
    15.7.2019 15:08 PetebLazar
    Rozbalit Rozbalit vše Re: výběr řádků textu
    A pokud by to snad nekoho z mistnich zajimalo, v prikladu patrne slo mj. o bakterii "Gallibacterium anatis UMN179". ;-)
    15.7.2019 17:25 Honza
    Rozbalit Rozbalit vše Re: výběr řádků textu
    Bingo! Blast rulezzzz (https://blast.ncbi.nlm.nih.gov/Blast.cgi)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.