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í
×
    dnes 13:44 | Zajímavý software

    V pátek 6. a sobotu 7. března proběhl v pražském sídle Nejvyššího kontrolního úřadu (NKÚ) Hackathon veřejné správy 7.1. Publikovány byly vytvořené aplikace. V kategorii projektů rozvíjených z krajského kola zvítězil tým „Mackokládi“. Čtyři středoškoláci ze Dvora Králové uspěli s aplikací KompaZ. Jde o digitálního průvodce, který pomůže s rychlou a srozumitelnou orientací v životních i krizových situacích „krok za krokem“. Aplikace

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 13:33 | Nová verze

    QGIS, svobodný desktopový GIS, byl vydán v nové hlavní verzi 4.0. Změny zahrnují několik nových analytických a editačních funkcí, rozšíření podpory 3D, více možností úprav uživatelského rozhraní či mnoho dalších zlepšení použitelnosti. Řada 3.44 má aktualizace plánovány do září.

    |🇵🇸 | Komentářů: 0
    dnes 05:11 | Komunita

    Dan Blanchard vydal knihovnu pro Python chardet v nové verzi 7.0.0. S novou verzí byla knihovna přelicencována z LGPL na MIT. Souhlasili s tím všichni přispěvatelé? Dan Blanchard souhlasy vůbec neřešil. Zaúkoloval umělou inteligenci (Claude), aby knihovnu zcela přepsala a výslovně jí nařídil, aby nepoužila žádný LGPL kód. Dan Blanchard tvrdí, že se jedná o clean room design. Protistrana argumentuje, že umělá inteligence byla trénována

    … více »
    Ladislav Hagara | Komentářů: 12
    včera 18:44 | Komunita

    Andy Nguyen si na svou herní konzoli PlayStation 5 (PS5) pomocí exploitu Byepervisor nainstaloval Linux (Ubuntu). V Linuxu si spustil Steam a PS5 tak proměnil v Steam Machine. Na PS5 může hrát hry, které jsou vydané pouze pro PC a jsou na Steamu [Tom's Hardware].

    Ladislav Hagara | Komentářů: 9
    včera 12:22 | Nová verze

    Správce sbírky fotografií digiKam byl vydán ve verzi 9.0.0. Jedná se o větší vydání provázené aktualizacemi knihoven. Mnoho dílčích změn se vedle oprav chyb týká uživatelského rozhraní, mj. editace metadat.

    |🇵🇸 | Komentářů: 1
    7.3. 13:55 | Nová verze

    Byla vydána verze 2026 distribuce programu pro počítačovou sazbu TeX s názvem TeX Live (Wikipedie). Přehled novinek v oficiální dokumentaci.

    Ladislav Hagara | Komentářů: 28
    6.3. 23:22 | Humor

    Jihokorejská Národní daňová služba (NTS) zabavila kryptoměnu Pre-retogeum (PRTG) v hodnotě 5,6 milionu dolarů. Pochlubila se v tiskové zprávě, do které vložila fotografii zabavených USB flash disků s kryptoměnovými peněženkami spolu se souvisejícími ručně napsanými mnemotechnickými obnovovacími frázemi. Krátce na to byla kryptoměna v hodnotě 4,8 milionu dolarů odcizena. O několik hodin ale vrácena, jelikož PRTG je extrémně nelikvidní, s denním objemem obchodování kolem 332 dolarů a zalistováním na jediné burze, MEXC [Bitcoin.com].

    Ladislav Hagara | Komentářů: 10
    6.3. 16:33 | Nová verze

    Komunita kolem Linuxu From Scratch (LFS) vydala nové verze knih s návody na instalaci vlastního linuxového systému ze zdrojových kódů Linux From Scratch 13.0 a Beyond Linux From Scratch 13.0. Pouze se systemd.

    Ladislav Hagara | Komentářů: 0
    6.3. 16:00 | Nová verze

    Byla vydána nová stabilní major verze 25.12 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Jedná se o nástupce předchozí major verze 24.10. Přehled novinek v poznámkách k vydání. Podporováno je více než 2200 zařízení.

    Ladislav Hagara | Komentářů: 0
    6.3. 04:44 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za únor (YouTube). Odstraněn byl veškerý kód napsaný ve Swiftu. JavaScriptový engine LibJS byl reimplementován v Rustu.

    Ladislav Hagara | Komentářů: 4
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (11%)
     (28%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1036 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

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

    15.7.2019 11:33 Honza
    výběr řádků textu
    Přečteno: 392×
    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.