随机选取1000条序列
1、安装seqtk
conda create -n seqtk_env
conda activate seqtk_env
conda install -c bioconda seqtk
seqtk
2、脚本
点击查看代码
#!/bin/bash
# ============================================
# 选取代表序列直到数量达到1000个
# ============================================
# 获取所有代表序列的列表
representative_seqs="1fanzor_representative_sequences-id70c50-id90c90.fasta"
final_representative_seqs="final_representative_sequences.fasta"
# 随机选择1000条代表序列
echo "[4/4] 随机选择1000条代表序列..."
# 如果代表序列超过1000条,就随机抽取1000条
seq_count=$(grep -c '>' $representative_seqs)
if [ $seq_count -gt 1000 ]; then
echo "代表序列总数: $seq_count,随机选择1000条..."
# 随机选择1000条
seqtk sample $representative_seqs 1000 > $final_representative_seqs
else
echo "代表序列总数小于1000条,无需进一步选择..."
cp $representative_seqs $final_representative_seqs
fi
echo "最终代表序列数: $(grep -c '>' $final_representative_seqs)"
echo "代表序列已选择完成,文件: $final_representative_seqs"

浙公网安备 33010602011771号