#!/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/branches/antanas-BO-atomProperties/AtomProperties/parts/covalent_radii/Cordero2008/covalent_radii $
#------------------------------------------------------------------------------
#*
# Filters spin-state 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}{"l.s."} ) {
        $atoms->{$_}{spin_state_radii} = $atoms->{$_}{covalent_radii};
        undef $atoms->{$_}{covalent_radii};
        delete $atoms->{$_}{covalent_radii};
        delete $atoms->{$_}{covalent_radii_esd};
        delete $atoms->{$_}{bond_distances_counts};
    } else {
        delete $atoms->{$_}
    }


}

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

print Dump $atoms;
