macでインフォマティクス

macでインフォマティクス

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

rDNAのコンセンサス配列を構築する ribotin

2023/10/06 論文(プレプリント)引用

 

リボソームDNA(rDNA)アレイは、すべての生命に存在する高度に反復的で均質な領域である。その反復性のため、現在のアセンブリ法では、ヒトや他の多くの真核生物のrDNAアレイを完全にアセンブリすることができず、rDNAアレイ内の変異を効果的に研究することができない。ここでは、完全長のrDNAコピー(モルフ)をアセンブルするためのツールribotinを紹介する。リボチンは、高精度のロングリードと非常に長いナノポアリードを組み合わせて、rDNAモルフ間の変異を解決する。我々は、ribotinがヒトおよび非ヒトゲノムで最も多く存在するモルフの復元に成功していることを示す。また、rDNAアレイのゲノムワイドなコンセンサス配列が、ゲノムには存在しないモザイク配列を頻繁に作り出すこともわかった。Ribotinはhttps://github.com/maickrau/ribotin、biocondaのパッケージとして入手できる。

 

レポジトリより

ribotinはrDNAコンセンサス配列構築ツール。HiFiリードを入力とする。リファレンスrDNA配列とのk-merマッチ、またはverkkoアセンブリに基づいてrDNA固有のリードを抽出し、DBGを構築し、最もカバーされているパスをコンセンサスとして抽出し、バブルをバリアントとして抽出する。オプションで、ultralong ONTリードを用いて、高濃度のrDNAをアセンブルすることもできる。

 

インストール

ubuntu18でテストした。gcc7.4ではビルド出来なかった。仮想環境を使ってgcc11.3.0でビルドした(*1)。

依存

  • needs MBG version 1.0.13 or more recent.

Github

#MBGはhostのmambaコマンドで導入。
mamba install -c bioconda MBG -y
#仮想環境でテストしたので(*1)、MBGのバイナリを仮想環境で見えるパスに配置
cp $(which MBG) <path>/<to>/MBG

#本体
git clone https://github.com/maickrau/ribotin.git
cd ribotin/
git submodule update --init --recursive
make all
make install

> ./ribotin-ref -h

# ./ribotin-ref -h

ribotin-ref version Branch  commit

 

Usage:

  ribotin-ref [OPTION...]

 

  -h, --help                    Print help

  -v, --version                 Print version

  -i, --in arg                  Input HiFi/duplex reads. Multiple files can

                                be input with -i file1.fa -i file2.fa etc

                                (required)

      --nano arg                Input ultralong ONT reads. Multiple files

                                can be input with --nano file1.fa --nano

                                file2.fa etc

  -o, --out arg                 Output folder (default: ./result)

      --mbg arg                 MBG path

      --graphaligner arg        GraphAligner path

  -r, --reference arg           Reference used for recruiting reads

                                (required)

      --orient-by-reference arg

                                Rotate and possibly reverse complement the

                                consensus to match the orientation of the

                                given reference

  -k arg                        k-mer size (default: 101)

      --annotation-reference-fasta arg

                                Lift over the annotations from given

                                reference fasta+gff3 (requires liftoff)

      --annotation-gff3 arg     Lift over the annotations from given

                                reference fasta+gff3 (requires liftoff)

      --morph-cluster-maxedit arg

                                Maximum edit distance between two morphs to

                                assign them into the same cluster (default:

                                300)

  -t arg                        Number of threads (default: 1)

      --approx-morphsize arg    Approximate length of one morph (default:

                                45000)

 

 

 

> ./ribotin-verkko -h

ribotin-verkko version Branch  commit

 

Usage:

  ribotin-verkko [OPTION...]

 

  -h, --help                    Print help

  -v, --version                 Print version

  -i, --in arg                  Input verkko folder (required)

  -o, --out arg                 Output folder prefix (default: ./result)

  -c, --cluster arg             Input files for node clusters. Multiple

                                files may be inputed with -c file1.txt -c

                                file2.txt ... (required)

      --guess-clusters-using-reference arg

                                Guess the rDNA clusters using k-mer matches

                                to given reference sequence (required)

      --orient-by-reference arg

                                Rotate and possibly reverse complement the

                                consensus to match the orientation of the

                                given reference

      --mbg arg                 MBG path

      --graphaligner arg        GraphAligner path

      --do-ul                   Do ultralong ONT read analysis (requires

                                GraphAligner)

      --ul-tmp-folder arg       Temporary folder for ultralong ONT read

                                analysis (default: ./tmp)

  -k arg                        k-mer size (default: 101)

      --annotation-reference-fasta arg

                                Lift over the annotations from given

                                reference fasta+gff3 (requires liftoff)

      --annotation-gff3 arg     Lift over the annotations from given

                                reference fasta+gff3 (requires liftoff)

      --morph-cluster-maxedit arg

                                Maximum edit distance between two morphs to

                                assign them into the same cluster (default:

                                300)

  -t arg                        Number of threads (default: 1)

      --approx-morphsize arg    Approximate length of one morph (default:

                                45000)

 

 

実行方法

リファレンスベースの方法とverkkoアセンブリベースの方法がある。

1、リファレンスガイド

cd ribotin/
ribotin-ref -r template_seqs/chm13_rDNAs.fa -o output_folder --mbg /path/to/MBG -i hifi_reads1.fa -i hifi_reads2.fq.gz --orient-by-reference template_seqs/rDNA_one_unit.fasta

テンプレート配列はtemplate_seqsに準備されている。template_seqs/chm13_rDNAs.faに対するk-merマッチに基づいてrDNA固有のリードを抽出し、グラフとコンセンサスを構築し、少なくとも3つのリードでサポートされているバリアントを検出する。結果は output_folder に書き込まれる。

出力例

出力についてはレポジトリで簡単に説明されています。

 

2、verkkoアセンブリベース

cd ribotin/
ribotin-verkko -i /path/to/verkko/assembly --mbg /path/to/MBG -o output_folder_prefix --guess-clusters-using-reference template_seqs/chm13_rDNAs.fa --orient-by-reference template_seqs/rDNA_one_unit.fasta

 

引用

https://github.com/maickrau/ribotin

 

2023/10/06 論文引用

Ribotin: Automated assembly and phasing of rDNA morphs

Mikko Rautiainen

bioRxiv, Posted October 01, 2023.

 

*1

ubuntuのイメージを使用した。

docker run -it ubuntu

apt update

apt install build-essential zlib1g-dev pkg-config 

gcc --version

g++ --version

MBGはhostのcondaで導入してribotin/bin/に配置