Difference between revisions of "SPARKY list"
Jump to navigation
Jump to search
m (removed Category:Software; added Category:NMR software using HotCat) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | __TOC__ |
+ | |||
+ | == Format of a sparky list == | ||
+ | To be show properly in sparky and read by relax, the list should be of format | ||
<source lang="text"> | <source lang="text"> | ||
− | + | Assignment w1 w2 | |
+ | |||
+ | V2N-HN 128.055 8.874 | ||
+ | F3N-HN 128.210 8.893 | ||
+ | G4N-HN 105.080 8.509 | ||
</source> | </source> | ||
+ | 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: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