macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

アセンブリグラフを用いたゲノム配列の変換、評価、操作を行う gfastats

 

 リファレンスゲノムの作成が急速に進んでいる現在、ゲノムアセンブリの要約統計量を確実かつ効率的に生成するツールの利用が不可欠となっている。また、新しいアルゴリズムやデータ型の出現に伴い、自動的および手動的なキュレーションによって既存のアセンブリの品質を向上させるツールも必要とされている。

 ここでは、高品質なリファレンスゲノムを大規模に生成するVertebrate Genomes Project (VGP)の一環として、gfastatsを開発し、これら2つのニーズに対応する。gfastatsは、アセンブリのサマリー統計を計算し、fasta、fastq、gfa [.gz] フォーマットのアセンブリ配列を操作するスタンドアローンツールである。Gfastatsは、アセンブリ配列をgfaに似たフォーマットで内部に保存する。この機能により、gfa [.gz]ファイルとの間で fast* をシームレスに変換することができる。また、Gfastats はアセンブリグラフを作成することができる。このグラフは、ユーザが提供する指示に従って配列を操作すると同時に、新しい配列に対する主要な指標を生成するために使用することができる。

 GfastatsはC++で実装されている。gfastatsのプリコンパイル版(Linux, MacOS, Windows)とコメント付きソースコードは、MITライセンスの下、https://github.com/vgl-hub/gfastats で公開されている。gfastatsの実行例は、Githubで公開されている。Gfastatsは、Bioconda、Galaxy (https://assembly.usegalaxy.eu) およびMultiQCモジュール [1] (https://github.com/ewels/MultiQC) でも利用できる。ソフトウェア更新の一貫性を確保するための自動テストワークフローが用意されている。

 

 

Instruction wiki

https://github.com/vgl-hub/gfastats/tree/main/instructions

 

Githubより

gfastatsは、ゲノムアセンブリファイルの統計処理と*fa* (fasta, fastq, gfa [.gz])操作を同時に行う高速で網羅的なツールです。gfastatsはまたfasta<>fastq<>gfa[.gz]変換をシームレスに行います。 fastaを入力にした時の代表的なメトリクスは以下の通り。

  • スキャフォールド、コンティグ、ギャップサイズ
  • スキャフォールド、コンティグ、ギャップ数
  • スキャフォールド、コンティグ、ギャップの合計長
  • scaffold, contig, gap N50と統計(--nstar-reportフラグでフルN*/NG*統計)
  • スキャフォールド、コンティグ、およびギャップのarea under the curve (AuN/AuNG) 値
  • スキャフォールド、コンティグ、ギャップの平均サイズ
  • 最大のスキャフォールド、コンティグ、ギャップ
  • 塩基組成とGC含有量
  • ソフトマスク塩基数(小文字塩基)

GFAを入力にした時の代表的なメトリクスは以下の通り。

  • ノードとエッジ数
  • 平均次数
  • 連結成分の数、および最も大きい連結成分の長さ
  • 行き止まりの数
  • 切断されたコンポーネントの数とその全長
  • 各 scaffold/contig の指標は、--seq-report f で生成可能

 

インストール

Github

git clone https://github.com/vgl-hub/gfastats.git
cd gfastats/
make -j
cd build/bin/

> ./gfastats -h

gfastats input.[fasta|fastq|gfa][.gz] [expected genome size] [header[:start-end]]

genome size: estimated genome size for NG* statistics (optional).

header: target specific sequence by header, optionally with coordinates (optional).

 

Options:

-a --agp-to-path <file> converts input agp to path and replaces existing paths.

-b --out-coord a|s|c|g generates bed coordinates of given feature (agp|scaffolds|contigs|gaps default:agp).

-e --exclude-bed <file> opposite of --include-bed. They can be combined (no coordinates).

-f --fasta <file> input file (fasta, fastq, gfa [.gz]). Also as first positional argument.

-h --help print help and exit.

-i --include-bed <file> generates output on a subset list of headers or coordinates in 0-based bed format.

-k --swiss-army-knife <file> set of instructions provided as an ordered list.

-o --out-format fasta|fastq|gfa[.gz] outputs selected sequences. If more than the extension is provided the output is written to the specified file (e.g. out.fasta.gz).

-s --out-size s|c|g  generates size list of given feature (scaffolds|contigs|gaps default:scaffolds).

-t --tabular output in tabular format.

-v --version software version.

--cmd print $0 to stdout.

--homopolymer-compress <threshhold> compress all the homopolymers in the input above the given threshhold.

--line-length <n> specifies line length in when output format is fasta. Default has no line breaks.

--nstar-report generates full N* and L* statistics.

--out-sequence reports also the actual sequence (in combination with --seq-report).

--seq-report report statistics for each sequence.

--sort ascending|descending|largest|smallest|file sort sequences according to input. Ascending/descending used the sequence/path header.

--stats report summary statistics (default).

--verbose verbose output.

--locale set a different locale, for instance to use , for thousand separators use en_US.UTF-8.

 

All input files can be piped from stdin using '-'.

 

 

実行方法

GFAファイルを指定して要約統計をプリントする。fasta, fastqにも対応している(gzip圧縮にも対応)。

gfastats assembly_graph.gfa

f:id:kazumaxneo:20220330230110p:plain



各 scaffold/contig の統計は --seq-report フラグで生成できる。

gfastats assembly_graph.gfa --seq-report
  • --out-size s|c|g     generates size list of given feature (scaffolds|contigs|gaps default:scaffolds)
  • --out-coord a|s|c|g    generates bed coordinates of given feature (agp|scaffolds|contigs|gaps default:agp)
  • --seq-report    report statistics for each sequence

f:id:kazumaxneo:20220330230714p:plain

 

fasta <=> GFA間の変換が可能(エッジ情報は保存されない)。

#GFA => fasta
gfastats assembly.fasta -o gfa > assembly.gfa

#fasta => GFA
gfastats assembly.gfa -o fa > assembly.fasta

さらに、GFAファイルを読み込んで配列を直接操作することができる(Github参照)。

 

引用

Gfastats: conversion, evaluation and manipulation of genome sequences using assembly graphs
Giulio Formenti, Linelle Abueg, Angelo Brajuka, Nadolina Brajuka, Cristo Gallardo, Alice Giani, Olivier Fedrigo, Erich D. Jarvis

bioRxiv, Posted March 27, 2022.