Dpuiu Linux: Difference between revisions

From Cbcb
Jump to navigation Jump to search
Line 110: Line 110:
* diff
* diff
   diff -rq dir1 dir2 : recursively compares 2 directories
   diff -rq dir1 dir2 : recursively compares 2 directories
* sort by multiple columns
  # column 2:alpha, 3:nucmeric
  cat prefix.posmap | msort -k2 -kn3
  cat prefix.sam| msort -k3 -kn4


= Utils =
= Utils =

Revision as of 16:43, 30 June 2011

Version Control

Sourceforge

 shell server:  	shell.sourceforge.net
 CVS server: 	        PROJECTNAME.cvs.sourceforge.net
 Subversion server: 	PROJECTNAME.svn.sourceforge.net

Authentication:

  sh-keygen -t dsa -C dxpuiu@shell.sf.net
  cat /nfshomes/dpuiu/.ssh/id_dsa.pub >> /nfshomes/dpuiu/.ssh/authorized_keys
  • Upload key to the Sourceforge server ("Account Maintenance" site)

Patching

 diff  file.old file.new > file.diff
 patch file.old file.patch

CVS

  • Local CVS
 echo $CVSROOT
 /fs/szdevel/src/cvsroot
 /fs/szdevel/src/cvsroot/users/dpuiu/
  • Checkout
 cvs -z3 -d:ext:dxpuiu@amos.cvs.sourceforge.net:/cvsroot/amos co -P AMOS
  • Add a new file
 cd src/Utils 
 cp ~/bin/file .
 
 cvs add file
 cvs ci
  • Add a new dir
 cd src/Utils 
 cp -R ~/bin/dir .
 
 cvs add dir
 cvs ci
 
 cd dir
 cvs add *
 cvs ci
  • Update files
 cd src/Utils 
 
 cvs update
  • Check status
 cvs status -v | grep Status:
  • Tagging a file
 cvs tag file.tag file
  • Downloading a tagged file
 cvs co -r file.tag file
  • Options
 -l : Local; run only in current working directory, rather than recursing through subdirectories.
 -R: Recursive (default)
 -m message
  • Keep track of the version in the code :
 Add following line: my $VERSION = '$Revision: 1.0 $ ';
 Revision gets automatically incremented when "cvs ci"; no need to "cvs update"
  • View file
 http://amos.cvs.sourceforge.net/viewvc/*checkout*/amos/AMOS/src/Utils/seq2amos.pl
  • View all files
 http://amos.cvs.sourceforge.net/viewvc/amos/

Git

  • yum install git-core

Build

  • autoconf extensible package of M4 macros that produce shell scripts to automatically configure software source code packages
  • m4 man implementation of the traditional Unix macro processor
  • libtool generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
  • Application Build
  • Example: copy executables to /fs/szdevel/dpuiu/; libs to ...
 ./configure --prefix=/fs/szdevel/dpuiu/ --libdir=/fs/szdevel/dpuiu/lib > configure.log 
 make                                                                   > make.log
 make install                                                           > make.install.log
  • Example: explicit compiler location
 ./configure CC=/usr/bin/gcc CXX=/usr/bin/g++
  • Example: build for debug
 ./configure CFLAGS="-g -pg" CXXFLAGS="-g -pg"
 ...

Redirect

  • tcsh : STDOUT & STDERR separately
 (command >stdout_file ) >&stderr_file

Config

Commands

  • ftp
 ftp - i  : turns interactive mode off
 > prompt : turns interactive mode off
  • diff
 diff -rq dir1 dir2 : recursively compares 2 directories
  • sort by multiple columns
 # column 2:alpha, 3:nucmeric
 cat prefix.posmap | msort -k2 -kn3
 cat prefix.sam| msort -k3 -kn4

Utils

 strip executable # removes debugging info => executable_new
 
 gcc -pg prefix.cc -o prefix   # -pg: profiling flag
 ./prefix #=> gmon.out
 gprof prefix > prefix.out
 /nfshomes/dpuiu/szdevel/bin/gprof2dot.py prefix.out > prefix.dot 
 dot -Tpng -o prefix.png prefix.dot

Convert profiling to dot format

Syncronize directories

  • Example: syncronize FASTA files
cd dir1
rsync *fasta ../dir2

System info

 /usr/sbin/./x86info
 cat /proc/cpuinfo
  • sycamore (8 processor):
 cat /proc/cpuinfo | more
 vendor_id       : AuthenticAMD
 cpu family      : 15
 model           : 33
 model name      : Dual Core AMD Opteron(tm) Processor 875
 stepping        : 0
 cpu MHz         : 1793.260
 cache size      : 1024 KB
 physical id     : 0
 siblings        : 2
 core id         : 0
 cpu cores       : 2
  • walnut (16 processor):
 vendor_id       : AuthenticAMD
 cpu family      : 15
 model           : 65
 model name      : Dual-Core AMD Opteron(tm) Processor 8220
 stepping        : 3
 cpu MHz         : 2792.923
 cache size      : 1024 KB
 physical id     : 2
 siblings        : 2
 core id         : 0
 cpu cores       : 2
  • ginkgo (32 processor)
 vendor_id       : AuthenticAMD
 cpu family      : 16
 model           : 2
 model name      : Quad-Core AMD Opteron(tm) Processor 8356
 stepping        : 3
 cpu MHz         : 2293.905
 cache size      : 512 KB
 physical id     : 1
 siblings        : 4
 core id         : 0
 cpu cores       : 4
  • Memory
 cat /proc/meminfo
 free -mt

Gnuplot

Scripts for automatic generation:

  • ~/bin/len-draw.pl prefix.len : draws a histogram of chromosome lengths
  • ~/bin/map-draw.pl prefix.map : draws a synteny map

Example:

 perl ~/bin/len-draw.pl turkey.len | gnuplot ; display turkey.png

Image manipulation

 montage *a.jpg montage.jpg
  • Get attributes
 identify prefix.jpg

Audio/Video manipulation

Pretty printing

  • enscript
 enscript -G -r -B -f "Courier8" -p file.ps file.txt
 ps2pdf file.ps file.pdf
 lpr file.pdf

Quick calculations

  • bc
echo 99 \* 8 | bc
echo 99 \< 8 | bc

Commands

alias

  • With arguments:
 alias backup cp -i  \!:1  \!:1.`date`

mkfifo

 mkfifo fifo
 cat   fifo &
 ls >> fifo

chgrp

  • Make all new files craeted under /fs/www-umiacs-users belong to dpuiu
 chgrp cbcb /fs/www-umiacs-users/dpuiu
 chmod 775 /fs/www-umiacs-users/dpuiu
 chmod g+s /fs/www-umiacs-users/dpuiu

time

  • Format
 Time                                Memory                    IO
 %Uuser %Ssystem %Eelapsed  %PCPU    (%Xtext+%Ddata %Mmax)k    %Iinputs+%Ooutputs (%Fmajor+%Rminor)pagefaults %Wswaps

 %U     Total number of CPU-seconds that the process spent in user mode.
 %S     Total number of CPU-seconds that the process spent in kernel mode.
 %E     Elapsed real time (in [hours:]minutes:seconds).

 %P     Percentage of the CPU that this job got, computed as (%U + %S) / %E.

Articles