gpt4 book ai didi

linux - 如何使用linux命令提取测序数据

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:56 25 4
gpt4 key购买 nike

我想提取某些行及其后续测序数据。

有一个ecoli.ffn文件如下:

$head ecoli.ffn
>ecoli16:g027092:GCF_000460315:gi|545267691|ref|NZ_KE701669.1|:551259-572036
ATGAGCCTGATTATTGATGTTATTTCGCGT
AAAACATCCGTCAAACAAACGCTGATTAAT
>ecoli16:g000011:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042
GTGTACGCTATGGCGGGTAATTTTGCCGAT
>ecoli16:g000012:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042
GTGTACGCTATGGCGGGTAATTTTGCCGAT
CTGACAGCTGTTCTTACACTGGATTCAACC
CTGACAGCTGTTCTTACACTGGATTCAACC

和一个index.txt如下

$head index.txt
g000011
g000012

我想做的是“从ecoli.ffn中提取index.txt”,理想的输出是:

>ecoli16:g000011:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042
GTGTACGCTATGGCGGGTAATTTTGCCGAT
>ecoli16:g000012:55989:gi|218693476|ref|NC_011748.1|:1128430-1131042
GTGTACGCTATGGCGGGTAATTTTGCCGAT
CTGACAGCTGTTCTTACACTGGATTCAACC
CTGACAGCTGTTCTTACACTGGATTCAACC

我该怎么做?

最佳答案

使用 awk 编写一个简单的脚本 ecoli.sh:

#!/bin/bash
a=`cat index.txt`
for i in $a
do
cat ecoli.ffn|awk -F: -v i="$i" 'BEGIN{flag=0} {if($2 == i){print $0;flag=1;} if(flag ==1 && $2 != i){print $0; flag=0;} }'
done

然后您需要在 shell 中运行此脚本。

关于linux - 如何使用linux命令提取测序数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36732482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com