私はUnixに初めて触れました!
fastqファイルに3つ以上のAsが連続して含まれる読み取り数は何ですか?
egrep 'A{3}' を使用して、AAA が何人かを教えてくれます。しかし今はAAA連続3つ以上を知りたいです。ただし、> =は機能しません。これを決定するためにawkを使用できますか?
また、正規表現を使用して4つ以上のAの後にT以外の項目がある読み取り数を確認するにはどうすればよいですか? (GCまたはA)したがって、Aは> = 4でなければならず、次にGCorAになる必要があります。
編集:連続して3Aと言うと、次のような意味です。 GGCTAAAAAACGGAT
ベストアンサー1
3つ以上の場合は、次のものをa
使用できますa{3,}
。たとえば、
$ echo a | grep -E 'a{3,}'
$ echo aa | grep -E 'a{3,}'
$ echo aaa | grep -E 'a{3,}'
aaa
$ echo aaaa | grep -E 'a{3,}'
aaaa
$ echo aaaaaaaaaa | grep -E 'a{3,}'
aaaaaaaaaa
3つ以上のa
sの後にa以外の項目がある場合は、次のようにt
使用できます。a{3,}[^t]
$ echo aaa | grep -E 'a{3,}[^t]'
$ echo aaat | grep -E 'a{3,}[^t]'
$ echo aaax | grep -E 'a{3,}[^t]'
aaax
ただし、anはa
aではないt
ため、 'aaaa'などの項目と一致し、その後a
にa以外の文字が続きますt
(この場合a
)。
$ echo aaaa | grep -E 'a{3,}[^t]'
aaaa
a
文字列がisでもなくisでもないで終わるようにするには、次のようにしt
ますa{3,}[^at]
。たとえば、
$ echo aaaa | grep -E 'a{3,}[^ta]'
$ echo aaaaaaaa | grep -E 'a{3,}[^ta]'
$ echo aaaaaaaattt | grep -E 'a{3,}[^ta]'
$ echo aaaaaaaab | grep -E 'a{3,}[^ta]'
aaaaaaaab