File: test.py

package info (click to toggle)
cassiopee 1.0.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 452 kB
  • sloc: cpp: 3,735; ansic: 440; python: 32; sh: 9; makefile: 9
file content (40 lines) | stat: -rw-r--r-- 1,016 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/python

import os
import sys
import subprocess

def searchPattern(pos, pattern):
    #print('Search, pos: '+str(i)+', '+pattern)
    subprocess.check_call(['../bin/cassiopee', '-p', pattern,
                     '-s', 'test2.fasta.cass',
                     '-o', 'test.out',
                     '-r'
                    ])
    results = None
    with open('test.out', 'r') as res:
        results = res.readlines()
    if not results:
        return False
    match = False
    for result in results:
        elts = result.split('\t')
        if str(pos) == elts[0]:
            match = True
            break
    if not match:
        return False
    return True
       


sequence = ''
with open('test2.fasta.cass', 'r') as seq:
    sequence = seq.read()

for i in range(0, len(sequence) - 1):
    for j in range(1, len(sequence) - i ):
        found = searchPattern(i, sequence[i:i+j])
        if not found:
            print('Not found: pos: '+str(i)+', '+sequence[i:i+j])
            sys.exit(1)