コード例 #1
0
ファイル: test_BlastParse.py プロジェクト: hobrien/Python
def test_get_seqs():
  seqname = '1'
  args = parse_args((os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  seq = get_seq(args, seqname)
  print str(seq)
  assert str(seq) == 'CCCACACCGCGCAAAATTCTATACCAAAATCGACCT'    
  args = parse_args(('--translate', os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  seq = get_seq(args, seqname, start=2)
  print str(seq)
  assert str(seq) == 'PHRAKFYTKID'    
コード例 #2
0
ファイル: test_BlastParse.py プロジェクト: hobrien/Python
def test_parse_args():
  args = parse_args((os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  assert args.blastfilename ==  os.path.join(test_dir, 'test.tblastn')
  assert args.seqfilename ==  os.path.join(test_dir, 'test.fa')
  assert args.column_names == 'qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore'
  assert args.evalue == 10
  assert args.index_filename == os.path.join(test_dir, 'test.inx')
  assert args.program == 'tblastn'
  assert args.subject_name == 'test'
  assert args.translate is False
  args = parse_args(('--translate', os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  assert args.translate
  args = parse_args(('--translate', '--evalue', '1e-20', os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  assert args.evalue == 1e-20
コード例 #3
0
ファイル: test_BlastParse.py プロジェクト: hobrien/Python
def test_parse_blast():
  """Putting it all together"""
  args = parse_args(('--translate', os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  seqs = parse_blast(args)
  assert len(seqs) == 11
  print seqs[0].seq[:30]
  assert seqs[0].seq.find("RSQTPNSSVADDTRLHKRSMTISKGHSVSVVLISAALETIAASKEARRSTVIRESTQK") == 0
  print seqs[0].seq.count('*')
  assert seqs[0].seq.count('*') == 13
  print len(seqs[0].seq)
  assert len(seqs[0].seq) == 1809
  args = parse_args(('--translate', '--evalue', '1e-70', os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  seqs = parse_blast(args)
  assert len(seqs) == 1
  print seqs[0].seq[:30]
  assert seqs[0].seq.find("RSQTPNSSVADDTRLHKRSMTISKGHSVSVVLISAALETIAASKEARRSTVIRESTQK") == 0
  print seqs[0].seq.count('*')
  assert seqs[0].seq.count('*') == 13
  print len(seqs[0].seq)
  assert len(seqs[0].seq) == 1809
コード例 #4
0
ファイル: test_BlastParse.py プロジェクト: hobrien/Python
def test_combine_hits():
  """this will ensure that all pairs of coordinates are in the correct order (lowest to
  highest for + strand hits; highest to lowest for - strand hits"""
  
  args = parse_args((os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  results = top_query(args)
  for result in results:
    coords =  combine_hits(result)
    print coords
    if coords[0][0] < coords[0][1]:
      for x in range(len(coords)-1):
        assert coords[x][0] > coords[x+1][0]
    else:
      for x in range(len(coords)-1):
        assert coords[x][0] < coords[x+1][0]
コード例 #5
0
ファイル: test_BlastParse.py プロジェクト: hobrien/Python
def test_top_query():  #I can add to this to test the evalue filtering
  args = parse_args((os.path.join(test_dir, 'test.tblastn'), os.path.join(test_dir, 'test.fa')))
  results = top_query(args)
  assert len(results) == 11
  assert len(results[0]) == 12
  assert results[0][0]['pident'] == 61.77