This file is indexed.

/usr/share/votca/scripts/inverse/calc_rdf_espresso.sh is in votca-csg-scripts 1.2.4-1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#! /bin/bash
#
# Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org)
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicale law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

if [ "$1" = "--help" ]; then
    cat <<EOF
${0##*/}, version %version%
This script calcs the rdf for espresso

Usage: ${0##*/}

Used external packages: espresso
EOF
    exit 0
fi

# Topology+Trajectory read by Espresso
top_traj="$(csg_get_property cg.inverse.espresso.traj "top_traj.esp")"

# Number of snapshots before statistics are taken into account
equi_snapshots="$(csg_get_property cg.inverse.espresso.first_frame 0)"

# Espresso config file (required for certain parameters, e.g. box size)
esp="$(csg_get_property cg.inverse.espresso.blockfile "conf.esp.gz")"
[ -f "$esp" ] || die "${0##*/}: espresso blockfile '$esp' not found"

esp_bin="$(csg_get_property cg.inverse.espresso.rdf_command "Espresso_bin")" 
[ -n "$(type -p $esp_bin)" ] || die "${0##*/}: esp_bin binary '$esp_bin' not found"

type1=$(csg_get_interaction_property type1)
type2=$(csg_get_interaction_property type2)
name=$(csg_get_interaction_property name)
binsize=$(csg_get_interaction_property step)
min=$(csg_get_interaction_property min)
max=$(csg_get_interaction_property max)
index1=$(csg_get_interaction_property inverse.espresso.index1)
index2=$(csg_get_interaction_property inverse.espresso.index2)

echo "Analyzing rdf for ${type1}-${type2}"
if is_done "rdf-$name"; then
    echo "rdf analsysis for ${type1}-${type2} is already done"
else
    # Output ${name}.dist.new.tab. Calculated by Espresso.
    esp_script="$(critical mktemp esp.rdf.tcl.XXXXX)" 
    esp_success="$(critical mktemp esp.rdf.done.XXXXX)"
    cat > $esp_script <<EOF
puts "Calculating RDF. Please wait..."
# First read the original conf.esp file to get the box size
set esp_in [open "|gzip -cd $esp" r]
while { [blockfile \$esp_in read auto] != "eof" } { }
close \$esp_in


set in [open $top_traj r]
set numbins [expr int(($max-$min)/($binsize*1.))]
set bf_count 0
set rdf ""
while { [blockfile \$in read auto] != "eof" } {
  if { \$bf_count > [expr 2 + $equi_snapshots] } {
    analyze append
    # <rdf> if there's only one molecule, <rdf-intermol> otherwise
    if { \$num_molecules == 1 } {
      set rdf [analyze <rdf> [set $index1] [set $index2] $min $max \$numbins]
    } else {
      set rdf [analyze <rdf-intermol> [set $index1] [set $index2] $min $max \$numbins]
    }
  }
  incr bf_count
}
close \$in

foreach value [lindex \$rdf 1] {
  lappend rlist [lindex \$value 0]
  lappend rdflist [lindex \$value 1]
}

set out [open $name.dist.new.tab w]
foreach r \$rlist rdf \$rdflist { puts \$out "\$r \$rdf" }
close \$out

puts "Calculation finished."

set out [open $esp_success w]
close \$out
EOF
    
    critical $esp_bin $esp_script
    [ -f "$esp_success" ] || die "${0##*/}: Espresso calc rdf did not end successfully. Check log."
    
    comment="$(get_table_comment)"
    critical csg_resample --in ${name}.dist.new.tab --out ${name}.dist.new --grid ${min}:${binsize}:${max} --comment "$comment"
    mark_done "rdf-$name"
fi