python怎么输出序列_BioPython:从Blast输出fi中提取序列id

我用这个代码提取了所有的结果from Bio.Blast import NCBIXML

for record in NCBIXML.parse(open("rpoD.xml")) :

print "QUERY: %s" % record.query

for align in record.alignments :

print " MATCH: %s..." % align.title[:60]

for hsp in align.hsps :

print " HSP, e=%f, from position %i to %i" \

% (hsp.expect, hsp.query_start, hsp.query_end)

if hsp.align_length < 60 :

print " Query: %s" % hsp.query

print " Match: %s" % hsp.match

print " Sbjct: %s" % hsp.sbjct

else :

print " Query: %s..." % hsp.query[:57]

print " Match: %s..." % hsp.match[:57]

print " Sbjct: %s..." % hsp.sbjct[:57]

print "Done"

或是为了少一些细节from Bio.Blast import NCBIXML

for record in NCBIXML.parse(open("NC_003197.xml")) :

#We want to ignore any queries with no search results:

if record.alignments :

print "QUERY: %s..." % record.query[:60]

for align in record.alignments :

for hsp in align.hsps :

print " %s HSP, e=%f, from position %i to %i" \

% (align.hit_id, hsp.expect, hsp.query_start, hsp.query_end)

print "Done"

我用过这个网站

参考这些参数”# 验证BUSCO及依赖工具是否可用 BUSCO_PATH=$(which busco) if [ -z "${BUSCO_PATH}" ]; then echo "错误:BUSCO未在leech_genome环境中找到!" && exit 1 fi echo "BUSCO版本:$(busco --version | head -n1 | awk '{print $2}')" # 验证已下载的BUSCO数据集路径(用户提供的eukaryota_odb10) LINEAGE_PATH="/public1/home/scb3201/rawdata/busco_downloads/lineages/eukaryota_odb10" if [ ! -d "${LINEAGE_PATH}" ]; then echo "错误:BUSCO数据集目录不存在!路径:${LINEAGE_PATH}" && exit 1 fi echo "使用的BUSCO数据集:${LINEAGE_PATH}" ########################################################## # 2. 输入输出参数设置(用户需修改以下内容) ########################################################## # 待评估的组装序列(基因组或转录组,FASTA格式) ASSEMBLY_FILE="/public1/home/scb3201/results/Hyan/genome/trinity_fnz1_Liu4/trinity_A5_Liu4.fasta" # 示例:Medaka抛光后基因组 # 评估模式(二选一,根据输入类型修改): # genome:评估基因组组装(DNA序列) # tran:评估转录组组装(cDNA/转录本序列) MODE="tran" # 输出结果目录 OUTPUT_DIR="/public1/home/scb3201/results/Hyan/genome/busco2_report" # 结果名称前缀(建议包含物种和模式,如"leech_genome_euk") OUTPUT_NAME="leech_tran_euk" ########################################################## # 3. 核心参数设置(影响评估准确性与效率) ########################################################## THREADS=${SLURM_NTASKS} # 线程数(与SBATCH -n一致) EVALUE="1e-03" # BLAST比对E-value阈值(默认1e-3,无需修改) CPU_MODE="metaeuk" # 基因预测工具(真核基因组推荐metaeuk,比augustus快5倍) # 数据集版本(需与下载的数据集匹配,odb10对应eukaryota_odb10) DATASET_VERSION="odb10" ########################################################## # 4. 输入文件与模式检查 ########################################################## # 检查组装序列是否存在 if [ ! -f "${ASSEMBLY_FILE}" ]; then echo "错误:输入文件不存在!路径:${ASSEMBLY_FILE}" && exit 1 fi echo "待评估序列路径: ${ASSEMBLY_FILE} (大小: $(du -h ${ASSEMBLY_FILE}))" # 检查评估模式是否有效 if [[ "${MODE}" != "genome" && "${MODE}" != "tran" ]]; then echo "错误:无效模式!请设置MODE为genome(基因组)或tran(转录组)" && exit 1 fi echo "评估模式: ${MODE}" echo "基因预测工具: ${CPU_MODE}" # 在脚本“输入文件检查”步骤添加格式验证 ################################################# # 5. 运行BUSCO评估(核心命令) ########################################################## echo "开始BUSCO完整性评估..." busco \ --in "${ASSEMBLY_FILE}" \ --lineage_dataset "${LINEAGE_PATH}" \ --out "${OUTPUT_NAME}" \ --mode "${MODE}" \ --cpu "${THREADS}" \ --evalue "${EVALUE}" \ --out_path "${OUTPUT_DIR}" \ --datasets_version "${DATASET_VERSION}" \ --force \ --tar \ --quiet ########################################################## # 6. 结果验证与关键指标提取 ########################################################## # 检查评估是否成功(核心结果文件:short_summary.txt) SUMMARY_FILE="${OUTPUT_DIR}/${OUTPUT_NAME}/short_summary.specific.${DATASET_VERSION}.${OUTPUT_NAME}.txt" if [ ! -f "${SUMMARY_FILE}" ]; then echo "错误:BUSCO评估失败,未生成摘要文件!" && exit 1 fi # 提取关键指标(完整度、单拷贝比例等) echo -e "\n===== BUSCO评估核心指标 =====" grep -E "Complete|Duplicated|Missing|Fragmented" "${SUMMARY_FILE}" # 输出结果路径 echo -e "\n完整结果目录: ${OUTPUT_DIR}/${OUTPUT_NAME}" echo "关键文件说明:" echo " - short_summary.txt: 评估摘要(论文图表核心数据)" echo " - busco_sequences/: 完整/缺失BUSCO序列(用于后续验证)" echo " - scaffold_composition.txt: 组装序列GC含量与长度分布" echo -e "\nBUSCO评估完成!请查看摘要文件解读完整性。"“
最新发布
11-25
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值