SAMtools

From Wikipedia, the free encyclopedia

Remove ads

SAMtools je sada nástrojů pro práci s krátkými alignmenty sekvencí DNA ve formátech SAM (Sequence Alignment/Map), BAM (Binary Alignment/Map) a CRAM, kterou vytvořil Heng Li. Tyto soubory jsou generovány jako výstupy programů pro zarovnání krátkých sekvencí, jako je BWA. Poskytuje jednoduché i pokročilé nástroje, které podporují složité úkoly, jako je detekce mutací/ variant a prohlížení zarovnání, stejně jako třídění, indexování, extrakce dat a konverze formátů.[1]

Soubory SAM jsou textové soubory čitelné pro člověka, avšak velmi objemné (běžně desítky gigabajtů), proto se pro úsporu místa používá komprese. Soubor BAM je binární ekvivalent SAM, který je obvykle komprimovaný a efektivnější pro práci softwaru. Soubor CRAM je sloupcově orientovaný binární kontejnerový formát. SAMtools umožňuje pracovat přímo s komprimovanými BAM soubory bez nutnosti jejich dekomprese. Navíc, vzhledem k tomu, že formát souboru SAM/BAM je poněkud složitý – obsahuje sekvence, referenční sekvence, zarovnání, informace o kvalitě a uživatelem zadané anotace – SAMtools usnadňuje práci s těmito soubory tím, že skrývá podrobosti na nízké úrovni.

Protože některé projekty třetích stran začaly využívat kód ze SAMtools, ačkoli tento nástroj nebyl navržen k vkládání tímto způsobem, bylo v srpnu 2014 rozhodnuto balíček rozdělit. Vznikla tak samostatná softwarová knihovna s dobře definovaným API (HTSlib),[2] projekt zaměřený na detekci mutací/variant (variant calling) a manipulaci s daty variant (BCFtools) a samostatný balíček SAMtools pro práci s alignmenty.[3]

Remove ads

Použití a příkazy

Stejně jako mnoho unixových příkazů se i příkazy SAMtoolu řídí modelem datových proudů, kdy data procházejí jednotlivými příkazy, jako by byla nesena na dopravním pásu. Díky tomu lze více příkazů spojovat do datových řetězců (pipeline). Přestože výsledný výstup může být velmi složitý, k jeho vytvoření stačí omezený počet jednoduchých příkazů. Pokud není určeno jinak, využívají se standardní proudy (stdin, stdout a stderr). Data odeslaná do stdout se standardně vypisují na obrazovku, ale lze je snadno přesměrovat do jiného souboru pomocí běžných unixových přesměrovačů (> a >>) nebo předat dalšímu příkazu prostřednictvím roury (|).

Remove ads

Příkazy SAMtools

SAMtools nabízí následující příkazy, každý z nich se spouští jako samtools <subcommand>:

view
Příkaz filtruje data ve formátu SAM nebo BAM. Pomocí voleb a argumentů rozpozná, která data má vybrat (možná všechna), a propustí pouze tato data. Vstupem je obvykle soubor SAM nebo BAM zadaný jako argument, ale mohou to být i data sam nebo bam přenesená z jakéhokoli jiného příkazu. Mezi možná použití patří extrakce podmnožiny dat do nového souboru, převod mezi formáty BAM a SAM a pouhé zobrazení obsahu nezpracovaného souboru. Pořadí extrahovaných čtení je zachováno.
sort
Příkaz seřadí soubor BAM na základě jeho pozice v referenci, určené jeho zarovnáním.
index
Příkaz vytvoří nový indexový soubor, který umožňuje rychlé vyhledávání dat v (seřazeném) souboru SAM nebo BAM. Umožňuje programům, které umí tento index číst, efektivněji pracovat s daty v přidružených souborech.
tview
Příkaz spustí interaktivní prohlížeč založený na ASCII, který lze použít k vizualizaci zarovnání čtení s určenými malými oblastmi referenčního genomu. Ve srovnání s grafickým prohlížečem, jako je IGV, má málo funkcí.[4] V zobrazení je možné přeskakovat na různé pozice podél referenčních prvků (pomocí 'g') a zobrazovat nápovědu ('?').
mpileup
Příkaz vytvoří soubor ve formátu pileup (nebo BCF), který pro každou genomickou souřadnici uvádí překrývající se báze a indely v dané pozici ve vstupních souborech BAM. To lze použít například pro vyhledávání jednonukleotidových polymorfismů (SNP).
flagstat
Remove ads

Související články

Reference

Externí odkazy

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads