File: generate-atomistic-DNA.bash

package info (click to toggle)
macromoleculebuilder 4.2%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 119,404 kB
  • sloc: cpp: 23,722; python: 5,098; ansic: 2,101; awk: 145; perl: 144; makefile: 40; sh: 38
file content (21 lines) | stat: -rwxr-xr-x 1,194 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/bash

# Short procedure to pad residue numbers with zeroes. Otherwise we will find it difficult to sort properly.
pad_residue_numbers () {
counter=1
until [ $counter -gt 9999 ]
do
    if test -f "last.$counter.pdb"; then
        echo "padding last.$counter.pdb residue numbers with zeroes"
        cp last.$counter.pdb temp.1.pdb
        cat temp.1.pdb | awk '{if (substr($0,23,1) == " ") {print substr($0,1,22)"0"substr($0,24)}else {print}}' | awk '{if (substr($0,24,1) == " ") {print substr($0,1,23)"0"substr($0,25)}else {print}}' | awk '{if (substr($0,25,1) == " ") {print substr($0,1,24)"0"substr($0,26)}else {print}}' > temp.2.pdb
	mv -f temp.2.pdb last.$counter.pdb
    fi
    ((counter++))
done
}

rm -f  last.*.pdb; 	docker run  -v $(pwd):/work --rm -it samuelflores/mmb-ubuntu:4.0.0 MMB -C 	commands.spiral.dat ; pad_residue_numbers ; cat last.?.pdb last.??.pdb last.???.pdb last.????.pdb > temp.1.pdb; sed -i 's/H5T/P\ \ /g' ./temp.1.pdb; awk '{if ($3 == "P"){print $5"P"$2,$0} else {print $5"Z"$2,$0}}' temp.1.pdb > temp.2.pdb; sort -k1 temp.2.pdb > temp.3.pdb; awk '{print substr($0,13)}' temp.3.pdb | grep -v REMARK | grep -v H3T > DNA-spiral.pdb; 

echo "all done."
exit 0