Difference between revisions of "SPARKY list"
		
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
		
		
		
		
		
		
	
| Line 9: | Line 9: | ||
</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 ==  | ||
| + | <source lang="bash">  | ||
| + | #!/bin/tcsh -f -e  | ||
| + | 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:Software]]  | ||
Revision as of 09:46, 11 October 2013
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
#!/bin/tcsh -f -e
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