DNAファイルのDNAコドンの計算

DNAファイルのDNAコドンの計算

dnaファイルをインポートし、改行文字や空白文字がないことを確認してから、固有のコドンとその発生回数を出力するbashスクリプトを作成したいと思います。次のコードを使用しましたが、codonは引き続き「bash-3.2 $」を提供しています。構文が間違っているのか、なぜ正しい出力が得られないのかが混乱しています。

! /bin/bash

for (( pos=1; pos < length - 1; ++pos )); do
    codon = substr($1, $pos, 3)
    tr-d '\n' $1 | awk -f '{print $codon}' | sort | uniq -c
done

たとえば、dnafile というファイルに aacacgaactttaacacg パターンが含まれている場合、スクリプトは次の入出力を使用します。

 $script dnafile              
 aac 3
 acg 2
 ttt 1

ベストアンサー1

スクリプトの最初の行が新しいbashシェルを起動するので、対応する出力を取得します。

この行は読む必要があります

#!/bin/bash

#始めに注意してください)。

次に、awk決して機能しない方法で構文とシェルコードを混在させます。

代わりに、単純に保ち、ファイルを3つの文字グループに分けて並べ替え、取得できる一意の文字数を数えます。

$ fold -w 3 dnafile | sort | uniq -c
   3 aac
   2 acg
   1 ttt

このアプローチは、入力が常に3文字の倍数を含み、埋め込まれたスペースや他の文字がない限り機能します。

おすすめ記事