Example #1
0
parser.set_defaults(permutations=False)
parser.add_argument('seqs', type=str, nargs='+', help='Sequences')

args = parser.parse_args()

fasta_sequences = SeqIO.to_dict(SeqIO.parse(open(args.fasta), 'fasta'))

seqs = []
for seq in args.seqs: 
    seqs.append(str(fasta_sequences[seq].seq).lower())

with open(args.cost, 'r') as cost_file:
    letters = cost_file.readline().lower()
    complex_ycost = numpy.matrix(cost_file.read())


def input_y(a, b):
    try:
        return complex_ycost[letters.index(a), letters.index(b)]
    except:
        print('WTF ' + a + ' - ' + b + ' is not a real cost')
        sys.exit(1)
        return 0 

if args.permutations:
    AiBS.multi_approx(input_y, 5, *seqs)
else: 
    alignment = AiBS.approx(input_y, 5, *seqs)
    for (i, r) in enumerate(alignment):
        print(">seq" + str(i+1))
        print(r)
Example #2
0



def input_y(a, b):
	try:
		return complex_ycost[letters.index(a), letters.index(b)]
	except:
		print('WTF ' + a + ' - ' + b + ' is not a real cost')
		sys.exit(1)
		return 0 


if args.matrix:
	keys = list(fasta_sequences.keys())
	keys.sort()
	res = numpy.zeros(shape=(len(keys),len(keys)))
	print(keys)
	for s1, s2 in list(permutations(keys,2)):
		if args.affine:
			res[keys.index(s1), keys.index(s2)] = AiBS.global_affine(fasta_sequences[s1], fasta_sequences[s2],  input_y, 5, 5, False)
		else: 
			res[keys.index(s1), keys.index(s2)] = AiBS.global_linear(fasta_sequences[s1], fasta_sequences[s2],  input_y, 5, False)
	print(res)
	sys.exit()

if args.affine:
	print(AiBS.global_affine(seq1, seq2,  input_y, 5, 5, args.backtrack))
else: 
	print(AiBS.global_linear(seq1, seq2,  input_y, 5, args.backtrack))
Example #3
0
parser.add_argument('seq1', type=str, help='Sequence 1')
parser.add_argument('seq2', type=str, help='Sequence 2')
parser.add_argument('seq3', type=str, help='Sequence 3')
parser.add_argument('--backtrack', dest='backtrack', action='store_true')
parser.set_defaults(backtrack=False)

args = parser.parse_args()

fasta_sequences = SeqIO.to_dict(SeqIO.parse(open(args.fasta),'fasta'))

seq1 = str(fasta_sequences[args.seq1].seq).lower()
seq2 = str(fasta_sequences[args.seq2].seq).lower()
seq3 = str(fasta_sequences[args.seq3].seq).lower()

with open(args.cost, 'r') as cost_file:
	letters = cost_file.readline().lower()
	complex_ycost = numpy.matrix(cost_file.read())




def input_y(a, b):
	try:
		return complex_ycost[letters.index(a), letters.index(b)]
	except:
		print('WTF ' + a + ' - ' + b + ' is not a real cost')
		sys.exit(1)
		return 0 

print(AiBS.exact_3(seq1, seq2, seq3, input_y, 5, args.backtrack))
Example #4
0
parser = argparse.ArgumentParser(description='Genome Sequence Analyzor')
parser.add_argument('cost', type=str, help='Cost file to read')
parser.add_argument('--backtrack', dest='backtrack', action='store_true')
parser.add_argument('fastas', type=str, nargs='+', help='Fasta')

args = parser.parse_args()

def input_y(a, b):
	try:
		return complex_ycost[letters.index(a), letters.index(b)]
	except:
		print('WTF ' + a + ' - ' + b + ' is not a real cost')
		sys.exit(1)
		return 0

print("#len\texact\tapprox")

for fasta in args.fastas:

	fasta_sequences = SeqIO.to_dict(SeqIO.parse(open(fasta),'fasta'))

	seq1 = str(list(fasta_sequences.values())[0].seq).lower()
	seq2 = str(list(fasta_sequences.values())[1].seq).lower()
	seq3 = str(list(fasta_sequences.values())[2].seq).lower()

	with open(args.cost, 'r') as cost_file:
		letters = cost_file.readline().lower()
		complex_ycost = numpy.matrix(cost_file.read())

	print(str(len(seq1)) + "\t" + str(AiBS.exact_3(seq1, seq2, seq3, input_y, 5, args.backtrack)) + "\t" + str(AiBS.approx_score(input_y, 5, seq1, seq2, seq3)))