macでインフォマティクス

macでインフォマティクス

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

GenBank Flat File FormatとJSON間の変換を行う GBSON

 

HPの解説より

 GenBank Flat File Format (.gb または .gbk) は、核酸やタンパク質の配列とそのアノテーションを保存できるファイルフォーマットとして広く利用されている。NIHの遺伝子配列データベース「GenBank」(https://www.ncbi.nlm.nih.gov/genbank/)と混同しないように。GeSeq などの多くのアプリケーションは、GenBank ファイルの読み書きが可能です。詳細なフォーマットの説明は、

https://www.insdc.org/submitting-standards/feature-table/

GenBank ファイル形式は基本的に人間が読めるテキストファイルであり、XMLCSV のようなメタフォ ーマットに基づくものではありません。そのため、GenBank ファイルを解析するための標準は存在しません。GenBank 固有のタブ、スペース、スラッシュの使用はエラーが起こりやすく、ほとんどのテキストエディタGenBank ファイルの構文強調表示やチェックをサポートしていない。開発者はしばしば、独自のGenBankエクスポート関数やパーサーさえも書かなければならない。
 JavaScript Object Notation (JSON) は、オープンスタンダードなファイルフォーマットで、人間が読めるテキストを使用して、属性と値のペアと配列データ型(またはその他のシリアライズ可能な値)からなるデータオブジェクトを転送します。非常に一般的なデータ形式であり、AJAXシステムにおけるXMLの代替など、多様な用途に利用されています。JSONは言語に依存しないデータ形式です。JavaScriptから派生したものですが、あらゆるプログラミング言語において、JSONパーサーが存在し、しばしば既に組み込まれています。
すでにJSONベースのアノテーションフォーマット/コンバーターは、すでにいくつか存在していますが、私たち(本著者ら)のアプローチは、検証、IDEサポート、曖昧さ回避を可能にする厳密な型定義(下記参照)を提供します。

Documentation

https://chlorobox.mpimp-golm.mpg.de/GBSON-Documentation.html

 

webサービス

https://chlorobox.mpimp-golm.mpg.de/GenBank-JSON-Converter.html#

 

GenBankJSON形式のファイルを指定する。

 

免責事項にチェックを付けてSubmitする。

結果は下のボタンからダウンロードできる。

 

引用

https://chlorobox.mpimp-golm.mpg.de/GenBank-JSON-Converter.html

 

関連


 

*しばらく家のネット回線が不調で更新が滞っていましたが、契約を変えてとりあえずは安定しました。お騒がせしました。

 

塩基をハッシング(ハッシュ化)する ntHash

 

ハッシングは、配列アラインメント、ゲノムおよびトランスクリプトームアセンブリ、 k -mer計数および誤り訂正を含む、多くのバイオインフォマティクスアプリケーションにおける索引付け、照会および迅速類似性検索に広く使用されている。 したがって、ハッシュ操作を迅速化することは、バイオインフォマティクスアプリケーションをより迅速かつ効率的にするために、現場に大きな影響を与えるであろう。 結果 :DNA / RNA配列を処理するために調整されたハッシングアルゴリズムntHashを提示する。 入力シーケンス内の隣接するk -merのハッシュ値を計算する際に最適だろう。典型的なユースケースで最も優れた選択肢よりも1桁高速である。 

 

公式ページ

http://www.bcgsc.ca/platform/bioinfo/software/nthash

 

インストール

本体は公式、またはGithubからクローンする。

Github

#テストスイートをビルド
git clone https://github.com/bcgsc/ntHash.git
cd ntHash/
./autogen.sh
./configure
make
sudo make install

>nttest

 

実行方法

ランダムに生成されたデータセットに対して、ブルームフィルタデータ構造を用いた様々なハッシュメソッドの均一性を評価する。genes.faに長さ 5,000,000bpの遺伝子 100個をリファレンスとして格納する。長さ250bpの4,000,000個のリードをクエリとしてファイルreads.faに保存する。32スレッド指定。

nttest --uniformity --input -q4000000 -l250 -t100 -g5000000 -j32 genes.fa reads.fa
  • -k    the length of k-mer used for runtime test hashing `[50]`
  • -h    the number of generated hashes for each k-mer `[1]`
  • -q    number of queries in query file
  • -l     length of reads in query file
  • -t     number of sequences in reference file
  • -g    length of reference sequence
  • -i      generate random query and reference files
  • -j    number of threads to run uniformity test `[1]`
  • REF_FILE    the reference file name
  • QUERY_FILE    the query file name

 

引用

ntHash: recursive nucleotide hashing

Mohamadi H, Chu J, Vandervalk BP, Birol I.

Bioinformatics. 2016 Nov 15;32(22):3492-3494.

 

*version2の論文も公開されています。

フラボノイド生合成候補を探索する KIPEs

 

 フラボノイドの生合成は、植物における特殊な代謝と転写制御のモデル系としてよく知られている。フラボノイドは、紫外線防御や花粉媒介者の誘引など多くの生物学的機能を持つだけでなく、バイオテクノロジーの可能性も秘めている。ここでは、フラボノイド生合成の担い手を自動的に同定する手法として、知識ベースの経路酵素同定(KIPEs)を紹介する。KIPEsは、包括的な配列類似性解析と、対象となるペプチド配列中の機能的に関連するアミノ酸残基やドメインの検査を組み合わせたものである。フラボノイド生合成酵素の包括的な配列セットと、機能的に関連するアミノ酸に関する知識を収集した。KIPEsは、薬用植物Croton tigliumのフラボノイド生合成をトランスクリプトームアセンブリに基づいて調査するために適用され、概念の証明となった。その結果、生合成ネットワークの全段階の酵素候補が同定され、クロトン種で報告されている対応する代謝物とマッチングされた。

 

 

このツールは、ペプチド配列、転写産物配列、またはゲノム配列のコレクションから候補配列を同定することができる。最初のBLAST (BLASTp, tBLASTn) 検索で候補配列を取得し、次にMAFFTによるグローバルアライメントで解析し、保存残基や保存ドメインの存在をスクリーニングする。本ツールは、フラボノイド生合成に関わる遺伝子の同定に応用されている(HPより)。

 

Github

 

webサーバ

http://pbb.bot.nat.tu-bs.de/KIPEs/のページ中盤に移動する。

 

seqtypeを指定し、ペプチド配列、転写産物配列、またはゲノム配列をアップロードする。

 

Githubより

  • KIPEsはフラボノイド生合成の解析に限定されるものではない。KIPEsに新しいパスウェイを追加する事もできる。
  • 新しいパスウェイ情報を追加するためには、対象となるパスウェイ/反応と、少なくとも1つの特徴的な配列が記載された論文を探す。目的のパスウェイに関わる全てのステップが分からない場合、それを記述した論文を特定する必要がある。KIPEを使用して新規パスウェイを発見することはできない。パスウェイの各ステップについて、少なくとも1つの特徴的な配列を同定する必要がある(多ければ多いほどよい)。
  • KIPEsは、文献やデータベースから得られる情報に基づいている。従って、よく特徴付けられたベイト配列や活性中心で保存されたアミノ酸残基を同定することが極めて重要である。Orhtologsを探すことでこのデータセットを補完することができる。これらの配列は、手動での検査が必要になる。その後、収集した配列の FASTA ファイルを作る。また、可能であれば、保存アミノ酸残基の位置を記述したファイルを構築する。

 

引用

Automatic Identification of Players in the Flavonoid Biosynthesis with Application on the Biomedicinal Plant Croton tiglium
Boas Pucker, Franziska Reiher, Hanna Marie Schilbert

Plants 2020, 9(9), 1103

 

サテライトDNAモチーフをアセンブルする SRF

 

 Satellite Repeat Finder(SRF)は、ゲノム上で何度もタンデムに繰り返されるサテライトDNAのモチーフを組み立てるツールである。ショートリード、高精度ロングリード、高品質コンティグを入力とし、各リピートユニットのコンセンサスを報告する。SRFは、de novoアセンブリでは見逃されがちなサテライトリピートを特定することができる。高次反復配列(HOR)に富む生物種では、最小反復単位ではなく、HORを見つける傾向がある。また、ミトコンドリアゲノムや葉緑体ゲノムなど、環状のゲノムの存在量が多い場合には、そのようなゲノムを見つけることができる可能性がある。

 

 

インストール

本体 Github 

git clone https://github.com/lh3/srf
cd srf && make

> ./srf -h

Usage: srf [options] <in.txt>

Options:

  -p STR     output prefix []

  -l INT     min length [5]

 

 

 

実行方法

1,KMCを使って頻度の高い配列をカウントする。十分に長いK値とカットオフ値を使用することが推奨されている。

kmc -fq -k151 -t16 -ci100 -cs100000 HiFi-reads.fq.gz count.kmc tmp_dir
kmc_dump count.kmc count.txt

 

2,SRFを実行してコンティグを取得する。

srf -p prefix count.txt > srf.fa

 

 

引用

GitHub - lh3/srf: SRF: Satellite Repeat Finder

 

 

keggcharter

 

Githubより

KEGGCharter は KEGG API と Pathway 機能のユーザーフレンドリーな実装です。特徴は

  • KEGG ID から KEGG Orthologs (KO) への変換、および KO から EC 番号への変換。
  • 主要な分類群の代謝ポテンシャルを KEGG メタボリックマップで表現(上位 10 位まで、それぞれ独自の色で区別される)。
  • KEGG代謝マップにおけるサンプル間の発現差の表現(各機能の総和を表現)

 

インストール

condaで環境を作ってテストした。

Github

mamba create -n keggcharter -y
conda activate keggcharter
mamba install -c conda-forge -c bioconda keggcharter -y

> keggcharter.py -h

usage: keggcharter.py [-h] [-o OUTPUT] [-rd RESOURCES_DIRECTORY] [-mm METABOLIC_MAPS] [-gcol GENOMIC_COLUMNS] [-tcol TRANSCRIPTOMIC_COLUMNS] [-tls TAXA_LIST] [-not NUMBER_OF_TAXA] [-keggc KEGG_COLUMN] [-koc KO_COLUMN] [-ecc EC_COLUMN] [-iq] [-it] [-tc TAXA_COLUMN]

                      [--resume] [-v] -f FILE [--show-available-maps]

 

KEGGCharter - A tool for representing genomic potential and transcriptomic expression into KEGG pathways

 

options:

  -h, --help            show this help message and exit

  -o OUTPUT, --output OUTPUT

                        Output directory

  -rd RESOURCES_DIRECTORY, --resources-directory RESOURCES_DIRECTORY

                        Directory for storing KGML and CSV files.

  -mm METABOLIC_MAPS, --metabolic-maps METABOLIC_MAPS

                        IDs of metabolic maps to output

  -gcol GENOMIC_COLUMNS, --genomic-columns GENOMIC_COLUMNS

                        Names of columns with genomic identification

  -tcol TRANSCRIPTOMIC_COLUMNS, --transcriptomic-columns TRANSCRIPTOMIC_COLUMNS

                        Names of columns with transcriptomics quantification

  -tls TAXA_LIST, --taxa-list TAXA_LIST

                        List of taxa to represent in genomic potential charts (comma separated)

  -not NUMBER_OF_TAXA, --number-of-taxa NUMBER_OF_TAXA

                        Number of taxa to represent in genomic potential charts (comma separated)

  -keggc KEGG_COLUMN, --kegg-column KEGG_COLUMN

                        Column with KEGG IDs.

  -koc KO_COLUMN, --ko-column KO_COLUMN

                        Column with KOs.

  -ecc EC_COLUMN, --ec-column EC_COLUMN

                        Column with EC numbers.

  -iq, --input-quantification

                        If input table has no quantification, will create a mock quantification column

  -it, --input-taxonomy

                        If no taxonomy column exists and there is only one taxon in question.

  -tc TAXA_COLUMN, --taxa-column TAXA_COLUMN

                        Column with the taxa designations to represent with KEGGCharter

  --resume              If data inputed has already been analyzed by KEGGCharter.

  -v, --version         show program's version number and exit

 

required named arguments:

  -f FILE, --file FILE  TSV or EXCEL table with information to chart

 

Special functions:

  --show-available-maps

                        Outputs KEGG maps IDs and descriptions to the console (so you may pick the ones you want!)

 

Input file must be specified.

(keggcharter) kazu@kazu:/media/kazu/8TB6/cyanobacteria_paper/5_nif_search/pfam/nifH-candidate_proteins$ 

 

 

 

テストラン

git clone https://github.com/iquasere/KEGGCharter.git

KEGGCharter/MOSCA_Entry_Report.xlsx

 

keggcharter.py -f KEGGCharter/MOSCA_Entry_Report.xlsx -gcol mg -tcol mt_0.01a_normalized,mt_1a_normalized,mt_100a_normalized,mt_0.01b_normalized,mt_1b_normalized,mt_100b_normalized,mt_0.01c_normalized,mt_1c_normalized,mt_100c_normalized -keggc "Cross-reference (KEGG)" -o test_keggcharter -tc "Taxonomic lineage (GENUS)"

KEGGCharter の初回実行には時間がかかる。このコマンドは、KEGGCharter の 252 のデフォルトマップ全て表現する。

 

 

引用

UPIMAPI, reCOGnizer and KEGGCharter: Bioinformatics tools for functional annotation and visualization of (meta)-omics datasets
João C Sequeira, Miguel Rocha, M Madalena Alves, Andreia F Salvador

Comput Struct Biotechnol J. 2022 Apr 9;20:1798-1810

 


 

 

 

細菌の非リボソームペプチドの生合成遺伝子クラスターを発見する Nerpa

 

 微生物由来の天然物は、創薬のための生物活性化合物の主要な供給源である。その中でも、非リボソームペプチド(f)は、抗生物質免疫抑制剤抗がん剤を含む多様な天然物のクラスである。近年の天然物探索の進歩により、数千種類のNRPの化学構造が明らかにされている。しかし、それらをコードする生合成遺伝子クラスター(BGC)は数百化合物しか知られていない。そこで本著者らは、既知のNRPを生産する新規BGCをハイスループットに発見するための計算手法Nerpaを開発した。RefSeqリポジトリから13,399の代表的な細菌ゲノムを8368の既知のNRPと検索した結果、Nerpaは117のBGCとその生成物を結びつけた。さらに、Photobacterium galatheae由来のngercheumicinの予測されたBGCを質量分析により実験的に検証した。Nerpaは、数千の既知のNRP構造に対する新しいゲノムの検索や、数万の細菌ゲノムに対する新規分子構造の検索をサポートしている。これらのツールを利用することで、NRPの合成とその生合成酵素の機能についての理解を深めることができる。

 

HP

http://cab.spbu.ru/software/nerpa/

Nerpaは、生合成遺伝子クラスター(BGC)と既知の非リボソームペプチド(NRP)を結びつけるためのツール。

 

 

インストール

condaで環境を作ってテストした。

依存

Before compiling Nerpa from the source code, please satisfy the following requirements:

  • 64-bit Linux system or macOS
  • g++ v.5.2+ or clang v.3.2+
  • cmake v.3.5+

For running Nerpa you would also need:

  • Python v.3.6+
  • Python libraries RDKit and networkx
  • java (for running rBAN, i.e., only needed if you specify NRPs in the SMILES format)

本体 Github

#conda (link)
mamba create -n nerpa python=3.10 -y
conda activate nerpa
mamba install -c conda-forge -c bioconda nerpa

> nerpa.py -h

$ nerpa.py -h

usage: nerpa.py [-h] [--antismash_output_list ANTISMASH_OUT] [--antismash ANTISMASH] [--sequences SEQS] [--rban-json RBAN_OUTPUT | --smiles [SMILES ...] | --smiles-tsv SMILES_TSV] [--col-smiles COL_SMILES] [--col-id COL_ID] [--sep SEP]

                [--predictions PREDICTIONS] [--structures STRUCTURES] [--configs_dir CONFIGS_DIR] [--force-existing-outdir] [--rban-monomers-db RBAN_MONOMERS] [--process-hybrids] [--antismash-path ANTISMASH_PATH] [--threads THREADS]

                [--output_dir OUTPUT_DIR]

 

optional arguments:

  -h, --help            show this help message and exit

  --rban-monomers-db RBAN_MONOMERS

                        file with custom monomers in rBAN compatible format

  --process-hybrids     process NRP-PK hybrid monomers (requires use of rBAN)

  --antismash-path ANTISMASH_PATH

                        path to antismash source directory

  --threads THREADS     number of threads for running Nerpa

  --output_dir OUTPUT_DIR, -o OUTPUT_DIR

                        output dir [default: nerpa_results/results_<datetime>]

 

Genomic input:

  Genomes of NRP-producing organisms (i.e. BGC predictions)

 

  --antismash_output_list ANTISMASH_OUT

                        file with list of paths to antiSMASH output directories

  --antismash ANTISMASH, -a ANTISMASH

                        single antiSMASH output directory or directory with many antiSMASH outputs

  --sequences SEQS      GenBank/EMBL/FASTA file containing DNA sequences

 

Chemical input:

  Structures of NRP molecules

 

  --rban-json RBAN_OUTPUT

                        json file with rBAN-preprocessed NRP structures

  --smiles [SMILES ...]

                        string (or several strings) with structures in the SMILES format

  --smiles-tsv SMILES_TSV

                        multi-column file containing structures in the SMILES format

  --col-smiles COL_SMILES

                        column name in smiles-tsv for structures in the SMILES format [default: 'SMILES']

  --col-id COL_ID       column name in smiles-tsv for structure identifier (if not provided, row index will be used)

  --sep SEP             column separator in smiles-tsv

 

Advanced input:

  Preprocessed BGC predictions and NRP structures in custom Nerpa-compliant formats

 

  --predictions PREDICTIONS, -p PREDICTIONS

                        file with paths to preprocessed BGC prediction files

  --structures STRUCTURES, -s STRUCTURES

                        file with Nerpa-preprocessed NRP structures

  --configs_dir CONFIGS_DIR

                        custom directory with adjusted Nerpa configs

  --force-existing-outdir

                        don't crash if the output dir already exists

 

 

テストラン

antiSMASHのJSON形式出力(ゲノム配列をantiSMASHウェブサーバで解析してダウンロードしたもの)を使用する事が推奨されているが。FASTAファイルやGenBank形式のゲノム配列も利用できる(antiSMASHにパスが通っている必要がある)。

wget https://github.com/ablab/nerpa/releases/download/v1.0.0/test_data.tar.gz
tar xzf test_data.tar.gz
nerpa.py -a test_data/NCBI_subset/genome_predictions/ --structures test_data/NCBI_subset/structure.info.monomers

antiSMASHウェブサーバで解析。Download all resultsからダウンロードし、解凍したディレクトリへのパス、またはその中のメインのJSONファイルだけを-aオプションでNerpaに提供することができる(マニュアルより)。

 

出力

nerpa_results/latest/

reports.csvにはマッチしたNRP-BGCペアとスコアが含まれている。details/には、各マッチの詳細な説明と正確なアラインメントを含まれている(マニュアルより)。

 

引用
Nerpa: A Tool for Discovering Biosynthetic Gene Clusters of Bacterial Nonribosomal Peptides
Olga Kunyavskaya, Azat M Tagirdzhanov, Andrés Mauricio Caraballo-Rodríguez, Louis-Félix Nothias, Pieter C Dorrestein, Anton Korobeynikov, Hosein Mohimani 6, Alexey Gurevich

Metabolites. 2021 Oct 11;11(10):693

 

関連


 

 

複数サンプルを使った効率的な転写産物アセンブラ PsiCLASS

 

 RNA-seqリードからの転写産物アセンブルは、遺伝子発現やその後の機能解析において重要なステップとなる。本発表では、複数のRNA-seqサンプルを同時に解析するアプローチに基づく、正確かつ効率的なトランスクリプトアセンブラであるPsiCLASSを紹介する。PsiCLASSは、複数サンプルにまたがるエキソン特徴抽出のための混合統計モデルと、スプライスグラフに基づく動的プログラミングアルゴリズム、および転写産物選択のための重み付け投票スキームを組み合わせて構成されている。PsiCLASSは感度-精度のトレードオフを大幅に改善し、現在最も優れた2つのアプローチであるStringTieシステムおよびScallop plus TACOと比較して、最大で2-3倍高い精度を実現している。PsiCLASSは効率的でスケーラブルであり、667個のGEUVADISサンプルを9時間で処理し、大量のサンプルに対しても安定した精度を実現した。

 

インストール

依存

  • PsiCLASS depends on pthreads and samtools depends on zlib.

本体 Github

git clone https://github.com/splicebox/psiclass.git
cd psiclass/
make

#conda(link)
mamba install -c bioconda psiclass -y

./psiclass

$ ./psiclass 

Usage: ./psiclass [OPTIONS]

Required:

-b STRING: paths to the alignment BAM files. Use comma to separate multiple BAM files

or

--lb STRING: path to the file listing the alignments BAM files

Optional:

-s STRING: path to the trusted splice file (default: not used)

-o STRING: prefix of output files (default: ./psiclass)

-p INT: number of processes/threads (default: 1)

-c FLOAT: only use the subexons with classifier score <= than the given number (default: 0.05)

--sa FLOAT: the minimum average number of supported read for retained introns (default: 0.5)

--vd FLOAT : the minimum average coverage depth of a transcript to be reported (defaults: 1.0)

--stage INT:  (default: 0)

0-start from beginning - building splice sites for each sample

1-start from building subexon files for each sample

2-start from combining subexon files across samples

3-start from assembling the transcripts for each sample

4-start from voting the consensus transcripts across samples

 

 

テストラン

example/にある2つのbamファイルを指定する。

./psiclass -b example/s1.bam,example/s2.bam

 psiclass_sample_1.gtf、psiclass_sample_0.gtf、そしてpsiclass_vote.gtfが出力される。

 

引用

A multi-sample approach increases the accuracy of transcript assembly

Li Song, Sarven Sabunciyan, Guangyu Yang, Liliana Florea
Nature Communications volume 10, 5000 (2019)

 

関連