From a6ba13c48f2f8c66276e64239ecde697ba8defc5 Mon Sep 17 00:00:00 2001 From: pollytikhonova Date: Wed, 29 Jan 2020 19:18:54 +0300 Subject: [PATCH] version 2.1.10 --- README.md | 5 +- dist_old_versions/phigaro-0.2.1.8.tar.gz | Bin 0 -> 69931 bytes dist_old_versions/phigaro-2.1.9.tar.gz | Bin 0 -> 69325 bytes phigaro/_version.py | 2 +- phigaro/batch/task/preprocess.py | 18 ++++-- phigaro/batch/task/run_phigaro.py | 49 +++++++++++++- phigaro/cli/batch.py | 19 ++++-- phigaro/context.py | 3 +- phigaro/data.py | 12 ++-- prepare_and_publish_package.bat | 19 ++++++ setup.py | 6 +- setup_version.py | 79 +++++++++++++++++++++++ tag_name | 1 + test_data_gitaction/latest_version.txt | 2 +- test_data_gitaction/test_python2.sh | 7 -- test_data_gitaction/test_python3.sh | 9 --- test_data_gitaction/test_short_seq.fasta | 29 +++++++++ 17 files changed, 217 insertions(+), 43 deletions(-) create mode 100644 dist_old_versions/phigaro-0.2.1.8.tar.gz create mode 100644 dist_old_versions/phigaro-2.1.9.tar.gz create mode 100644 prepare_and_publish_package.bat create mode 100644 setup_version.py create mode 100644 tag_name delete mode 100644 test_data_gitaction/test_python2.sh delete mode 100644 test_data_gitaction/test_python3.sh diff --git a/README.md b/README.md index bb86e8d..b1dc493 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -# Phigaro v2.1.9 -Phigaro is a command-line tool for predicting and annotating phages and prophages from nucleid acid sequences (including metagenome assemblies) and is based on identifying phage genes via pVOG profile HMMs and a smoothing window algorithm. https://doi.org/10.1101/598243 +# Phigaro v2.1.10 ## Requirements @@ -135,4 +134,4 @@ Phigaro is tested on Linux systems. For MacOS, you may need to add the following ## Publication Elizaveta V. Starikova, Polina O. Tikhonova, Nikita A. Prianichnikov, Chris M. Rands, Evgeny M. Zdobnov, Vadim M. Govorun (2019), Phigaro: high throughput prophage sequence annotation, bioRxiv 598243; doi: https://doi.org/10.1101/598243 -(c) E.Starikova, P. Tikhonova, N.Pryanichnikov, 2019 +(c) E.Starikova, P. Tikhonova, N.Pryanichnikov, 2019 \ No newline at end of file diff --git a/dist_old_versions/phigaro-0.2.1.8.tar.gz b/dist_old_versions/phigaro-0.2.1.8.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0968a49ed317726b20c76cbbb56aae66d425cdcf GIT binary patch literal 69931 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 R|9tzO{|}Xctc(D#1OP)a&~E?$ literal 0 HcmV?d00001 diff --git a/dist_old_versions/phigaro-2.1.9.tar.gz b/dist_old_versions/phigaro-2.1.9.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d4ae842399e4412e78c7a109b15918a64c20fac3 GIT binary patch literal 69325 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 0: - print( - 'Error! Your fasta file contains at least one sequence length < 20000. The short sequences are: ') - print('\n'.join(sequences_to_delete)) - if not get_users_answer('Do you want to start Phigaro without these sequences?'): - self.clean() - exit(1) + if not self.config['phigaro']['delete_shorts']: + if len(sequences_to_delete) > 0: + print( + 'Error! Your fasta file contains at least one sequence length < 20000. The short sequences are: ') + print('\n'.join(sequences_to_delete)) + if not get_users_answer('Do you want to start Phigaro without these sequences?'): + self.clean() + exit(1) def output(self): return self.file('{}.fasta'.format(self.sample)) diff --git a/phigaro/batch/task/run_phigaro.py b/phigaro/batch/task/run_phigaro.py index bda5a6e..5fe302a 100644 --- a/phigaro/batch/task/run_phigaro.py +++ b/phigaro/batch/task/run_phigaro.py @@ -13,6 +13,7 @@ from Bio.SeqRecord import SeqRecord from phigaro.to_html.preprocess import plot_html, form_sequence, if_transposable from phigaro.to_html.html_formation import form_html_document +from phigaro.context import Context class RunPhigaroTask(AbstractTask): task_name = 'run_phigaro' @@ -39,6 +40,7 @@ def _prepare(self): self._save_fasta = self.config['phigaro'].get('save_fasta', False) self._output = self.config['phigaro'].get('output', False) self._uuid = self.config['phigaro'].get('uuid', False) + self.context = Context.instance() def output(self): return self.file('{}.tsv'.format(self.sample)) @@ -47,6 +49,8 @@ def run(self): max_evalue = self.config['hmmer']['e_value_threshold'] penalty_black = self.config['phigaro']['penalty_black'] penalty_white = self.config['phigaro']['penalty_white'] + gff = self.config['phigaro']['gff'] + bed = self.config['phigaro']['bed'] pvogs_black_list = const.DEFAULT_BLACK_LIST pvogs_white_list = const.DEFAULT_WHITE_LIST @@ -54,6 +58,13 @@ def run(self): scaffold_set = read_prodigal_output(self.prodigal_task.output()) hmmer_result = read_hmmer_output(self.hmmer_task.output()) + gff_base = ['##gff-version 3.2.1'] + gff_scaffold = [] + gff_prophage = [] + gff_gene = [] + bed_prophage = [] + bed_gene = [] + with open(self.output(), 'w') as of: writer = csv.writer(of, delimiter='\t') @@ -67,22 +78,50 @@ def run(self): transposables_status = [] phage_num = 0 for scaffold in scaffold_set: + if gff: + gff_scaffold.append('##sequence-region %s 1 %d'%(scaffold.name, self.context.scaffolds_info[scaffold.name])) phage_info.append([scaffold.name, []]) genes = list(scaffold) # type: list[Gene] npn = hmmer_res_to_npn(scaffold, hmmer_result, max_evalue=max_evalue, penalty_black = penalty_black, penalty_white = penalty_white, pvogs_black_list = pvogs_black_list, pvogs_white_list = pvogs_white_list) gc = hmmer_res_to_gc(scaffold, hmmer_result, max_evalue=max_evalue) - phages = self.finder.find_phages(npn, gc) for phage in phages: phage_num += 1 begin = genes[phage.begin].begin end = genes[phage.end].end + phage_genes = genes[phage.begin:(phage.end+1)] + if gff: + gff_prophage.append('\t'.join([scaffold.name, '.', 'prophage', + str(begin+1), str(end+1), + '.', '.', '.', + 'ID=prophage%d'%phage_num])) + if bed: + bed_prophage.append('\t'.join([scaffold.name, + str(begin), str(end), + 'prophage%d' % phage_num, + '.', '.'])) hmmer_records = [ hmmer_result.min_record(hmmer_result.get_records(scaffold.name, gene.name)) for gene in genes[phage.begin: phage.end] ] + if gff or bed: + for record in phage_genes: + hmmer_record = hmmer_result.min_record(hmmer_result.get_records(scaffold.name, record.name)) + pvog = '.' if hmmer_record is None else hmmer_record.vog_name + evalue = '.' if hmmer_record is None else hmmer_record.evalue + if gff: + gff_gene.append('\t'.join([scaffold.name, '.', 'gene', + str(record.begin+1), str(record.end+1), + str(evalue), '+' if record.strand>0 else '-', '.', + 'ID=gene%s;Parent=prophage%d;pvog=%s'%(record.name, phage_num, pvog)])) + if bed: + bed_gene.append('\t'.join([scaffold.name, + str(record.begin), str(record.end+1), + 'gene%s' % (record.name), + str(evalue), '+' if record.strand > 0 else '-'])) + hmmer_pvogs_records = ( record.vog_name for record in hmmer_records @@ -112,6 +151,14 @@ def run(self): if (not self._no_html) and (self._output): plotly_plots.append(plot_html(hmmer_records, begin, end)) phage_info = phage_info if len(phage_info[-1][1]) > 0 else phage_info[:-1] + + if gff: + with open(self._output+'.gff3', 'w') as f: + f.write('\n'.join(gff_base+gff_scaffold+gff_prophage+gff_gene)) + if bed: + with open(self._output+'.bed', 'w') as f: + f.write('\n'.join(gff_base+bed_prophage+bed_gene)) + if (len(phage_info) > 0) and (not self._no_html) and (self._output): html = form_html_document(phage_info, transposables_status, plotly_plots, self._filename, self._uuid) with open(self._output+'.html', 'w') as f: diff --git a/phigaro/cli/batch.py b/phigaro/cli/batch.py index ee1a3b0..3bf29c6 100644 --- a/phigaro/cli/batch.py +++ b/phigaro/cli/batch.py @@ -65,10 +65,10 @@ def main(): version='%(prog)s {version}'.format(version=__version__)) parser.add_argument('-f', '--fasta-file', help='Assembly scaffolds/contigs or full genomes, required', required=True) - parser.add_argument('-c', '--config', default=default_config_path, help='Config file, not required') + parser.add_argument('-c', '--config', default=default_config_path, help='Path to the config file, not required') parser.add_argument('-v', '--verbose', action='store_true', help=argparse.SUPPRESS) parser.add_argument('-p', '--print-vogs', help='Print phage vogs for each region', action='store_true') - parser.add_argument('-e', '--extension', default=['html'], nargs='+', help='Type of the output: html, txt or stdout. Default is html. You can specify several file formats with a space as a separator. Example: -e txt html stdout.') + parser.add_argument('-e', '--extension', default=['html'], nargs='+', help='Type of the output: html, txt, gff, bed or stdout. Default is html. You can specify several file formats with a space as a separator. Example: -e txt html stdout.') parser.add_argument('-o', '--output', default=False, help='Output filename for html and txt outputs. Required by default, but not required for stdout only output.') parser.add_argument('--not-open', help='Do not open html file automatically, if html output type is specified.', action='store_true') parser.add_argument('-t', '--threads', @@ -77,7 +77,8 @@ def main(): help='Num of threads (' 'default is num of CPUs={})'.format(multiprocessing.cpu_count())) parser.add_argument('--no-cleanup', action='store_true', help=argparse.SUPPRESS) - parser.add_argument('-S', '--substitute-output', action='append', help=argparse.SUPPRESS) + parser.add_argument('-S', '--substitute-output', action='append', help='If you have precomputed prodigal and/or hmmer data you can provide paths to the files in the following format: program:address/to/the/file. In place of program you should write hmmer or prodigal. If you need to provide both files you should pass them separetely as two parametres.') + parser.add_argument('-d', '--delete-shorts', action='store_true', help='Exclude sequences with length < 20000 automatically.') args = parser.parse_args() @@ -106,13 +107,20 @@ def main(): config['phigaro']['not_open'] = args.not_open config['phigaro']['output'] = args.output config['phigaro']['uuid'] = uuid.uuid4().hex - + config['phigaro']['delete_shorts'] = args.delete_shorts + config['phigaro']['gff'] = True if ('gff' in args.extension) else False + config['phigaro']['bed'] = True if ('bed' in args.extension) else False filename = args.fasta_file sample = '{}-{}'.format( sample_name(filename), config['phigaro']['uuid'] ) + if config['phigaro']['output'] is not None: + fold = '/'.join(config['phigaro']['output'].replace('\\', '/').split('/')[:-1]) + if not os.path.isdir(fold): + os.mkdir(fold) + Context.initialize( sample=sample, config=config, @@ -147,8 +155,9 @@ def main(): if ('txt' in args.extension) or ('stdout' in args.extension): with open(task_output_file) as f: + f = list(f) if 'txt' in args.extension: - out_f = open(args.output, 'w') + out_f = open(args.output+'.tsv', 'w') for line in f: out_f.write(line) if 'stdout' in args.extension: diff --git a/phigaro/context.py b/phigaro/context.py index e118c50..071f91a 100644 --- a/phigaro/context.py +++ b/phigaro/context.py @@ -5,11 +5,12 @@ class Context(object): def __init__(self, sample, threads, config): """ - :type sample: str :type config: dict :type threads: int + :type threads: dict """ self.threads = threads self.sample = sample self.config = config + self.scaffolds_info = {} diff --git a/phigaro/data.py b/phigaro/data.py index 7104e58..121d1a9 100644 --- a/phigaro/data.py +++ b/phigaro/data.py @@ -72,11 +72,12 @@ def hmmer_res_to_gc(scaffold, hmmer_result, max_evalue): class Gene(object): - def __init__(self, name, begin, end, scaffold=None): + def __init__(self, name, begin, end, strand, scaffold=None): # type: (str, int, int, Scaffold|None)->Gene self.name = name self.begin = begin self.end = end + self.strand = strand self.scaffold = scaffold @@ -166,9 +167,9 @@ def parse_line(line): vog_name=tokens[2], evalue=float(tokens[4]), gc_cont=gc_cont, - begin = int(begin), - end = int(end), - strand = int(strand) + begin=int(begin), + end=int(end), + strand=int(strand) ) with open(file_path) as f: @@ -192,7 +193,8 @@ def extract_coords_and_name(gene_str): return Gene( name=tokens[0], begin=int(tokens[1]), - end=int(tokens[2]) + end=int(tokens[2]), + strand=int(tokens[3]) ) def parse_gene_records(gene_records): diff --git a/prepare_and_publish_package.bat b/prepare_and_publish_package.bat new file mode 100644 index 0000000..557b038 --- /dev/null +++ b/prepare_and_publish_package.bat @@ -0,0 +1,19 @@ +echo "Did you change git action and updated the package?" +pause +git pull +move /-Y dist\*.* dist_old_versions\ +C:\Users\tikho\Anaconda3\python.exe setup_version.py +pause +C:\Users\tikho\Anaconda3\python.exe setup.py sdist +pause +git add --all +git status +pause +set /P commit_name="Please, make up the commit name:" +set /p tag==1.7.0', 'pandas>=0.23.4','sh', 'singleton', 'PyYAML>=5.1', 'future', 'argparse', 'numpy', 'plotly', 'bs4', 'beautifulsoup4>=4.4.0', 'lxml','biopython'] -) +) \ No newline at end of file diff --git a/setup_version.py b/setup_version.py new file mode 100644 index 0000000..1316517 --- /dev/null +++ b/setup_version.py @@ -0,0 +1,79 @@ +# change version: +# readme +# setup +# latest_version.txt +# version file + +from copy import deepcopy + +setup_file = 'setup.py' +version_file = 'phigaro/_version.py' +readme_file = 'README.md' +latest_version_file = 'test_data_gitaction/latest_version.txt' +tag_file = 'tag_name' + +with open(setup_file, 'r') as f: + tmp_version = f.readlines()[6].strip() +print('Temporary %s'% tmp_version) + +tmp_version = tmp_version.replace('version=', '').replace('"', '').replace(',', '') +tmp_version = tmp_version.split('.') +version_variants = [] +for i in list(range(len(tmp_version)))[::-1]: + tmp_version_ = deepcopy(tmp_version) + tmp_version_[i] = str(int(tmp_version_[i])+1) + version_variants.append('.'.join(tmp_version_)) + tmp_version[i] = '0' + +def ask_version(version_variants): + + def confirm(version, version_variants): + print('Do you agree? Yes/No') + user_answer = input() + if user_answer.upper() in {'Y', 'YES'}: + return version + elif user_answer.upper() in {'N', 'NO'}: + return ask_version(version_variants) + else: + confirm(version, version_variants) + + for i, version in enumerate(version_variants): + print('[%d] %s'%(i, version)) + print('[%d] Type your version'%(len(version_variants))) + user_answer = input() + try: + version = version_variants[int(user_answer)] + except: + version = user_answer + print() + print('You choose version: %s'%version) + return confirm(version, version_variants) + + +version = ask_version(version_variants) + +for file_ in [setup_file, version_file]: + with open(file_, 'r') as f: + lines = f.readlines() + lines_new = [] + for line in lines: + if ('version="' in line) or ('__version__' in line): + line = '='.join(line.split('=')[:-1]+['"%s",'%version]) + if ('__version__' in line): + line = line[:-1] + line = line + '\n' + lines_new.append(line) + with open(file_, 'w') as f: + f.write(''.join(lines_new)) + +with open(readme_file, 'r') as f: + lines = f.readlines() +lines[0] = '# Phigaro v%s\n'%version +with open(readme_file, 'w') as f: + f.write(''.join(lines)) + +with open(latest_version_file, 'w') as f: + f.write('https://github.com/PollyTikhonova/phigaro/raw/master/phigaro-%s.tar.gz'%version) + +with open(tag_file, 'w') as f: + f.write('v%s'%version) diff --git a/tag_name b/tag_name new file mode 100644 index 0000000..dffa71b --- /dev/null +++ b/tag_name @@ -0,0 +1 @@ +v2.1.10 \ No newline at end of file diff --git a/test_data_gitaction/latest_version.txt b/test_data_gitaction/latest_version.txt index 5ddeec2..3955ac8 100644 --- a/test_data_gitaction/latest_version.txt +++ b/test_data_gitaction/latest_version.txt @@ -1 +1 @@ -https://github.com/PollyTikhonova/phigaro/raw/master/phigaro-0.2.1.8-3.tar.gz \ No newline at end of file +https://github.com/PollyTikhonova/phigaro/raw/master/phigaro-2.1.10.tar.gz \ No newline at end of file diff --git a/test_data_gitaction/test_python2.sh b/test_data_gitaction/test_python2.sh deleted file mode 100644 index 830e12c..0000000 --- a/test_data_gitaction/test_python2.sh +++ /dev/null @@ -1,7 +0,0 @@ -conda env list -conda activate python2 -pip install -r /home/latest_version.txt -phigaro -f /home/test_short_seq.fasta -o output -e html txt gff bed --not-open -d -pip uninstall phigaro -conda deactivate -echo Phigaro works fine at python2 \ No newline at end of file diff --git a/test_data_gitaction/test_python3.sh b/test_data_gitaction/test_python3.sh deleted file mode 100644 index c9f0855..0000000 --- a/test_data_gitaction/test_python3.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -/root/miniconda3/condabin/conda env list -/root/miniconda3/condabin/conda activate python3 -which pip -pip install -r /home/latest_version.txt -phigaro -f /home/test_short_seq.fasta -o output -e html txt gff bed --not-open -d -pip uninstall phigaro -conda deactivate -echo Phigaro works fine at python3 \ No newline at end of file diff --git a/test_data_gitaction/test_short_seq.fasta b/test_data_gitaction/test_short_seq.fasta index 3ce4614..8a46551 100644 --- a/test_data_gitaction/test_short_seq.fasta +++ b/test_data_gitaction/test_short_seq.fasta @@ -1,3 +1,32 @@ +>CP006715.1 Bifidobacterium breve 689b, complete genome +ATGGTTGATGTTTCCGGTGACCCCACAATCGAAGCTGCCCATATTTGGTCAAACACACTT +ACCCTTCTTAAGCGCAACAGCACTCTGACCGCACGAGAGAAGGGATGGCTTGAGGGAATA +GTTCCTGAAGGTGTGTTCGGCTCAACCATCGTGCTGTGTGTGGATAACAATGACACACTG +CAGGCCATTCAAGGCAATCTCAACGAATCATTGTTGCAAGCACTGCACACCGCAACCGGT +GAGAACATGTTCCCCGCGTTCAAAGTAGTGCCGCGCAGTGAACCGCAACCGGTCTCCCCT +TATCCAACGAATGCTTCGCCGACTCTCACTGATTTCGGCAAGGAACCGTATGGCGCGCCG +GAACCTGTGATTCCTGCTGTTGAACAGCAGTTCTCTGTGCCGCAGCAAAAAATGAATCGC +GATCCGGAAACTCATCTCAATAAGAGTTTCACTTTCGATTCGTTTGTTCCCGGTGACTCT +AATCGCTTCGCGCGAACTGTTGCATTGGCTGTGGCAGAGGGATCAGGCCAGGATTTCAAT +CCGTTGTGTATTTATGGCGGTTCCGGTTTGGGCAAAACACATTTGCTCAACGCCATCGGC +AATTACGCCTTGGTAAAGGATCCCGGCCTGAAGGTTCGATACGTCACTTCCGAGGAATTC +ACCAACGACTTTATTGACGCTCTGCAAAATACCAATCAGAGTCAAGGCCAGATAGCGGAA +TTCAACCGCCGATATCGCCAGGTAGATGTGCTGCTTATTGATGATATTCAGTTCCTAGGC +GGCAAGGAAGCCACTCTGGATCAGTTCTTCCATACGTTCAATTCGCTGCATCAAGCGAAT +AAACGCATTGTCATTGCGTCTGATGTGGCTCCAAAAAACCTGAAAGGTTTTGAGGCTCGA +CTGATTTCCCGCTTTGAATCCGGCCTGACCGTGGATGTCAAGCCGCCGGATTTGGAGACA +CGTATCGCCATTCTGCGCATGATTGCCGCAATGAACGGATCGAAGATTCCCAATGACGTT +CTGGATCTTATTGCCGAACGTTTCACGGAGAATATACGTGAATTGGAAGGCGCGCTGACC +CGCGTCACCGCCGTTGCCTCGCTGAGCAACCAGCCGGTGACCCGCGCTTTGGCGGAGCAA +ACGCTTCAAGACTTCTTTACCACCGATGTGGAAATCAAGCCCACCGACATCATCGGTCAA +GTGGCAAAGTACTTCCACTTGACGTTTGAGGATATCGTCGGCTCATCACGTACCAAGAAC +GTGGTGATTCCCCGACAGATAGCCATGTATCTCGCTCGCGAGATGACCAGCATGAGCCTG +ATGGATATCGGCGAGGTGTTTGGAGGTCGCGATCACACTACGGTAATGCATGCTTGCACC +CGTATTGGCGACAAAATGCAGCAGAAACAGGAAATCTATAACTACGTTATGGAACTGACT +GTGCGTTTGAAGCAGAACGCAGACTGAGTATGCCTATGGCTTCCTTTACGGGAGCCATTT +TTTTATATCTGCGCATATCCGAGAGAATCGTTCCTGAAGACCGATTTTGGCACTTTTTCA +AACCGAGCCAGAAAAAGTGCCGAAAACCGTCCTCAGAATCGATTCTCCTCGCCGATAATC +ATGTTCAACACGCCGTGCAAAGACCCAA >AP010890.1 Bifidobacterium longum subsp. infantis 157F DNA, complete genome ATGGTTAACGCTTCCGGCGACCCCGTAATCGAGGCCGCCCACATCTGGTCAGACACGCTG ACGGTGCTCAAACACAGCGCTTCGCTCAGCCCACGAGAAAAAGGCTGGTTGGAAGGCGTT