我有一个序列,例如:
>sequence.fasta
GATCCAAAACACATTCTCCCTGGTAGCATGGACAAGCAACATTTTGGGAGAAATGGAGCAAAAAAACATA
AACTTCACAGTAACAAACATAAACACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTC
TCTCTCTCCACACACACACACACTCGCACTCACAGCCTCACAACACAGGTATACATGTTTACTTAGGTCA
CTCAGAATTGTAAACTGTAAGTGTGCCTTGCAAAGAACCACTGCTCCTTACAGTGAGCAGTGCTTACCTG
并使用此代码:
awk '{if (NR!=1) {printf $0}}' sequence.fasta | awk '{sub(/ATG/, "\n&")}1' | awk 'NR==2' | fold -w 60 | awk '{gsub(/.../,"& ")}1'
我产生这个输出(一个例子):
ATG TTA ACT TTT ACA TGT TAC CTT TTG ATG TGT GAT GAG AAG ATG ACG ACT CAT TAG AAT
GCT TTT TAG GCA ATC TTC AAG AGT ATT TTA CTA CTT TTG AAA ATA AAT AAA TAA ATT CAA
ATT TTA TTC TTA AAA ATC TAT AAT TTT TTG TAT TAA CCA AAC TTA AAT ATC CAA GTA AGG
GCT GTT AGA TAA GAT AGG TGA TAT TTC TCA AGT AGA TTT ACA TTT TAT AAT GCT CTC CAA
ATG ATC TTA ATG GTT AAA TCT AAG TTT TTA TTC TTA CCT GTA TGA AAA TAC AAA GTT TAT
我想找到“TAA”、“TGA”或“TAG”,并从第一个元素(ATG)输出到“TAA”、“TGA”或“TAG”......所需的输出:
ATG TTA ACT TTT ACA TGT TAC CTT TTG ATG TGT GAT GAG AAG ATG TGA