macでインフォマティクス

macでインフォマティクス

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

ミドルサイズのindelを検出する IMSindel

 挿入および欠失(indel)は、フレームシフトの導入による遺伝子機能の根本的な変更を介してたくさんのヒト疾患に関与している。しかし、次世代シークエンシングデータからのこれらのindelを正確に検出する事は現在でもチャレンジングである。これは、DNAシーケンシングリードが短いため、中間サイズのindels(50 bp以上)に特に当てはまる。著者らは、BWAのソフトクリッピングされたフラグメント(マッピングされたリードの中で部分的にマッチしない領域)とマッピングされていないリードを使用して、中間サイズのindelを予測する新しい方法を開発した。我々(著者ら)は、同じサンプルからのwholeエクソンシークエンシングデータを使用して、本手法、GATK、PINDELおよびScanIndelの性能比較を報告する。これらの4つの方法において予測されたすべてのindelsのサンガーシーケンシングにより、偽陽性および偽陰性の数が決定された。Recallとprecisionの調和平均(F-measure)を用いて、各方法の性能を測定した。GATK 0.56、PINDEL 0.52、ScanIndel 0.46と比較して、我々(著者ら)の方法は1つのサンプルで0.84の最高F値を達成した。追加の試料でも同様の結果が得られ、本方法は他の中程度の指標を検出する方法より優れていることが示された。、我々(著者ら)は、この方法論がヒト疾患に関連した中間サイズのindels発見に貢献すると考えている。

 

東京医科歯科大学 プレスリリース

 http://www.tmd.ac.jp/archive-tmdu/kouhou/20180411_1.pdf

 

インストール

mac10.12のdokcerコンテナ上でテストした。

依存

 本体 Github

dokcerコンテナとして導入する。

git clone https://github.com/NCGG-MGC/IMSindel.git
cd IMSindel/
docker build -t imsindel .

> docker run --rm -v /Users/user/Documents/docker_share:/data imsindel

$ docker run --rm -v /Users/user/Documents/docker_share:/data imsindel

Usage: imsindel [options]

        --bam /path/to/foo.bam

        --chr chromosome

        --outd /path/to/outoput-dir

        --indelsize maximal indel-size

        --reffa /path/to/ref.fa

        --baseq [20]

        --mapq [20]

        --within [3]

        --pair-within [5]

        --alt-read-depth [5]

        --support-reads [3]

        --clip-length [5]

        --support-clip-length [5]

        --glsearch [glsearch36]

        --glsearch-mat [data/mydna.mat]

        --mafft [mafft]

        --samtools [samtools]

        --temp [/temp]

        --thread [1]

        --output-consensus-seq /path/to/output-dir

 

 ラン

 実行するには、リードをマッピングして得たbamとbam.bai、リファレンスのfastaが必要になる。マッパーとして、論文ではBWA-MEMが使われている。

#コンテナの/home/との共有ディレクトリ/Users/user/Documents/docker_share/をホスト側(mac os10.12側)に準備し、そこにbamとbamのindex、リファレンスfastaを配置した。

#共有ディレクトリを指定してランする。"--rm"で終了後コンテナ破棄。ファイルパスは仮装イメージ側の絶対パスを記載する。
docker run --rm -v /Users/user/Documents/docker_share:/data imsindel --bam /data/input.bam --chr chr10 --outd /data --indelsize 10000 --reffa /data/hg19.fa

結果は載せられないが、出力は以下のフォーマットに乗っ取っている。

f:id:kazumaxneo:20180725120549j:plain

クロモソーム1つ分なら、早ければ数分で解析は終わります(WES 2GBデータ)。

  

引用

IMSindel: An accurate intermediate-size indel detection tool incorporating de novo assembly and gapped global-local alignment with split read analysis

Shigemizu D, Miya F, Akiyama S, Okuda S, Boroevich KA, Fujimoto A, Nakagawa H, Ozaki K, Niida S, Kanemura Y, Okamoto N, Saitoh S, Kato M, Yamasaki M, Matsunaga T, Mutai H, Kosaki K, Tsunoda T

Sci Rep. 2018 Apr 4;8(1):5608.

 

CSVやTSVのファイルを整形表示するtableviewコマンド

 

tableviewはOKAMURA YasunobuさんがGithubに公開されている、自動でcsv区切りを認識し、人間が見やすいよう整形表示してくれるコマンド。

 

インストール

GIthub

リリースから各プラットフォームに対応したバイナリをダウンロードする。ここではmac版をダウンロードし、パスの通ったディレクトリに移動した。

https://github.com/informationsea/tableview/releases

mv tableview_darwin_386.dms /usr/local/bin/tableview

> tableview -help

$ tableview -help

tableview [-format FORMAT] [FILE]

 

  -format string

    input format (auto/csv/tsv/tdf) (default "auto")

  -header

    Fix header line

  -help

    Show help

  -license

    Show license

  -logger string

    Log file for debug

  -sheet int

    Sheet index (Excel only) (default 1)

  -version

    Show version

 

Key Binding

 

  j, Ctrl-N, ARROW-DOWN, ENTER

       Scroll forward 1 line

 

  k, Ctrl-P, ARROW-UP

       Scroll back 1 line

 

  h, ARROW-LEFT

       Scroll horizontally left 1 column

 

  l, ARROW-RIGHT

       Scroll horizontally right 1 column

 

  f, Ctrl-V, SPACE, PageDown

       Scroll forward 1 window

 

  [

       Scroll horizontally left 1 character

 

  ]

       Scroll horizontally right 1 character

 

  g, Home, <

       Go to first line

 

  G, End, >

       Go to last line

 

  /pattern

       Search forward in the file

 

  n

       Repeat previous search

 

  N

       Repeat previous search, but in the reverse direction

 

  ?

       Show this help

 

  L

       Show license

 

 

ラン

csvファイルをコマンドライン環境で表示すると、区切り自体が文字なので、とても見にくくなる。

一応excelなどの表計算ソフトに読み込めば表示できるが、中身を確認するだけなら無駄が多い。

open -a excel test1.csv #-aでアプリ指定

 

やはりコマンドライン環境で完結する方がスムーズに進む。 columnコマンドを使えば、","をセパレータと認識して整形表示できる。

column -t -s, test1.csv |less

Header 1  Header 2  Header 3

1         2         3

12        23        34

123       234       345

1234      2345      3456

12345     23456     34567

123456    234567    345678

1234567   2345678   3456789

hogehoge  foo       bar

1         2         3

12        23        34

123       234       345

1234      2345      3456

12345     23456     34567

123456    234567    345678

1234567   2345678   3456789

hogehoge  foo       bar

1         2         3

12        23        34

123       234       345

これで実用上問題ないが、列が増えてくると視認性が悪くなる。また、列が画面に収まりきらないほど増えてくると、見かけ上の改行が入ってごちゃごちゃになってしまう。 その他、オプションを忘れると調べ直さないといけないので、手が止まる。

 

tableviewはおそらくこのあたりの問題の解決を目指して作成されている。testデータを開いてみる。

tableview test1.csv

 

Header 1 | Header 2 | Header 3

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

    1234 |     2345 |     3456

   12345 |    23456 |    34567

  123456 |   234567 |   345678

 1234567 |  2345678 |  3456789

hogehoge | foo      | bar

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

    1234 |     2345 |     3456

   12345 |    23456 |    34567

  123456 |   234567 |   345678

 1234567 |  2345678 |  3456789

hogehoge | foo      | bar

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

(line: 1/72+   column: 1/3)

縦線 " " で区切りが入り、見やすくなっている(拡張子によるフォーマット認識はdefaultではauto)。十字キーで1行単位スクロール、スペース(下方向)とb(上方向)でページ単位スクロールができる。また、列が多くて画面からはみ出す場合、十字キーの← →で横方向スクロールもできるようになっている。これだけのことで、視認性がかなり改善する。

エスケープキーで終了する。

 

 -header をつけると、ヘッダー行だけ固定して縦方向スクロールができる。

tableview -header test1.csv

Header 1 | Header 2 | Header 3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

     123 |      234 |      345

       1 |        2 |        3

      12 |       23 |       34

スクロールしてもヘッダー行が残っている。

 

/patternでキーワード検索できる。

"/"を押してから"12345"とタイプ。キーワード12345が検索される。

   12345 |   23456 |   34567

  123456 |  234567 |  345678

 1234567 | 2345678 | 3456789

hogehoge | foo     | bar

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

    1234 |    2345 |    3456

   12345 |   23456 |   34567

  123456 |  234567 |  345678

 1234567 | 2345678 | 3456789

hogehoge | foo     | bar

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

      12 |      23 |      34

     123 |     234 |     345

       1 |       2 |       3

(line: 6/72   column: 1/3  Search:12345  Found:1/6)

 

CSVの編集やstatisticsを確認したければ、Csvkitはどうでしょうか?坊農さん(HPリンク)にツイート経由で教えていただきました。

 

引用

GitHub - informationsea/tableview: Format CSV file as human readable table

 

既知の二次代謝産物生合成遺伝子クラスターを検出する antiSMASH

2019 6/17 インストール追記

2020 5/15 help追加

2020 7/9 ローカルでの実行例記載

2021 5/13 v6について追記

 

 二次代謝産物または特殊代謝産物とも呼ばれる天然の産物(Natural products)は、多くの薬の基礎であり、農業および栄養学の応用にとって重要な分子でもある。さらに、分子生物学および細胞生物学の多くの側面を研究する化学プローブとして科学研究に重要な役割を果たす。多くの微生物ゲノムがこのような分子の産生をコードする複数の生合成遺伝子クラスター(BGCs: biosynthetic gene clusters)を含んでいるという科学的洞察は、天然産物研究のパラダイムシフトにつながった: ここ10年で、バイオアッセイおよびケミストリー主導の古典的な天然産物の探索手法(論文より ref.1)を補完する目的でゲノムマイニングが重要な技術として確立された。この基礎的な部分の変更は、wetの実験室の微生物研究者や化学研究者が使用可能な様々なゲノムマイニングソフトウェアツールの開発と公開によりサポートされてきた、それらのツールにはNP.searcher(ref.5)、antiSMASH(ref.6)、NaPDoS(ref.9)、そして最近のPRISM / GNP(ref.10,11)などがある。

 総合的なオープンソースのBGCマイニングプラットフォームantiSMASH(ref.6-8)は、2011年に初めてリリースされ、て定期的に拡張機能付きで更新されてきた。 antiSMASHは、バクテリアや真菌のゲノムマイニングを容易にし、plantiSMASH、a new variant for BGC mining in plants (ref.12)、antiSMASHデータベース(ref.13)、実験的に「特徴づけされたBCGsのリポジトリである Minimum Information on Biosynthetic Gene Cluster (MIBiG) などと相互接続している(ref.14)。

 ここではantiSMASHのバージョン4を報告する。主要な拡張機能のいくつかは、真菌BGCの遺伝子クラスター境界予測、テルペンの改善されたケミストリー予測、リボソームペプチドおよび非リボソームペプチドのBGC、トランスATポリケチドシンターゼ(PKS)のアセンブリTTAコドンアノテーションとの比較アライメントなどのいくつかの主要な拡張を含む。さらに、改良されたユーザインタフェースが導入され、他にもいくつかのユーザビリティと効率改善が導入された。公式のantiSMASH Webサーバーはhttp://antismash.secondarymetabolites.orgから自由にアクセスできる。

 

 Documentationより

 バクテリアおよび真菌の二次代謝は、抗生物質コレステロール低下薬または抗腫瘍薬の豊富な供給源を構成しており、現在利用されている多くの化学物質の生合成経路を含む潜在的医薬価値の生物活性化合物の構成源となっている。 興味深いことに、このような二次代謝産物の産生に関与する生合成経路をコードする遺伝子は、染色体上の特定の位置に密接に集まっていることがしばしばある。 このような遺伝子群は、「二次代謝産物生合成遺伝子クラスター」と呼ばれる。 この遺伝的アーキテクチャにより、遺伝子クラスターを突き止めることによる二次代謝産物生合成経路の直接的な検出の可能性の扉が開かれた。 近年、バクテリアおよび真菌の全ゲノムシーケンシングコストが劇的に低下し、多くのゲノム配列が利用可能になっている。antiSMASHは、特定のタイプの遺伝子クラスターに特異的な遺伝子の 隠れマルコフモデルに基づいて、既知の広範なケミカルクラスの二次代謝産物をコードする遺伝子クラスターを正確に同定することができる。 antiSMASHは、遺伝子クラスターを検出するだけでなく、詳細な配列解析も提供する。

 

 antiSMASHが検出できるのは既知の二次代謝産物合成遺伝子クラスターである。既知の代謝産物合成遺伝子クラスターでも、検出されないものがある点に注意する。例えば代謝産物のクラスターは脂肪酸生合成やCofactor生合成系は一次代謝産物 合成系に属するため、検出されない。

antiSMASH Documentation

https://docs.antismash.secondarymetabolites.org

Using antiSMASH

https://docs.antismash.secondarymetabolites.org/using_antismash/

 (2012) antiSMASH: Searching for New Antibiotics Using Open Source Tools - Kai Blin

antiSMASHに関するツイート。

 

 

使い方

ローカルサーバーを立てて利用することもできるが、ここではweb版を紹介する。

 antiSMASH bacterial versionにアクセスする。

https://antismash.secondarymetabolites.org/#!/start

f:id:kazumaxneo:20180723144111j:plain

 

3つのツールがあり、antiSMASH bacterial version、antiSMASH fungal version、Plant Secondary Metabolite Analysisがあり、それぞれ、バクテリア、真菌類、植物(pubmed)がターゲットになっている。

fungal version

https://fungismash.secondarymetabolites.org/#!/start

Plant Secondary Metabolite Analysis

http://plantismash.secondarymetabolites.org

 

ここではbacterial versionを例に流れを確認する。

f:id:kazumaxneo:20180723202551p:plain

 

遺伝子クラスターを調べたいゲノムのGenbankファイル、GFF3ファイルをアップロードするか、NCBI accession numberを指定する。右上のexample データを選択すると、"Amycolatopsis balhimycina biosynthetic gene cluster for balhimycin"(リンクgenbankファイルのaccession number "Y16952"が読み込まれる。

f:id:kazumaxneo:20180723202731p:plain

データをアップロードする場合、genbank、gff3の他にアセンブリして得たFASTAもアップロードできる。FASTAはantiSMASHサーバーサイドでProdigalを使ってアノテーションされてから使用される。

他にも利用できる形式がある。詳細はantiSMASH Documentationを参照。

 

 他の条件はdefaultのままランする。ジョブが終わると、resultsがアクティブになる。クリックすると結果の画面に移行する。

f:id:kazumaxneo:20180723212436p:plain

 

exampleデータは1つの生合成遺伝子クラスターだけ使われている。resultsには、そのクラスターがそのまま1つの遺伝子クラスターとして検出される。

f:id:kazumaxneo:20180723205821p:plain

Cluster1をクリックする。遺伝子クラスターの詳細が表示される。

f:id:kazumaxneo:20180723213718p:plain

一番上が検出された遺伝子クラスターの全体像である。赤色ORFはcore biosynthetic genes、ピンクORFはadditional biosynthetic genesと予測されたORFになる。antiSMASHの予測では末端に関係ない遺伝子が余分に1−2個検出されることがある(Q&A参照)。

f:id:kazumaxneo:20180723214102p:plain

赤色のORFについてはdomain情報に関するアノテーションも表示される(情報がある場合のみ)。

f:id:kazumaxneo:20180723215014p:plain

 

下の方にスクロールすると、検出されたクラスターと、antiSMASHのデータベース内で相同性が高かったTOP10のクラスターが表示される。

f:id:kazumaxneo:20180723213834p:plain

 

clsuter classについては次のリンク先にまとめられています。

https://docs.antismash.secondarymetabolites.org/glossary/

 

追記

ローカルマシンへのインストール

#bioconda (link)
#依存が多いので環境を作って導入するのが無難
conda create -n antismash -y
conda activate antismash
conda install -c bioconda -y antismash

#database (小さめ)
download-antismash-databases

antismash

$ antismash -h

/home/kazu/anaconda3/envs/antismash/lib/python3.7/site-packages/scss/selector.py:54: FutureWarning: Possible nested set at position 329

  ''', re.VERBOSE | re.MULTILINE)

 

########### antiSMASH 5.1.2 #############

 

usage: antismash [-h] [options ..] sequence

 

 

arguments:

  SEQUENCE  GenBank/EMBL/FASTA file(s) containing DNA.

 

--------

Options

--------

-h, --help              Show this help text.

--help-showall          Show full lists of arguments on this help text.

-c CPUS, --cpus CPUS    How many CPUs to use in parallel. (default: 56)

 

Basic analysis options:

 

  --taxon {bacteria,fungi}

                        Taxonomic classification of input sequence. (default:

                        bacteria)

 

Additional analysis:

 

  --fullhmmer           Run a whole-genome HMMer analysis.

  --cassis              Motif based prediction of SM gene cluster regions.

  --cf-borders-only     Only annotate borders of existing clusters.

  --cf-create-clusters  Find extra clusters.

  --clusterhmmer        Run a cluster-limited HMMer analysis.

  --smcog-trees         Generate phylogenetic trees of sec. met. cluster

                        orthologous groups.

  --tta-threshold TTA_THRESHOLD

                        Lowest GC content to annotate TTA codons at (default:

                        0.65).

  --cb-general          Compare identified clusters against a database of

                        antiSMASH-predicted clusters.

  --cb-subclusters      Compare identified clusters against known subclusters

                        responsible for synthesising precursors.

  --cb-knownclusters    Compare identified clusters against known gene

                        clusters from the MIBiG database.

  --asf                 Run active site finder analysis.

  --pfam2go             Run Pfam to Gene Ontology mapping module.

 

Output options:

 

  --output-dir OUTPUT_DIR

                        Directory to write results to.

  --html-title HTML_TITLE

                        Custom title for the HTML output page (default is

                        input filename).

  --html-description HTML_DESCRIPTION

                        Custom description to add to the output.

 

Gene finding options (ignored when ORFs are annotated):

 

  --genefinding-tool {glimmerhmm,prodigal,prodigal-m,none,error}

                        Specify algorithm used for gene finding: GlimmerHMM,

                        Prodigal, Prodigal Metagenomic/Anonymous mode, or

                        none. The 'error' option will raise an error if

                        genefinding is attempted. The 'none' option will not

                        run genefinding. (default: error).

  --genefinding-gff3 GFF3_FILE

                        Specify GFF3 file to extract features from.

 

配列のgenbankファイルを指定する。prokkaでアノテーション付したgbkファイルも使用可能になっている。

antismash input.gbk

出力

f:id:kazumaxneo:20200709174407p:plain

 

metagenome assemblyであれば短い配列を除いてアノテーションをつけ、出力のgenbankファイルを使用する。

seqkit seq -m 5000 megahit-asssembly.fa > megahit_long_contig.fa
prokka megahit_long_contig.fa -o out_dir --metagenome --cpus 20
antismash out_dir/iPROKKA.gbk

 

 

2021 5/13

antiSMASH 6.0: improving cluster detection and comparison capabilities | Nucleic Acids Research | Oxford Academic

現在はベータ。submit前に以下のチェックをつける。

f:id:kazumaxneo:20210513102225p:plain


引用

antiSMASH 4.0-improvements in chemistry prediction and gene cluster boundary identification
Blin K, Wolf T, Chevrette MG, Lu X, Schwalen CJ, Kautsar S, Suarez Duran HG, de Los Santos ELC, Kim HU, Nave M8, Dickschat JS, Mitchell DA, Shelest E, Breitling R, Takano E, Lee SY, Weber T, Medema MH

Nucleic Acids Res. 2017 Jul 3;45(W1):W36-W41. doi: 10.1093/nar/gkx319.
 

The antiSMASH database, a comprehensive database of microbial secondary metabolite biosynthetic gene clusters
Blin K, Medema MH, Kottmann R, Lee SY, Weber T

Nucleic Acids Res. 2017 Jan 4;45(D1):D555-D559. 

 

antiSMASH 3.0—a comprehensive resource for the genome mining of biosynthetic gene clusters
Tilmann Weber, Kai Blin, Srikanth Duddela, Daniel Krug, Hyun Uk Kim, Robert Bruccoleri, Sang Yup Lee,Michael A Fischbach, Rolf Müller, Wolfgang Wohlleben, Rainer Breitling, Eriko Takano, and Marnix H Medema

Nucleic Acids Res. 2015 Jul 1; 43(Web Server issue): W237–W243.


antiSMASH 2.0--a versatile platform for genome mining of secondary metabolite producers
Blin K1, Medema MH, Kazempour D, Fischbach MA, Breitling R, Takano E, Weber T.

Nucleic Acids Res. 2013 Jul;41(Web Server issue):W204-12.

 

antiSMASH: rapid identification, annotation and analysis of secondary metabolite biosynthesis gene clusters in bacterial and fungal genome sequences
Marnix H. Medema, Kai Blin, Peter Cimermancic, Victor de Jager, Piotr Zakrzewski, Michael A. Fischbach,4Tilmann Weber, Eriko Takano, and Rainer Breitling

Nucleic Acids Res. 2011 Jul 1; 39(Web Server issue): W339–W346.

 

 

関連


メタゲノムアセンブリを分類する MetaProb

 

 Metagenomicsは、環境から直接得られたゲノム配列の研究である。微生物群集の分類学的多様性を特徴づけることは、メタゲノム研究の第一の目的の一つであり、過去10年間でますます普及している分野となっている(Mande et al、2012)。例えば、ヒトにおける微生物の多様性は、炎症性腸疾患(IBD)(Qin eet al、2010)および結腸直腸癌(Zeller et al、2014)などの疾患と関連することが見出されている。この分野では、高スループットの次世代シークエンシング(NGS)技術により、研究者は個々の微生物を単離して培養する必要なく、複数種のゲノムを直接シーケンシングすることができる。

 微生物群集の分類学的解析は、通常、ビニング(binning)と呼ばれるプロセスによって行われ、同じ種からのリードが一緒にグループ化される。リードをビニングすることにより、研究者は環境中の種の数と豊富さを特定し、各々の種がどのような機能的役割を果たし、これらの種がどのように働くかをさらに理解することができる。

 メタゲノムリードを分類するための多くの計算方法が開発されている。これらの方法は大きく2つのカテゴリーに分類することができる。 1つのカテゴリはリファレンスベース(教師あり)であり、リファレンスデータベース内のヒットシーケンスを利用してリードを分類する。Meta(Huson et al、2007)、Kraken(Wood and Salzberg、2014)、Clark (Ounit et al、2015)およびMetaPhlan(Segata et al、2012)などがある。リファレンスなし(教師なし)の手法は、BiMeta(Vinh et al、2015)、MetaCluster(Wang et al、2012; Yang et al、2010)、AbundanceBin(Wu and Ye、2011)、CompostBin (Chatterji et al、2008)がある。これらのツールはリファレンス配列を必要とせずリードをグループ化する。これらの方法は、通常、リード間の類似性のさまざまな定義に基づいている。

 リファレンスベースの方法では、ターゲットゲノムのデータベースを索引付けする必要がある。例えばNCBI / RefSeqはバクテリアゲノムのデータベースであり、これはクエリのリードを分類するために使用できる。これらの方法大量のRAMとディスク容量を必要とするコンピューティング機能が必要になる。しかし、環境試料中のほとんどの微生物のゲノムに由来するクエリ配列は、既存のリファレンスデータベースにおいて分類学的に関連する配列を欠いている。環境試料中に見出されるほとんどのバクテリアは未知であり、実験室で培養および分離することができない(Eisen、2007)。これらの理由から、リファレンスベースの方法を使用する場合、割り当てられていないリードの数は非常に高くなる可能性がある(Lindgreen et al、2016)。これは、サンプルに含まれるすべてのゲノムが分かっている場合にのみリファレンスベースの方法が役立つことを示している可能性がある。したがって、分類学的コンテキストが存在しないため、ビニングは非常に困難な作業になる。

 一方、リファレンスフリーの方法では、サンプル中のすべてのゲノムを知る必要はないが、リードをグループに分けて、同じ種からのリードが一緒になるようにする。リファレンスフリーのビニングツールは、同じゲノムからのDNAフラグメントのk-mer(フラグメントの長さ-kサブストリング)分布は異なるゲノムのDNAフラグメントよりも類似しているという観察に基づいている。したがって、リファレンスゲノムを使用せず(すなわち教師がいない)、2つのフラグメントがそれらのk-mer分布に基づいて類似の種のゲノムに由来するかどうかを決定することができる。メタゲノミックデータを処理する際の主な問題は、サンプル中の種の割合、すなわち存在量(abundance rate)が大きく変化し得るという事実である。ほとんどのツールは豊富な比を持つ種のみを扱うことができ、種の豊富さの比が異なる実際の状況ではそのビニング性能が著しく低下する。不均一な存在比を扱うために、最近(論文執筆時点)、いくつかのアルゴリズムが開発されている(Vinh et al、2015; Wang et al、2012; Wu and Ye、2011)。例えば、AbundanceBin(Wu and Ye、2011)は存在比が非常に異なる場合はうまくいくが、いくつかの種が同様の存在比を持つ場合に問題が生じる。 BiMeta(Vinh et al、2015)やMetaCluster(Wang et al、2012)のような他のツールは、リードを多くの小さなクラスターにグループ化して、少数の種(低い存在比で)のリードを分離クラスターとして存在させることができる。これらの両方の方法は、比較手段として、グループ上のk-mersカウントのベクトル間の単純なユークリッド距離を使用する。しかし、最近、k-mers数のユークリッド距離は単一シーケンスノイズによって支配される傾向があり、この作業には適していないことが示されている(Song et al、2014)。 2つの配列または配列セットのペアワイズ比較は、アライメントフリーの統計学における研究から導かれた、より洗練された類似性測定法を用いて行うことができる(Comin et al、2015; Kantorovitz et al、2007; Pizzi、2016; Sims et et al、2009)。同じパラダイムに従って、ここでは、個々の配列のノイズによって支配されない確率論的配列シグネチャと呼ばれる新しい自己標準化統計を提案する。これは異なる存在比でリードグループを比較することができる。

 本論文では、MetaProbと呼ばれるメタゲノムビニングのための新しいアセンブリアシスト手法について説明する。これは独立リードセットと確率的シーケンスシグネチャの定義に基づいている。本方法は以下のように要約することができる:(i)k-mers頻度が重複したk-merをカウントしないように、独立したセットをカウントする方法の定義。 (ii)k-mersカウントを処理し確率的配列シグネチャに変換する新しい方法と、基礎となるゲノム統計のより良い推定値を生成するために、k-merの可変分布および不均衡なリードグループを補正する。 (iii)異なるシーケンシング技術に容易に適応できる確率的枠組みの提案、実際にMetaprobは現在のショットガンリード(700 bp以上)に適している; (iv)確率的配列シグネチャーに基づくサンプル中の種の数の新規で効果的な推定。

 著者らは、合成データセットと実データセットで実験を行い、MetaProbを人気ツールAbundanceBin(Wu and Ye、2011)、BiMeta(Vinh et al、2015)、MetaCluster(Wang et al、2012)と比較した。 MetaProbは種とその存在量を正確に識別する能力において他の方法よりも優れている。

 

インストール

ubuntu18.04のPython 3.6.2 :: Anacondaでテストした。

依存

  • Boost library
  • Eingen library

本体 Bitbucket

#Anaconda環境ならcondaで導入できる (linux only)。
conda install -c bioconda metaprob

 > MetaProb 

$ MetaProb 

 

Directory output: output/

N. Cluster: 0

Parameter q: 30

Parameter m: 5

Parameter SeedSize: 9000

Parameter lmerfreq: 4

Parameter Kmeans iteration max: 100

Norm: D2star_All_Read_Prob_Lmer_Euclidian

Graph Type: Paired

Loading Sequences... Complete

Loaded sequences: 0

-----------------------------------------

Number of groups: 0

-----------------------------------------

-----------------------------------------

——

 

テストラン

exampleデータをランする。

git clone https://bitbucket.org/samu661/metaprob.git
cd metaprob/TestInputFile/

 

シングル。fastaフォーマット。

MetaProb -si long_example_1.fna -numSp 2 -feature 2 -m 45

  

MetaProb -pi short_example_1.fna.1 short_example_1.fna.2 -numSp 2
MetaProb -pi short_example_2.fna.1 short_example_2.fna.2 -numSp 2 -feature 1

  

引用

MetaProb: accurate metagenomic reads binning based on probabilistic sequence signatures

Girotto S, Pizzi C, Comin M

Bioinformatics. 2016 Sep 1;32(17):i567-i575

 

小メモリで高速にtaxonomy assignmentを行う metacache

 

 メタゲノム研究の例として、ヒト腸のシーケンシング解析(Korpela et al、2016)、ヒトの皮膚(Bzhalava et al、2014)、水生生態系(Bork et al、2015)、食物(Ripp et al、2014 )、土壌(Fierer et al、2012)および空中の微生物(Barberánet al、2015)が含まれる。初期のプロジェクトは、特定のマーカー遺伝子のアンプリコンシーケンシングするだけだった。しかしながら、最近の次世代シークエンシング(NGS)技術の進歩により、サンプル中の全DNAのショットガンシーケンシングが実行可能で費用対効果の高いものとなった。生成されたNGSデータセットは通常、計算分析を困難にする大きなものである。したがって、大規模なメタゲノムショートシーケンシングリードデータを正確かつ効率的に処理するためのソフトウェアツールの設計および実装は、研究コミュニティおよび産業アプリケーションにとって非常に重要になる。
 シーケンシング解析されたサンプルの分類学的組成の分析は、多くのメタゲノム処理パイプラインにおける重要なステップである。対応するリード分類問題は、適切な分類学的ラベル(例えば、種または属)を所定のNGSシーケンシングリードに割り当てることを目的とする。この問題に対処する従来のアプローチは、リファレンスゲノムのアノテートされたデータベースを使用することによって行われてきた [例えば、 BLAST(Camacho et al、2009)またはMegaBLAST(Morgulis et al、2008))。残念なことに、膨大なリードに対処するには対応するソフトウェアツールのコンピューティングアライメントは一般に遅すぎて実行時間が長くなる。( Husonら(2011年)またはBrady and Salzberg(2009年)を参照)。この時間のかかる手順を加速する1つの方法は、分類をマーカー遺伝子の小さなサブセットに限定することである。このアプローチに基づくプログラムには、MetaPhlAn(Truong et al、2015)(紹介)、MetaPhyler(Liu et al、2010)、mOTU(Sunagawa et al、2013)およびQIIME(Caporaso et al。、2010)が含まれる。

 最近のアライメントフリーツールはこの制限を回避でき、正確なk-merマッチングに基づいて高速な実行時間と高い精度を実現している。このアプローチでは、k-merインデックスデータ構造(またはデータベース)が前処理ステップで構築される。インデックスは、通常、リファレンスデータベース内の各ゲノムの長さkの異なる部分文字列をすべて含むハッシュテーブルに基づいている。与えられリードRは、その後、Rの中のすべてのk-mers集合を抽出し、続いてそれを事前計算されたインデックスに対して照会する検索手順によって分類される。ルックアップが単一の一致を返す場合、対応するゲノムのためのカウンターが増分される。複数のマッチの場合、マッチするゲノムの最も一般的な分類学的祖先のカウンターを使用することができる。この手続きの終わりに、Rは高得点カウンターに基づいて分類することができる。このアプローチに続く最初のプログラムの1つは、LMAT(Ames et al、2013)であった。 Kraken(Wood and Salzberg、2014)紹介は、LMATと比較してメモリ消費と分類速度を向上させるために分類ツリーを使用している。 CLARK(Ounit et al、2015)は、あらかじめ定義された分類学的レベルに標的特異的k-merを保存して、Krakenのメモリ量をさらに改善する。 CLARK-S(Ounit and Lonardi、2016)はCLARKのバリアントで、感度を改善するためにより高いメモリ消費とスピードの遅さ両方を犠牲にするが、spaced k-mersを使う。 Kaiju(Menzel et al、2016)(紹介)は、リファレンスゲノムのアノテーションされたタンパク質コード遺伝子に基づいてリードを分類する。最近のベンチマーク研究(Lindgreen et al、2016)では、Krakenが、14個のテスト済みツール(CLARK、LMAT、MetaPhlAn、mOTU、QIIME、MetaPhyler、およびMEGAN)の比較において、リードのアサイン精度、属、門レベルの分類速度においてベストパフォーマンスを示した。リード分類器によってアサインされた分類学的標識は、メタゲノム試料からDNA中の種の存在量を推定する基礎としても用いることができる。例えばBracken(Lu et al。、2016)は、Kraken出力を用いてベイズ尤度計算を行う豊富さ推定の正確な確率論的方法である。
 最近の他のツールでは、MetaKallisto(Schaeffer et al、2017)のような擬似アラインメント手法や、 WGSQuikr(Koslicki et al、2014)およびMetapallette(Koslicki and Falush、2016)の圧縮センシング(compressed sensing estimates)手法がある。圧縮センシング手法は、リファレンスゲノムのk-meスペクトラムプロファイルに基づき、線形システムを解くことでサンプルのk-merスペクトラムプロファイルを再構成する。

 本論文では、KrakenやCLARKよりもはるかに少ないメモリでindexデータ構造を作成し、同等の分類速度で高感度と高精度両方を達成できるMetaCacheと呼ばれる新しいリード分類ソフトウェアツールを紹介する。著者らによるパフォーマンス評価は、MetaCacheが2つの理由でk-merベースのリード分類アプローチの最先端技術を進化させることを示している。第1に、ハッシュを使用することによって、k-merサブセットのみが使用され、それによりデータインデックス構造サイズが大幅に縮小される。第2に、このアプローチは、ゲノム全体のどの位置でもなく、ローカルウインドウ内のコンテキスト認識k-merマッチのみを使用する。これにより、比較的小さなk値を効果的に適用することができ、すなわち、ランダムなマッチングを大幅に低減しながら高感度を達成することができる。たとえば、NCBI RefSeqドラフトゲノムとcompleteゲノムの合計約1,400億塩基をリファレンスデータベースとすると、MetaCacheのデータベースは62 GBのメモリしか消費しないが、クラークンとCLARKは512 GB RAMのワークステーションでそれぞれのデータベースを構築に失敗する。さらに、我々(著者ら)の実験から、利用リファレンスゲノムデータ量が増えることで、分類精度が継続的に向上することを示す。

 

インストール 

ubuntu16.04に導入した。

本体 Github

git clone https://github.com/muellan/metacache.git 
cd metacache
make

#NCBI Refseqにアクセスして、最新のバクテリアアーキア、ウィルスのコンプリートゲノムをダウンロードし、データベースを作成します(数十GBあって時間がかかります)
./metacache-build-refseq

デフォルトではk-mer≤16、65,535リファレンスまで対応している。変更する時はmakeを打ってビルド時にパラメータを指定する。詳細はGithubで確認してください。

> ./metacache

$ ./metacache 

MetaCache  Copyright (C) 2016-2017  André Müller

This program comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it

under certain conditions. See the file 'LICENSE' for details.

 

You need to specify one of the following modes:

    help        shows documentation 

    query       classify read sequences using pre-built database

    build       build new database from reference sequences (usually genomes)

    add         add reference sequences and/or taxonomy to existing database

    info        show database and reference sequence properties

    annotate    annotate sequences with taxonomic information 

 

EXAMPLES:

    Query 'myreads.fna' against pre-built database 'refseq':

        ./metacache query refseq myreads.fna

 

    Query all sequence files in folder 'test' againgst pre-built database 'refseq':

        ./metacache query refseq test

 

    View documentation for all query options:

        ./metacache help query

 

    View documentation on how to build databases:

        ./metacache help build

 

詳細なヘルプはtopicを指定して実行する。以下のコマンドがあり、

  • help
  • query
  • build
  • add
  • annotate
  • info

modifyのヘルプを見るなら以下のように実行する。

> ./metacache query help

$ ./metacache query help

Reading database from file 'help.db' ... FAIL

 

ABORT: Could not read database file 'help.db'!

kamisakBookpuro:metacache kamisakakazuma$ ./metacache help query

Documentation for MetaCache mode "query"

 

SYNOPSIS

    metacache query <database name> [<query sequence>...] OPTIONS

 

DESCRIPTION

    Map sequences (short reads) to their most likely origin.

 

    You can also provide names of directories that contain

    sequence files instead of single filenames. MetaCache will

    search at most 10 levels down in the file hierarchy.

 

    If no input sequence filenames or directories are given, MetaCache will

    run in interactive query mode. This can be used to load the database into

    memory only once and then query it multiple times with different

    query options.

 

BASIC OPTIONS

    -out <file>        Redirect output to file <file>.

                       If not specified, output will be written to stdout.

                       If more than one input file was given all output

                       will be concatenated into one file.

 

    -splitout <file>   Generate output and statistics for each input file

                       separately. For each input file <in> an output file 

                       <file>_<in> will be written.

 

    -pairfiles         Interleave paired-end reads from two consecutive files,

                       so that the nth read from file m and the nth read

                       from file m+1 will be treated as a pair.

                       If more than two files are provided, their names

                       will be sorted before processing. Thus, the order

                       defined by the filenames determines the pairing not

                       the order in which they were given in the command line.

 

    -pairseq           Two consecutive sequences (1+2, 3+4, ...) from each file

                       will be treated as paired-end reads.

 

    -insertsize        Maximum insert size to consider.

                       default: sum of lengths of the individual reads

 

    -lowest  <rank>    Do not classify on ranks below <rank>.

                       default: sequence

 

    -highest <rank>    Do not classify on ranks above <rank>.

                       default: domain

 

    -hitmin <t>        Sets classification threshhold to <t>.

                       A read will not be classified if less than t features

                       from the database are found in it.

                       Higher values will increase precision at the expense of

                       lower sensitivity.

 

    -max-cand <no>     maximum number of reference taxon candidates to 

                       consider for each query; A large value can significantly 

                       decrease the querying speed!

                       default: 2

 

OUTPUT FORMATTING OPTIONS

 

    -nomap             Don't report classification for each individual query

                       sequence; show summaries only (useful for quick tests).

                       default: off (= print per-read mappings)

 

    -mapped-only       Don't list unclassified queries.

                       default: off (= print all mappings)

 

    -taxids            Print taxon ids in addition to taxon names.

                       default: off

 

    -taxids-only       Print taxon ids instead of taxon names.

                       default: off

 

    -omit-ranks        Don't print taxon ranks.

                       default: off (= do print taxon ranks)

 

    -separate-cols     Prints *all* mapping information (rank, taxon name, taxon ids)

                       in separate columns (see option "-separator").

                       default: off (= print rank:taxon_name in one column)

 

    -separator <text>  string that separates output fields (sequence name, 

                       classification result, etc.)

                       default: "\t|\t"

 

    -queryids          Show a unique id for each query.

                       Note that in paired-end mode a query is a pair of two 

                       read sequences. This option will always be activated if 

                       "-hits-per-seq" is given.

                       default: off

 

    -locations         Show locations in classification candidate reference 

                       sequences.

                       default: off 

 

    -lineage           Report complete lineage for per-read classification

                       starting with the lowest rank found or allowed and

                       ending with the highest rank allowed. See also

                       options '-lowest' and '-highest'.

                       default: off

 

    -no-query-params   don't show query settings at the beginning of the

                       mapping output

                       default: do show query settings

 

    -no-summary        don't show result summary & mapping statistics at the

                       end of the mapping output

                       default: do show the summary

 

ADVANCED ANALYSIS OPTIONS

 

    -tophits           For each query, print top feature hits in database.

                       default: off

 

    -allhits           For each query, print all feature hits in database.

                       default: off

 

    -hits-per-seq      Shows a list of all hits for each reference sequence.

     [<filename>]      If this condensed list is all you need, you should

                       deactive the per-read mapping output with "-nomap".

                       If a valid filename is given after '-hits-per-seq',

                       the list will be written to a separate file.

                       This will activate "-queryids" and set the lowest 

                       classification rank to "sequence".

                       default:off

 

ADVANCED OPTIONS 

 

    -threads <no>      use <no> many parallel threads

                       default: automatic

 

    -batch-size <no>   process <no> many reads per thread;

                       This can be used for performance tuning.

                       default: automatic 

    

    -query-limit <no>  Classify at max. <no> reads per file.

                       This can be used for quick tests.

                       default: off

 

    -winlen <no>       number of letters in each sampling window

                       default: same as for reference sequences in database

 

    -winstride <no>    distance between window starting positions

                       default: same as for reference sequences in database

 

    -sketchlen <no>    number of features per window

                       default: same as in database

 

    -ground-truth      Report correct query taxa if known.

                       Queries need to have either a 'taxid|<number>' entry in

                       their header or a sequence id that is also present in

                       the database.

                       This will decrease querying speed!

                       default: off

 

    -precision         Report precision & sensitivity

                       by comparing query taxa (ground truth) and mapped taxa.

                       Queries need to have either a 'taxid|<number>' entry in

                       their header or a sequence id that is also found in

                       the database.

                       This will decrease querying speed!

                       default: off

 

    -taxon-coverage    Also report true/false positives and true/false negatives.

                       This option will turn on '-precision'.

                       This will decrease querying speed!

                       default: off

 

    -align             Show semi-global alignment for best candidate target.

                       Original files of reference sequences must be available.

                       This will decrease querying speed!

                       default: off

    

    -max-load-fac <f>  maximum hash table load factor 

                       This can be used to trade off larger memory consumption

                       for speed and vice versa. A lower load factor will

                       improve speed, a larger one will improve memory

                       efficiency. 

                       default: 0.8

 

EXAMPLES

    Query all sequences in 'myreads.fna' against pre-built database 'refseq':

        ./metacache query refseq myreads.fna -out results.txt

 

    Query all sequences in multiple files against database 'refseq':

        ./metacache query refseq reads1.fna reads2.fna reads3.fna

 

    Query all sequence files in folder 'test' againgst database 'refseq':

        ./metacache query refseq test

 

    Query multiple files and folder contents against database 'refseq':

        ./metacache query refseq file1.fna folder1 file2.fna file3.fna folder2

 

    Perform a precision test and show all ranks for each classification result:

        ./metacache query refseq reads.fna -precision -allranks -out results.txt

 

    Load database in interactive query mode, then query multiple read batches

        ./metacache query refseq

        reads1.fa reads2.fa -pairfiles -insertsize 400

        reads3.fa -pairseq -insertsize 300

        reads4.fa -lineage

 

OUTPUT FORMAT

    MetaCache's default read mapping output format is: 

    read_header | rank:taxon_name

 

    This will not be changed in the future to avoid breaking anyone's

    pipelines. Command line options won't change in the near future for the

    same reason. The following table shows some of the possible mapping

    layouts with their associated command line arguments:

 

    read mapping layout                      command line arguments           

    ---------------------------------------  ---------------------------------

    read_header | taxon_id                       -taxids-only -omit-ranks         

    read_header | taxon_name                     -omit-ranks                      

    read_header | taxon_name(taxon_id)           -taxids -omit-ranks              

    read_header | taxon_name | taxon_id          -taxids -omit-ranks -separate-cols

    read_header | rank:taxon_id                  -taxids-only                     

    read_header | rank:taxon_name                                                    

    read_header | rank:taxon_name(taxon_id)      -taxids                          

    read_header | rank | taxon_id                -taxids-only -separate-cols      

    read_header | rank | taxon_name              -separate-cols                   

    read_header | rank | taxon_name | taxon_id   -taxids -separate-cols           

 

    Note that the separator "<tab>|<tab>" can be changed to something else with

    the command line option "-separator <text>".

 

    Note that the default lowest taxon rank is "sequence". Sequence-level taxon

    ids have negative numbers in order to not interfere with NCBI taxon ids.

    Each reference sequence is added as its own taxon below the

    lowest known NCBI taxon for that sequence. If you do not want to classify

    at sequence-level, you can set a higher rank as lowest classification rank

    with the "-lowest" command line option: "-lowest species" or

    "-lowest subspecies" or "-lowest genus", etc.

 

 

 

 

実行方法

別のツール用にRefSeqをダウンロードしていたので、ここではRefSeqを使う。

手動でデータベースを構築する。

#ダウンロードしたgenome/ゲノムfna.gzを解凍
cd genome/ && gunzip * && cd ../
metacache build refseq genome/*fna

refseq.dbができる。テストした際は、Refseq全データでビルドするとエラーになったので、1Mbp以上の配列に限定して実行した。ダウンロードがパーフェクトかチェックしてないが、何らかのファイルが破損していたのかもしれない。

 

metacacheのコマンドは、シーケンスデータを直接指定するか、fastaやfastqが入ったディレクトリを指定して実行する。

fastaを指定して実行。

metacache query refseq input.fa -out results.txt

 

fastaやfastqが入ったディレクトリを指定して実行。

metacache query refseq sequence_dir/ -out results.txt

 

 ジョブが終わると、リードごとの分類結果がテキストにまとめられて出力される。データが無ければ、InSilicoSeq(紹介)などのシミュレータを使ってテストしてみて下さい。

 引用
MetaCache: context-aware classification of metagenomic reads using minhashing
Müller A, Hundt C, Hildebrandt A, Hankeln T, Schmidt B

Bioinformatics. 2017 Dec 1;33(23):3740-3748

 

サンガーシーケンシングデータの自動分類とアセンブリを行う AutoSeqMan

 

 DNAシーケンシング技術は、自動サンガーシーケンシング(Sanger et al、1977)から次世代シーケンシング(NGS; Shendure&Ji(2008)およびアセンブリまで革新的な進化を遂げている。NGSは高い処理能力(Schuster、2008)のために支配されているが、高コストなどの要因のため、多くのpopulation studieには適していない。たとえば、NGSデータ(Bickhart et al、2017)を使用した最終的なアセンブリおよびアノテーション結果にはエラーが常に導入されるため(Bickhart et al、2017 pubmed)、ハイスループット解析で検出されるバリエーションにはSangerシーケンシングによる検証が常に必要になる(Wall et al、2014 pubmed)。さらに、現在のいくつかのpopulation genomic studiesでは、イルミナデータのカバレッジデプスが深くなるにつれてエラー率が上昇することが判明しており、次世代シークエンシング関連研究の結果を解釈する際には注意が必要である(Wall et al、2014 )。それゆえ、サンガーシーケンシングは今でも幅広い分野で利用されており、特に短いDNA配列に基づく進化的分類(Chen et al、2017)、野生動物の進化史研究(Yuan et al、2016)、生物多様性推定(Zhou et al、2017)、およびハイスループット解析から同定された突然変異の検証(Sun et al、2013)が含まれるが、これらに限定されない。

 さらに、DNAシーケンシングの幅広い応用、例えば、生物の個々を同定するために短い標準化したDNA配列を用いるDNAバーコード法(Hajibabaei et al、2007; Savolainen et al、2005)、サンガーシーケンシングデータは進化分類学などで蓄積され続けている。したがって、これらのサンガーシーケンシングのバッチ操作は、特にプログラムまたはバイオインフォマティクスの背景や実験をしていない人にとっては、下流の分析前に重要な課題となっている。 MEGA(Kumar et al、2016)、EMBOSS(Rice et al、2000)、およびFasParser(Sun、2017)(紹介)を含む、一般的な問題のためのいくつかの配列操作パッケージが公開されているが、これらのパッケージは、コンティグ(オーバーラップするDNA配列のコンセンサス領域)のためのツールであり、サンガー配列のバッチアセンブリについて重要な考慮はなされていない。

 SeqManは、Sanger配列をコンティグにアセンブリするために使用されるLaserGeneソフトウェアパッケージ(DNAStar、Inc.、Madison、WI、USA)の一般的なプログラムであり、多数の研究に広く適用されている。これは、一度に2~数千のサンガーシーケンスを扱うことができるが、かなりの数の手作業(例えば、マウス動作、論文 図1)が必要である。したがって、大量のサンプルセットをアセンブリする人にとっては、複雑で時間がかかる。幸運なことに、バージョン7のリリース以来、SeqManはプロジェクトのオープン、命名、保存、および終了のためのコマンドを含むスクリプト言語を提供し、手動による介入なしに複数のアセンブリを連続して実行するために単一スクリプトを使用することができるようになった。
 この論文では、自動でSangerシーケンスを分類し、それをパーソナルコンピュータで連続してアセンブリする簡単な方法を提供するautoSeqManプログラムを説明する。これは主に、1つの遺伝子または複数の遺伝子についての大きなのシーケンシングセットを扱う研究者のために設計されている。

 

DNASTARパッケージを購入していないとアセンブリはできません。ご注意ください。

 

autoSeqManに関するツイート

インストール

windows 専用なので、mac os 10.13-parallels13上のwindows 10 proでテストした。

本体 Github

GitHub - Sun-Yanbo/autoSeqMan: Batch Assembly of Contigs for Sanger Sequences

f:id:kazumaxneo:20180721150721j:plain

Githubのリリースからexeファイルをダウンロードする。

https://github.com/Sun-Yanbo/autoSeqMan/releases

ダウンロードしたexeファイルをダブルクリックして、インストールする。

 

ラン 

1、CLASSIFICATION

ルールに従ってサンガーシーケンスデータを自動分類する。サブフォルダが自動作成される。論文には、著者らの実験経験からサンプルを管理し照会するため効率的で便利な方法である、と記述されている。

Classificationタブをアクティブにする。

f:id:kazumaxneo:20180721212001j:plain

動作に必要なものは、raw サンガーシーケンシングデータファイル(.ab1)。ランにはデータを全て含むディレクトリを指定する。正しく動作させるには、すべてのファイルを特定のパターン“sample-locus-others”に従って命名されなければならない。例えば、ファイル名「YPX24212_16S-2215_TSS20171122-0871-1171_H02.ab1」は、16SのDNA配列であり、サンプル番号が「YPX24212」であることを示している。プログラムは、ユーザー指定の区切り文字に従ってファイル名を自動認識し、メイン出力フォルダにサブフォルダ "YPX24212_16S"を作成する。区切り文字は " - "、 "_"などのように指定できる。

ダブルクリックして左のウィンドウのexample/ab1を読み込む。区切り文字はハイフン"-"とする。=> 中央のClassificationで分類を実行する。

f:id:kazumaxneo:20180721212646j:plain

元のデータ

f:id:kazumaxneo:20180721212952j:plain

作成されたサブフォルダ。ここではYPSX242~16Sの区切り文字が同じデータが同じフォルダに分類されている。1つ開いてみる。

f:id:kazumaxneo:20180721213020j:plain

このフォルダには2つのシーケンシングデータが収納されていた。

f:id:kazumaxneo:20180721213220j:plain

 このように、ルールを決めてランすればサンプルを自動分類できる。

 

 

2、ASSEMBLY

分類されたシーケンスファイルを自動でアセンブルする。 最初にCLASSIFICATION機能によって分類されたサブフォルダのリストを読み込み、各サブフォルダ内のシーケンスを連続してアセンブリするためのSeqManスクリプトを生成する。 この機能を実行するには、まずDNASTARパッケージ(バージョン7以上)をインストールしてから、autoSeqManプログラムのフルパスをautoSeqManに伝える必要がある。

分類したフォルダを指定し、SeqManのパスを指定する。

f:id:kazumaxneo:20180721214358j:plain

ソフトを購入してないのでこの機能は テストできていません。

 

引用

AutoSeqMan: batch assembly of contigs for Sanger sequences.

Jin JQ, Sun YB

Zool Res. 2018 Mar 18;39(2):123-126

DNA解析ソフト3 FasParser2

2019 1/17 タイトル修正

 

FasParser1 abstract

シーケンスデータを操作するために、「FasParser」と呼ばれるコンピュータソフトウェアパッケージを開発した。これはパーソナルコンピュータで様々な分析を行うことができるソフトウエアで、その機能には、カウント、2配列間の違いを調べること、2間の重複領域を同定すること、IDや長さによるソート、複数の遺伝子座の連結、ヌクレオチド配列のアミノ酸への翻訳、およびいくつかの異なるフォーマットでアライメントを構築すること、ならびにいくつかの抽出およびフィいる多リングが含まれる。 これらの機能の多くはバッチモードで実行することができる。これは大きなデータセットの分析に非常に役立つ。 このパッケージは誰でも使用でき、プログラミング経験のないシーケンス分析研究者向けに設計されている。 FasParserのGUI版はhttps://github.com/Sun-Yanbo/FasParserから無料でダウンロードできる。

 

FasParser2 abstract

FasParserは、シーケンスと配列をバッチモードで操作するグラフィカルなプラットフォームである。 これは、プログラミングの経験がなくても大きなシーケンシングデータセットを扱う生物学者にとって特に有用である。 ここでは、シーケンス操作を容易にすることができる数多くの新しい機能セットと改良を加えた、新バージョンの'FasParser2'を紹介する。 その主な追加機能には、(i)バッチ処理能力を大幅に向上させる再設計されたグラフィカルインタフェース、(ii)複数配列間のアライメント時に低アライメント領域を除去するトリミング機能、(iii) 「悪い」配列(あまりに短い配列または多すぎる配列)、 (iv) biological sequenceを表示して編集するためのエディタツール、ならびに (v) ポジティブセレクションおよびプライマー設計のためのインターフェース、がある。

 

Windows専用となっている。基本的な機能が多いが、複数のファイルを入れてチェックをつければ、順番に処理して自動でファイル出力してくれます。このバッチモードの使い勝手が良く、研究や業務の内容次第ですが、うまく使えば自動化の道が開けます(そうゆう意味ではCLC genomicsやGeneiousに似てます)。

このブログでいつも紹介しているように、本ツールも無料で使えます(Donateボタンから寄付ができます。開発を支援したければ寄付を検討して下さい)。

 

FasParserに関するツイート。


インストール

mac os 10.13のparallels13で動かしているwindows 10 proでテストした。

本体(FasParser2)Github(PDFマニュアルもあり)

リリースからsetup.exeをダウンロードする。

 

ラン

1、Editer

遺伝子配列やアミノ酸配列を編集できる。使い方は一般的な遺伝子編集ソフトと同じなので、説明は割愛する。

f:id:kazumaxneo:20180721004553p:plain

 

2、ID 

editer以外の機能は使い方がやや独特なので動画を用意した。FasParser2を使い。バクテリアゲノムのFASTAファイルからヘッダーのIDを抽出する作業を行なっている。

Runを押すと抽出が始まり、終わると同時に別ファイルが出力される。よくみると、左のほうにアイコンができていることがわかる。動画の最後ではそれを開いている。

 

3、Alignment

Alignment

Alignのマルチプルアライメントを選択する。

f:id:kazumaxneo:20180718230523p:plain

 IDと同様、別ウィンドウが出現する。

マルチプルアライメントを実行したいサンプルにチェックをつける。後から追加したければ、このウィンドウにドラッグすることでさらに追加できる。

f:id:kazumaxneo:20180718230631p:plain

 マルチプルアライメントのツールはmafftを選択。ここでは、multi-fastaファイルとしてmafft紹介)のexampleファイル(リンク1dnaリンク2protein)を使う。準備できたら中央のRunボタンをクリックしてジョブを開始する。58のrRNA遺伝子のmulti-FASTAの解析にはMuscleで1分ほどかかった。.muscleファイルができる。

 

Alignment: Trimming

終わるとマルチプルアライメント結果のファイルができる。このままウィンドウを閉じずに低クオリティ領域のトリミングを実行できる。マルチプルアライメントのラン後、中央部分左手のTrimingボタンをクリックする。

f:id:kazumaxneo:20180720164428p:plain

DNAのアライメントならCodonからDNAに切り替える。

f:id:kazumaxneo:20180720200436p:plain

マルチプルアライメントより時間がかかる。終わると、アライメントが不十分な部位がトリミングされる(デフォルトではかなり強力にトリミングされるので、処理前のファイルも確認してください)。

マルチプルアライメント結果をビューアで確認する。ここでは大量のデータでも高速動作するAlivew(リンク)(Larsson A., 2014)を使う。

f:id:kazumaxneo:20180720194304p:plain

windows版もあるが、mac版をダウンロードする(ダウンロードリンク)。

.muscle.fasファイルを読み込む。

トリミング前

f:id:kazumaxneo:20180720195913p:plain

トリミング後

f:id:kazumaxneo:20180720195645p:plain

一定のウィンドウサイズで分析するため、連続して保存されているアミノ酸残基だけ残る。

 

Alignment: identity

この機能は、3つのアイデンティティ計算を提供する:アラインメント内の最小ペアワイズアイデンティティ(最小); 最大ペア単位の同一性(最大)。 平均的な同一性(平均)。

f:id:kazumaxneo:20180720202301p:plain

計算はすぐに終わります。

 

Alignment: Formats

真ん中のFormatsボタンでは、マルチプルアライメント結果を FASTA、PHYLIP (Phylipi and Phylips)、PAML、NEXUSフォーマットに変換できる。この機能は分子系統樹を描くときに役に立つ。

f:id:kazumaxneo:20180720165024p:plain

 

4、Merge

multi-FASTAの結合。

 

5、Sort

指定した順番でソートする(abc順、長さ順など)。

f:id:kazumaxneo:20180720233740p:plain

分析の都合で改行が取り除かれて出力される。

f:id:kazumaxneo:20180720233900p:plain

 

6、Filter

サイズ、キーワード、コドン、などでmulti-fastaの特定の配列だけ抽出できる。

ヘッダー(ID)にplasmidが含まれる配列だけ抽出。

f:id:kazumaxneo:20180721001349p:plain

1000bp以上-6000bp以下の配列だけ抽出。

f:id:kazumaxneo:20180721001557p:plain

他にギャップ(-)の割合でフィルタリングしたり、指定した配列との相同性でフィルタリングすることができます(テスト時は相同性フィルタリングでクラッシュした)。

 

7、DNA2AA

DNAをアミノ酸に翻訳する。muliti-fastaのDNA配列を一度に翻訳することができる。

f:id:kazumaxneo:20180721003124p:plain

 

8、ORF

DNAからコード領域を見つける。longestかget all the potential ORFか選択できる。

f:id:kazumaxneo:20180721002942p:plain

 

9、Comp

Comp-2Seq

2配列のfastaを入力として、配列を比較する(Runを押してアライメント実行)。DNAでもアミノ酸でも比較可能。

f:id:kazumaxneo:20180721003350p:plain

Comp-2Align

異なるアライナーのアライメント結果を比較する。

 

10、Primer

配列をペーストすれば、primer3を使い、設定した条件でプライマーを自動設計してくれる。

f:id:kazumaxneo:20180721004037p:plain

テスト時はprimer3 APIが見つからないとしてエラーになった。

 

環境設定はウィンドウ右下のSettingから行う。他にもいくつかの機能があります。詳細はマニュアルPDFで確認して下さい。

 

引用

FasParser2: a graphical platform for batch manipulation of tremendous amount of sequence data

Bioinformatics. 2018 Jul 15;34(14):2493-2495

Yan-Bo Sun

 

FasParser: a package for manipulating sequence data.

Yan-Bo Sun

Zool Res. 2017 Mar 18;38(2):110-112

 

AliView: a fast and lightweight alignment viewer and editor for large data sets

Larsson A

Bioinformatics. 2014 Nov 15;30(22):3276-8