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

生物技术

开发平台:

C/C++

  1. #!/usr/bin/python
  2. # $Id: bl2seq.py,v 1000.0 2003/10/31 21:37:15 gouriano Exp $
  3. #
  4. # Author:  Josh Cherry
  5. #
  6. # align two nucleotide sequences using bl2seq
  7. # (from gbench)
  8. import sys
  9. import string
  10. import commands
  11. import os
  12. def writefasta(seq, fname):
  13.    s = ">" + fname + "n"
  14.    for pos in range(0, len(seq), 60):
  15.       s += seq[pos:pos+60]
  16.       s += 'n'
  17.    f = open(fname, "w")
  18.    f.write(s)
  19.    f.close
  20. input = sys.stdin.read()
  21. l = string.split(input)
  22. if len(l) != 2:
  23.    sys.stderr.write("need exactly 2 sequences; you supplied %dn" % len(l))
  24.    sys.exit(1)
  25. writefasta(l[0], 'seq1.fasta')
  26. writefasta(l[1], 'seq2.fasta')
  27. # run bl2seq, which must be on path
  28. os.system('bl2seq -p blastn -i seq1.fasta -j seq2.fasta')
  29. # then delete temporary fasta files
  30. os.system('rm seq1.fasta seq2.fasta')
  31. # ===========================================================================
  32. # $Log: bl2seq.py,v $
  33. # Revision 1000.0  2003/10/31 21:37:15  gouriano
  34. # PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  35. #
  36. # Revision 1.1  2003/06/24 16:41:12  jcherry
  37. # Initial versions of scripts for use with gbench
  38. #
  39. # ===========================================================================
  40. #  ===========================================================================
  41. #  PRODUCTION $Log: bl2seq.py,v $
  42. #  PRODUCTION Revision 1000.0  2003/10/31 21:37:15  gouriano
  43. #  PRODUCTION PRODUCTION: IMPORTED [ORIGINAL] Dev-tree R1.1
  44. #  PRODUCTION
  45. #  ===========================================================================