| #!/usr/bin/env sh |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| if [ "$#" -ne 2 ]; then |
| echo "Usage: ./flatten_roda.sh <roda_dir> <output_dir>" |
| exit 1 |
| fi |
|
|
| RODA_DIR=$1 |
| OUTPUT_DIR=$2 |
|
|
| DATA_DIR="${OUTPUT_DIR}/data" |
| ALIGNMENT_DIR="${OUTPUT_DIR}/alignments" |
|
|
| mkdir -p "${DATA_DIR}" |
| mkdir -p "${ALIGNMENT_DIR}" |
|
|
| for chain_dir in "${RODA_DIR}"/*; do |
| if [ ! -d "$chain_dir" ]; then |
| continue |
| fi |
|
|
| chain_name=$(basename "$chain_dir") |
|
|
| for subdir in "$chain_dir"/*; do |
| if [ ! -d "$subdir" ]; then |
| echo "$subdir is not a directory" |
| continue |
| fi |
|
|
| if [ -z "$(ls -A "$subdir")" ]; then |
| continue |
| fi |
|
|
| subdir_name=$(basename "$subdir") |
|
|
| if [ "$subdir_name" = "pdb" ] || [ "$subdir_name" = "cif" ]; then |
| mv "$subdir"/* "${DATA_DIR}/" |
| else |
| CHAIN_ALIGNMENT_DIR="${ALIGNMENT_DIR}/${chain_name}" |
| mkdir -p "${CHAIN_ALIGNMENT_DIR}" |
| mv "$subdir"/* "${CHAIN_ALIGNMENT_DIR}/" |
| fi |
| done |
| done |
|
|
| NO_DATA_FILES=$(find "${DATA_DIR}" -type f | wc -l) |
| if [ "$NO_DATA_FILES" -eq 0 ]; then |
| rm -rf "${DATA_DIR}" |
| fi |