prodigal用於**原核生物cds,平常會用來**核苷酸序列的cds並且翻譯成氨基酸序列,但是需要一條一條的執行,量大的話很麻煩,需要一直修改命令。
該軟體使用時的命令格式為
prodigal -i /your/inputpath/1234_genomic.fasta -g 11 -a /your/outputpath/1234_prodigal_protein.faa
-i為輸入的核苷酸序列檔案,-g為密碼子表(預設為11),-a為輸出的氨基酸序列檔案。這裡我的習慣是序列檔名1234保持不變,用genomic代表基因組核苷酸序列,用prodigal_protein代表是使用prodigal**翻譯的氨基酸序列。批量執行的時候就需要不斷的修改「1234」的內容。
為了進步一簡化命令,希望只使用乙個使用者引數即可執行**。如:
.
/prodigal.py -i input_folder #只輸出資料夾名稱作為使用者引數
下面是**,初學python,這幾行折騰了一下午。
#!/usr/bin/python
#20200829 by fujch mail [email protected]
#this code is for processing prodigal with multiple species
import os
import getopt
import sys
opts,args = getopt.getopt(sys.ar**[1:
],'-i:',[
'inputpath='])
for opt_name,opt_value in opts:
if opt_name in
('-i'
,'--inputpath'):
path1 =
'/home/prodigal/input/'
+opt_value
path2 =
'/home/prodigal/output/'
+opt_value
ifnot os.path.exists(path2)
: os.makedirs(path2)
#自動建立輸出資料夾
files = os.listdir(path1)
forfile
in files:
ifile = os.path.splitext(
file)[
0]#提取檔名且不帶字尾名
ifile_str =
str(ifile)
ofile_str = ifile_str[0:
-8]+
"_prodigal_protein.faa"
os.system(
"prodigal -i %s/%s -g 11 -a %s/%s"
%(path1,
file
,path2,ofile_str)
)
**可能有囉嗦的地方,救急能用就行,哈哈。
可以根據自己的需求修改**適用不同的軟體。
使用Keepalived實現linux高可用集群
apt install libipset dev keepalived yuseradd s usr sbin nologin m g root keepalived scriptvim etc sysctl.conf 在末尾追加一行 net.ipv4.ip nonlocal bind 1vim e...
python使用peewee實現mysql資料操作
peewee可用class來建立表,增刪改查,應該是相對餘單錶 本人幾乎沒用過,自以為如此 想實現sql查詢,得到list,比如這樣的結果 但是查詢結果是全是資料 元組 且找不到列名,後dir後逐個嘗試發現列名可以使用result.description j 0 獲取 元組使用起來不方便,現實現將資...
使用python實現簡單爬蟲
近日學習了python語言,簡單實現了乙個爬蟲,爬取了慕課網課程簡介上的,並儲存到本地。以下是實驗 coding utf 8 spyder editor import re import os import urllib.request 在python3.6環境中實現 f soure urllib....