dockonsurf / modules / launch_script+diss.sh @ 86112fec
Historique | Voir | Annoter | Télécharger (1,11 ko)
1 |
#!/bin/bash |
---|---|
2 |
|
3 |
nom_de_la_molecule=$1 |
4 |
|
5 |
mol_dir=${MolOnSurf_results_path}/${nom_de_la_molecule} |
6 |
|
7 |
list_errors=() |
8 |
|
9 |
if [ -e ${mol_dir}/errors ] |
10 |
then |
11 |
nb_lines="$(cat ${mol_dir}/errors | wc -l)" |
12 |
for ((line=1; line<=$nb_lines; line++ )) ; do |
13 |
err_dir="$(awk -v var="$line" 'NR == var' ${mol_dir}/errors | awk '{print $2}')" |
14 |
list_errors+=(${err_dir}) |
15 |
done |
16 |
fi |
17 |
|
18 |
lg_liste=${#list_errors[@]} |
19 |
|
20 |
sed "s/XXXX/surf_${nom_de_la_molecule}/g" ${CP2K_sub} > ${mol_dir}/${nom_de_la_molecule}_1/cp2k_gamma.j |
21 |
sed "s/molecule/${nom_de_la_molecule}/g" ${CP2K_input_MolOnSurf} > ${mol_dir}/${nom_de_la_molecule}_1/surf_${nom_de_la_molecule}.inp |
22 |
|
23 |
for dir in ${mol_dir}/${nom_de_la_molecule}* ; do |
24 |
i_error=0 |
25 |
if [ -e ${mol_dir}/errors ] |
26 |
then |
27 |
for ((j=0; j<$lg_liste; j++)) ; do |
28 |
if [[ "$dir" == *"${list_errors[$j]}" ]] |
29 |
then |
30 |
i_error=1 |
31 |
echo "error" |
32 |
fi |
33 |
done |
34 |
fi |
35 |
if [ "$i_error" -eq "0" ] |
36 |
then |
37 |
cd $dir |
38 |
if [ "${dir}" != "${mol_dir}/${nom_de_la_molecule}_1" ] |
39 |
then |
40 |
ln ${mol_dir}/${nom_de_la_molecule}_1/cp2k_gamma.j . |
41 |
ln ${mol_dir}/${nom_de_la_molecule}_1/surf_${nom_de_la_molecule}.inp . |
42 |
fi |
43 |
qsub cp2k_gamma.j |
44 |
fi |
45 |
done |
46 |
|
47 |
|
48 |
|