Python列表实现批量输出需要的字符串

在提交任务到集群时,脚本中仅需要改变路径,其余代码不变。尝试在脚本中添加多行命令。多次复制粘贴修改太麻烦了,Python列表实现批量输出需要的命令。

首先查看目录下的文件名

[wangzhiqiang@login1 NoctuidaeOR-15-n]$ ls
AcenOR-129-n.fas  CligOR-92-n.fas   MimpOR-124-n.fas  SexiOR-103-n.fas
AgamOR-109-n.fas  CtraOR-119-n.fas  NfimOR-104-n.fas  TniOR-98-n.fas
AtraOR-106-n.fas  HdysOR-100-n.fas  NproOR-97-n.fas   XxanOR-113-n.fas
BfusOR-44-n.fas   MbraOR-109-n.fas  PmetOR-104-n.fas

复制文件名,创建Python脚本,创建列表,把文件名粘贴进去,不过要手动加单引号和逗号,虽然麻烦,但是比一个一个复制粘贴文件名方便。代码如下:

#这个脚本可以把文件名列表中的所有元素赋值给命令行中的位置,并打印出完整的命令行
filenames = ['AcenOR-129-n.fas','AtraOR-106-n.fas','CligOR-92-n.fas','HdysOR-100-n.fas','MimpOR-124-n.fas','NproOR-97-n.fas','SexiOR-103-n.fas','XxanOR-113-n.fas','AgamOR-109-n.fas','BfusOR-44-n.fas','CtraOR-119-n.fas','MbraOR-109-n.fas','NfimOR-104-n.fas','PmetOR-104-n.fas','TniOR-98-n.fas']
for filename in filenames:
	print(f"diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/{filename} -o ~/blastout/{filename}.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp")

运行后得到15行命令,粘贴到脚本中

#!/bin/bash
#SBATCH --job-name=OR15 ##作业名称
#SBATCH --partition=low ##作业申请的分区名称
#SBATCH --nodes=2 ##作业申请的节点数
#SBATCH --ntasks-per-node=10 ##作业申请的每个节点使用的核心数
#SBATCH --error=%j.err
#SBATCH --output=%j.out
CURDIR=`pwd`
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/AcenOR-129-n.fas -o ~/blastout/AcenOR-129-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/AtraOR-106-n.fas -o ~/blastout/AtraOR-106-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/CligOR-92-n.fas -o ~/blastout/CligOR-92-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/HdysOR-100-n.fas -o ~/blastout/HdysOR-100-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/MimpOR-124-n.fas -o ~/blastout/MimpOR-124-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/NproOR-97-n.fas -o ~/blastout/NproOR-97-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/SexiOR-103-n.fas -o ~/blastout/SexiOR-103-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/XxanOR-113-n.fas -o ~/blastout/XxanOR-113-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/AgamOR-109-n.fas -o ~/blastout/AgamOR-109-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/BfusOR-44-n.fas -o ~/blastout/BfusOR-44-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/CtraOR-119-n.fas -o ~/blastout/CtraOR-119-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/MbraOR-109-n.fas -o ~/blastout/MbraOR-109-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/NfimOR-104-n.fas -o ~/blastout/NfimOR-104-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/PmetOR-104-n.fas -o ~/blastout/PmetOR-104-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsp
diamond blastx -d ~/software/NR/nr -q ~/software/diamond/query/NoctuidaeOR-15-n/TniOR-98-n.fas -o ~/blastout/TniOR-98-n.fas.NR.blasp --sensitive --threads 20 --evalue 0.00001 --max-target-seqs 5 -f 6 qseqid sseqid pident length mismatch gapopen gaps qlen qstart qend slen sstart send evalue score bitscore stitle qcovhsprm -rf $CURDIR/nodelist.$SLURM_JOB_ID
NODES=`scontrol show hostnames $SLURM_JOB_NODELIST`
for i in $NODES
do
echo "$i:$SLURM_NTASKS_PER_NODE" >> $CURDIR/nodelist.$SLURM_JOB_ID
done
echo $SLURM_NPROCS
echo "process will start at : "date
echo "++++++++++++++++++++++++++++++++++++++++"

提交以后可以运行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值