У меня есть скрипт bash, который вызывает скрипты Python.Мои скрипты на Python считывают данные из текстового файла (в основном это np.loadtxt (имя файла)). В текстовом файле содержатся числовые данные: 12 000 строк и 48 строк.просто для небольшого изменения в нисходящей обработке я должен читать эти файлы снова и снова.даже для небольших изменений в названии мне нужно прочитать этот файл.
есть ли способ, которым я могу минимизировать чтение этих данных.Могу ли я ускорить процесс чтения этих файлов?
Ниже приведен мой код
#!/bin/bash
################# This script should be run after production run of remd
export root=`pwd`
printf "Root dir $root\n"
psf=(pwat_heq.psf pu8_heq.psf u8t4_heq.psf)
pdb=(pwat_heq.pdb pu8_heq.pdb u8t4_heq.pdb)
ori=(pwat_ori.pdb pu8_ori.pdb u8t4_ori.pdb)
extract=(extract.psf extract.pdb)
solu=("1leo_5fpps_pwat" "1leo_5fpps_u8" "1leo_5fpps_u8_t4")
###############################################################################
# change according to you simulation system #
###############################################################################
select_system(){
cd $root
eqheatpdb=${pdb[$l]} # VERY IMPORTANT
eqheatpsf=${psf[$l]}
oristr=${ori[$l]}
extractpsf=${extract[0]}
extractpdb=${extract[1]}
# pddcd=${dcd[$l]}
jobnum=2 # VERY IMPORTANT CHANGE JOB-NUMBER
cd ${solu[$l]}
printf "\ncurrent working dir ${root}\n"
printf "\ncurrent working system ${eqheatpdb} and ${eqheatpsf}\n\n"
}
dir_structure(){
mkdir -p recen/{0..47}
mkdir -p final_nativecontacts/{0..47}
mkdir extract
mkdir rmsd
cp $root/${solu[2]}/anal/*.{py,inp,str} .
}
call_python(){
printf "contour python script running"
python contour.py
}
Contour.py пример
import numpy as np
from mpl_toolkits.mplot3d import axes3d
txt="I need the caption to be present a little below X-axis"
paths=["1leo_5fpps_pwat", "1leo_5fpps_u8", "1leo_5fpps_u8_t4"]
temp = np.linspace(298,500,48).reshape(48,1)
f, ax = plt.subplots(3, sharex=True)
for i in range(3):
filename1=open("{}/{}/anal/all_frac.dat".format(os.environ["root"], paths[i]))
xf = np.loadtxt(filename1, dtype=float)