#!/usr/bin/perl

#------------------------------------------------------------------------------
#$Author: antanas $
#$Date: 2014-07-07 15:52:55 +0300 (Mon, 07 Jul 2014) $ 
#$Rev: 2755 $
#$URL: svn://www.crystallography.net/cod-tools/tags/v2.1/data/AtomProperties/parts/covalent_radii/Cordero2008/covalent_radii $
#------------------------------------------------------------------------------
#*
# Filters covalent radii information from a yaml file. Outputs filtered data 
# in yaml file with metadata attached in comments.
#*
#* Usage:
#*     $0 file1.yaml
#**

use strict;
use warnings;

use List::Util qw(max);
use YAML qw(Dump Bless Load LoadFile);

@ARGV = ( "-" ) unless @ARGV;

my $atoms;

my $filename = $ARGV[0];

if ( $filename eq "-" ) {
    my $text = do { local $/; <STDIN> };
    $atoms = Load($text);
} else {
    $atoms = LoadFile($filename)
}

foreach ( sort keys %{$atoms} ) {

    if ( exists $atoms -> {$_} -> {"covalent_radii"} ) {
        my $longest = max(values $atoms -> {$_} -> {"covalent_radii"});
        $atoms -> {$_} -> {"covalent_radius"} = $longest;
    }

    delete $atoms -> {$_} -> {"covalent_radius_esd"};
    delete $atoms -> {$_} -> {"covalent_radii_esd"};
    delete $atoms -> {$_} -> {"bond_distances_count"};
    delete $atoms -> {$_} -> {"bond_distances_counts"};

}

print '#$Date: 2014-07-07 15:52:55 +0300 (Mon, 07 Jul 2014) $' . "\n";
print "#Original file: $ARGV[0]\n";
print "#Source: 'Covalent radii revisited', 2008, Cordero et al., " .
      "doi: 10.1039/b801115j\n";

print Dump $atoms;
