シーケンスファイルがあります。
$猫ファイル CACCGTTGCCAAACAATG TTAGAAGCCTGTCAGCCT CATTGCTCTCAGACCCAC おっぱいおっぱい ACACGGAATCTGCTTTTT カガアッドCCCAAAAGATGG
C + Tの最も長い拡張を計算したいと思います。合計C + Tのみを計算できますが、最長のストレッチが必要です。
$catファイル| awk '{ $0 印刷、gsub(/[cCtT]/,"",$1)}' CACCGTTGCCAAACAATG9 TTAGAAGCCTGTCAGCCCT 10 猫GCTCTCAGACCCAC 12 コクコクコク8 ACACGGAATCTGCTTTTT 11 CAGAATTCCCAAAGATGG7
これ予想される結果最長のC + Tストレッチが表示されます。
CACCGTTGCCAAACAATG 9 2 TTAGAAGCCTGTCAGCT 10 3 猫猫GCTCTCAGACCCAC 12 5 コッコッコッコッコッコッコ 8 2 ACACGGAATCTGCTTTTT 11 6 CAGAATTCCCAAAGATGG7 5
ベストアンサー1
FWIWこれはPerlでmax
fromを使用する方法です。List::Util
$ perl -MList::Util=max -lpe '$_ .= " " . max 0, map length, /[CT]+/gi' file
CACCGTTGCCAAACAATG 2
TTAGAAGCCTGTCAGCCT 3
CATTGCTCTCAGACCCAC 5
GATGTACGTCACATTAGA 2
ACACGGAATCTGCTTTTT 6
CAGAATTCCCAAAGATGG 5