Difference between revisions of "SPARKY list"

From relax wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
__TOC__
 +
 
== Format of a sparky list ==
 
== Format of a sparky list ==
 
To be show properly in sparky and read by relax, the list should be of format
 
To be show properly in sparky and read by relax, the list should be of format
Line 9: Line 11:
 
</source>
 
</source>
 
The '''N''' should be standing first, and the '''w1''' should be the corresponding ppm for nitrogen.
 
The '''N''' should be standing first, and the '''w1''' should be the corresponding ppm for nitrogen.
 +
 +
== sparky_shift1_col.sh ==
 +
Can be used to shift column
 +
<source lang="bash">
 +
#!/bin/tcsh -f
 +
set PEAKS=$1
 +
set PEAKSTEMP=${PEAKS}.temp
 +
set PEAKSNEW=${PEAKS}.shift
 +
#awk '{print $1, $2, $3}' $PEAKS > $PEAKSTEMP
 +
cp -f $PEAKS $PEAKSTEMP
 +
set ASSIGNS=`awk '$2 ~ /^[0-9]/ {print $0}' $PEAKSTEMP`
 +
#set ASSIGNS=`awk '{print $1, $2, $3}' $PEAKSTEMP`
 +
set TJECK1=`echo $ASSIGNS[1] | rev | cut -c1`
 +
set TJECK2=`echo $ASSIGNS[1] | rev | cut -c2`
 +
set TJECK12=`echo $ASSIGNS[1] | rev | cut -c1-2`
 +
if ( $TJECK2 == 'H' && $TJECK12 == 'NH' ) then
 +
else if ( $TJECK1 == 'N') then
 +
    sed -i "s/HN/XX/" $PEAKSTEMP
 +
    sed -i "s/N /HN /" $PEAKSTEMP
 +
    sed -i "s/XX/N/" $PEAKSTEMP
 +
else
 +
    echo "Whoops. Something wrong, I exit. Check your peak list"
 +
    exit   
 +
endif
 +
 +
set C2=`expr $ASSIGNS[2]`
 +
set C3=`expr $ASSIGNS[3]`
 +
set C2N=`echo "$C2 > 50" | bc`
 +
set C2HN=`echo "$C2 < 15" | bc`
 +
set C3N=`echo "$C3 > 50" | bc`
 +
set C3HN=`echo "$C3 < 15" | bc`
 +
if ($C2N == 1 && $C3HN == 1) then
 +
    awk '{print $1,$2,$3}' $PEAKSTEMP > $PEAKSNEW
 +
else if ($C3N == 1 && $C2HN == 1) then
 +
    awk '{print $1,$3,$2}' $PEAKSTEMP > $PEAKSNEW
 +
endif
 +
rm $PEAKSTEMP
 +
</source>
  
 
== See also ==
 
== See also ==
 
[[Category:Peak_lists]]
 
[[Category:Peak_lists]]
[[Category:Software]]
+
[[Category:NMR software]]

Latest revision as of 16:11, 21 October 2020

Format of a sparky list

To be show properly in sparky and read by relax, the list should be of format

 Assignment         w1         w2  

 V2N-HN    128.055      8.874 
 F3N-HN    128.210      8.893 
 G4N-HN    105.080      8.509

The N should be standing first, and the w1 should be the corresponding ppm for nitrogen.

sparky_shift1_col.sh

Can be used to shift column

#!/bin/tcsh -f
set PEAKS=$1
set PEAKSTEMP=${PEAKS}.temp
set PEAKSNEW=${PEAKS}.shift
#awk '{print $1, $2, $3}' $PEAKS > $PEAKSTEMP
cp -f $PEAKS $PEAKSTEMP
set ASSIGNS=`awk '$2 ~ /^[0-9]/ {print $0}' $PEAKSTEMP`
#set ASSIGNS=`awk '{print $1, $2, $3}' $PEAKSTEMP`
set TJECK1=`echo $ASSIGNS[1] | rev | cut -c1`
set TJECK2=`echo $ASSIGNS[1] | rev | cut -c2`
set TJECK12=`echo $ASSIGNS[1] | rev | cut -c1-2`
if ( $TJECK2 == 'H' && $TJECK12 == 'NH' ) then
else if ( $TJECK1 == 'N') then
    sed -i "s/HN/XX/" $PEAKSTEMP
    sed -i "s/N /HN /" $PEAKSTEMP
    sed -i "s/XX/N/" $PEAKSTEMP
else
    echo "Whoops. Something wrong, I exit. Check your peak list"
    exit     
endif

set C2=`expr $ASSIGNS[2]`
set C3=`expr $ASSIGNS[3]`
set C2N=`echo "$C2 > 50" | bc`
set C2HN=`echo "$C2 < 15" | bc`
set C3N=`echo "$C3 > 50" | bc`
set C3HN=`echo "$C3 < 15" | bc`
if ($C2N == 1 && $C3HN == 1) then
    awk '{print $1,$2,$3}' $PEAKSTEMP > $PEAKSNEW
else if ($C3N == 1 && $C2HN == 1) then
    awk '{print $1,$3,$2}' $PEAKSTEMP > $PEAKSNEW
endif
rm $PEAKSTEMP

See also