レポジトリより
telomere-kmer-searchは、テロメアが与えられたゲノムライブラリの中で最も豊富なダイレクトタンデムリピート配列であると仮定してテロメアリピートを予測する。出力は、頻度順に並べたダイレクトタンデムリピートユニット配列のリストである。
k-merは、まずk-mer配列となる前にjellyfish countでカウントされ、そのカウント値がFasta形式にダンプされる。その後、最小カバレッジ以上のものは保持され、最も豊富なタンデムダイレクトリピートの探索に使用される。このタスクのためのbashスクリプトの例がdo_jellyfish.shに示されている。これらのスクリプトはjellyfish v2.2.10でテストされている。依存関係はCondaの環境ファイルenv.ymlに記載されている。
インストール
git clone https://github.com/Swart-lab/telomere-kmer-search.git
cd telomere-kmer-search/
#依存ツール(ymlのchannnel名をnullからここではtelomere-kmer-searchに修正した)
mamba env create --file env.yml
conda activate telomere-kmer-search
> ./find_repeats_from_kmers.py -h
usage: Identify direct tandem repeat elements from k-mer counts [-h] [--counts COUNTS] [--output OUTPUT] [--maxzeroes MAXZEROES] [-k K]
options:
-h, --help show this help message and exit
--counts COUNTS, -c COUNTS
Dict of counts per k-mer, in JSON format
--output OUTPUT, -o OUTPUT
Prefix for output files
--maxzeroes MAXZEROES
Maximum number zero-count expected k-mers to allow in reporting repeats
-k K K-mer length used for counting, should be prime
実行方法
jellyfish でカウント後、シングルトンをフィルタリングして高頻度k-merを含むJSONファイルをfind_repeats_from_kmersに渡す。
jellyfish count -m 19 -s 10000000 -t 20 -C input.fastq -o mer_counts.jf
jellyfish dump count.jf > dumps.fa
./discard_singletons.py --input dumps.fa --cutoff 100 --histo hist.json --output cov.json
./find_repeats_from_kmers.py --maxzeroes 1 -k 19 \
--counts cov.json --output library.k19.repeats
出力例
レポジトリより
- k-merのカウントに使用するk-merの長さは、予想される最大テロメア繰り返し単位長より長く、プライムである必要がある。
- discard_singletons.pyに指定する最小カバレッジは、ゲノムの平均カバレッジよりやや高めで、繰り返し要素のみを保持するようにする必要がある。
- 高頻度k-merのカウントを含むJSONファイルは、jellyfish countに使われるk-merの長さとともに、find_repeats_from_kmers.pyスクリプトに供給される。
引用
https://github.com/Swart-lab/telomere-kmer-search
関連