Beispiel #1
0
#!/usr/bin/python3

from fasta import FastaList
import argparse
import subprocess as sub

PARSER = argparse.ArgumentParser(description='Test of primerdelete')
PARSER.add_argument('-f', type=str, help='input fasta file', required=True)
PARSER.add_argument('-p',
                    type=str,
                    help='input primer fasta'
                    ' file',
                    required=True)
PARSER.add_argument('-o', type=str, help='output file', required=True)
PARSER.add_argument('-m', type=str, help='muscle path', required=True)
ARGS = PARSER.parse_args()
fa = FastaList(ARGS.f)
fa.wr_fasta_file(ARGS.o, ARGS.p)
outfi = ARGS.o.split('.')[0] + '.afa'
muscle = sub.Popen(ARGS.m + ' -in ' + ARGS.o + ' -out ' + outfi + ' -quiet')
muscle.wait()
Beispiel #2
0
if os.path.isdir(ARGS.od):
    shutil.rmtree(ARGS.od)
os.mkdir(ARGS.od)
refs = FastaList(ARGS.r)
for seqfile in os.listdir(ARGS.id):
    if 'log' in seqfile:
        continue
    print('Cleaning: {}'.format(seqfile))
    input_name = ARGS.id + seqfile
    output_name = ARGS.od + seqfile
    fa_in = FastaList(input_name)

    # Remove primers if primers exit in seq. rmprimers return an empty list
    # if no primers are found
    if fa_in.rmprimers(ARGS.p):
        fa_in.wr_fasta_file(output_name, ARGS.p)
        fa_in = FastaList(output_name)
    for item in refs.seq_list:
        if seqfile.split('.')[0] in item.split('\n')[0]:
            with open(output_name, 'a') as fi:
                fi.write(item)
                fi.close()
    muscle_out = output_name.split('.')[0] + '.afa'
    muscle = sub.Popen(ARGS.m + ' -in ' + output_name + ' -out ' + muscle_out +
                       ' -gapopen -1000 -quiet')
    muscle.wait()
    reference_seq = ''
    cropped_alignment = FastaList(muscle_out).crop_ends()
    for item in cropped_alignment:
        if [m.start() for m in re.finditer('ref', item)]:
            reference_seq = item
Beispiel #3
0
#!/usr/bin/python3
# Removes columns containing degenerate nucleotides from alignment and writes
# a new alignment as output file.

import argparse
from fasta import FastaList

PARSER = argparse.ArgumentParser(description='Removes columns with degenerate '
                                 'nucleotides from alignment '
                                 'and writes a new alignment as '
                                 'output file')
PARSER.add_argument('-i', type=str, help='fastq input filename', required=True)
PARSER.add_argument('-o',
                    type=str,
                    help='fastq output filename',
                    default='out.fa')
ARGS = PARSER.parse_args()
newseq_list = FastaList(ARGS.i)
newseq_list.rm_non_agct_columns()
newseq_list.wr_fasta_file(ARGS.o)