从第 10 位核苷酸 A 的 fasta 文件中提取所有序列

Extract all the sequences from a fasta file with nucleotide A in position 10

我正在尝试从一个更快的文件中提取所有序列,该文件在第 10 位有一个 A。这是我唯一的要求。我找到了很多答案,但不幸的是,人们一直在寻找相同的位置 1 而不是 10。 所以他们提出的代码对我不起作用。有什么建议吗?

grep '^A' -B 1 file.fa | sed '/--/d' > new_file.fa

cat input.fa |paste - - | awk  '( ~ /^A/)' | tr "\t" "\n"

这些解决方案看起来只考虑了 fasta 文件的一种非常特殊的情况,其中每个序列仅包含在一行中。但是,如果它们对您的文件有用,可以提取开头带有 A 的序列,您只需修改该正则表达式以查找第十个位置:

grep '^.........A' --no-group-separator -B 1 file.fa > new_file.fa

<input.fa paste - - | awk  ' ~ /^.........A/ {printf("%s\n%s\n", , )}'