2つの単語の間に一定のランダム文字を持つ2つの単語を一致させます。

2つの単語の間に一定のランダム文字を持つ2つの単語を一致させます。

特定の長さ(私の場合は6)の途中で任意の順序で各行から2つのパターン(単語)を抽出できるgrepコマンドを検索しようとしています。

ATCAACGCAGAGTACATXXXXXXGGG

私の例には、「ATCAACGCAGAGTACAT」と「GGG」という2つの単語があり、その間に「XXXXXX」という6文字がありますが、どの文字でも可能です。

既存のソリューションを見てきましたが、これには特別なソリューションはないと思います。

入力する

ACGCAACGACGACG**ATCAACGCAGAGTACAT****XXXXXX****GGG**AATTTA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
GGAACGTTGCCAAG**ATCAACGCAGAGTACAT****XXXXXXXXX****GGG**ATG  (this does not match for example)  
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA

出力

ACGCAACGACGACG**ATCAACGCAGAGTACAT****XXXXXX****GGG**AATTTA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA
AGGGAACGTTGCCG**ATCAACGCAGAGTACAT****XXXXXX****GGG**CATGGA

そのうち「XXXXXX」は、AATCGA、AAATCCなど、A、C、T、Gの任意の組み合わせであってもよい。

grepまたはを使用してこれをどのように実行できますかsed

ベストアンサー1

努力する

grep "ATCAACGCAGAGTACAT[ACGT]\{6\}GGG" file

おすすめ記事