dotter.tcl
上传用户:yhdzpy8989
上传日期:2007-06-13
资源大小:13604k
文件大小:2k
源码类别:

生物技术

开发平台:

C/C++

  1. #!/usr/bin/tclsh
  2. # $Id: dotter.tcl,v 1000.0 2003/10/31 21:37:31 gouriano Exp $
  3. #
  4. # Author: Josh Cherry
  5. #
  6. # launch dotter on sequences we're handed
  7. # for use with gbench
  8. # dotter must be on path
  9. # procedure to write a fasta file
  10. proc writefasta {seq filename} {
  11.     set f [open $filename w]
  12.     puts $f >[string trimleft $filename 0]
  13.     
  14.     set fseq [exec fold -60 << $seq]
  15.     puts $f $fseq
  16.     
  17.     close $f
  18. }
  19. # main program
  20. set seqs [read stdin]
  21. set nseqs [llength $seqs]
  22. if {$nseqs != 1 && $nseqs != 2} {
  23.     puts stderr "need exactly 1 or 2 sequences; you provided $nseqs"
  24.     exit 1
  25. }
  26. # if handed just one sequence, we'll plot it against itself,
  27. # so 'double' it
  28. if {$nseqs == 1} {
  29.     set seqs [list $seqs $seqs]
  30. }
  31. # write temporary fasta files
  32. writefasta [lindex $seqs 0] seq1.fasta
  33. writefasta [lindex $seqs 1] seq2.fasta
  34. # execute dotter on temporaries
  35. exec dotter seq1.fasta seq2.fasta >& /dev/null &
  36. # cheesy: wait a few seconds to let dotter read files
  37. # before removing them
  38. exec sleep 5
  39. exec rm seq1.fasta seq2.fasta
  40. exit 0
  41. # ===========================================================================
  42. # $Log: dotter.tcl,v $
  43. # Revision 1000.0  2003/10/31 21:37:31  gouriano
  44. # PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  45. #
  46. # Revision 1.1  2003/06/19 19:39:20  jcherry
  47. # Some simple scripts for execution by gbench
  48. #
  49. # ===========================================================================
  50. #  ===========================================================================
  51. #  PRODUCTION $Log: dotter.tcl,v $
  52. #  PRODUCTION Revision 1000.0  2003/10/31 21:37:31  gouriano
  53. #  PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  54. #  PRODUCTION
  55. #  ===========================================================================