Mercurial > repos > mmonot > phageterm
changeset 10:bdae526345d4 draft
Uploaded
author | mmonot |
---|---|
date | Thu, 13 Jul 2017 09:29:27 -0400 |
parents | dd6f46ab0d6f |
children | ddcd3484bc04 |
files | phageterm/._.DS_Store phageterm/._PhageTerm.py phageterm/._PhageTerm.xml phageterm/._READ_ME.txt phageterm/PhageTerm.py phageterm/_modules/._functions_PhageTerm.py phageterm/_modules/functions_PhageTerm.py |
diffstat | 7 files changed, 43 insertions(+), 49 deletions(-) [+] |
line wrap: on
line diff
--- a/phageterm/PhageTerm.py Fri Jun 09 06:00:50 2017 -0400 +++ b/phageterm/PhageTerm.py Thu Jul 13 09:29:27 2017 -0400 @@ -159,48 +159,48 @@ if options.test == "C5": print "\nPerforming a test run using test phage sequence with 5 prime cohesive overhang :" - print "\npython PhageTerm.py -f test_files/COS-5.fastq -r test_files/COS-5.fasta -n TEST_cohesive_5_prime" - fastq = "test_files/COS-5.fastq" - reference = "test_files/COS-5.fasta" + print "\npython PhageTerm.py -f test-data/COS-5.fastq -r test-data/COS-5.fasta -n TEST_cohesive_5_prime" + fastq = "test-data/COS-5.fastq" + reference = "test-data/COS-5.fasta" phagename = "Test-cohesive-5'" elif options.test == "C3": print "\nPerforming a test run using test phage sequence with 3 prime cohesive overhang:" - print "\npython PhageTerm.py -f test_files/COS-3.fastq -r test_files/COS-3.fasta -n TEST_cohesive_3_prime" - fastq = "test_files/COS-3.fastq" - reference = "test_files/COS-3.fasta" + print "\npython PhageTerm.py -f test-data/COS-3.fastq -r test-data/COS-3.fasta -n TEST_cohesive_3_prime" + fastq = "test-data/COS-3.fastq" + reference = "test-data/COS-3.fasta" phagename = "Test-cohesive-3'" elif options.test == "DS": print "\nPerforming a test run using test phage sequence with short direct terminal repeats (DTR-short) :" - print "\npython PhageTerm.py -f test_files/DTR-short.fastq -r test_files/DTR-short.fasta -n TEST_short_direct_terminal_repeats" - fastq = "test_files/DTR-short.fastq" - reference = "test_files/DTR-short.fasta" + print "\npython PhageTerm.py -f test-data/DTR-short.fastq -r test-data/DTR-short.fasta -n TEST_short_direct_terminal_repeats" + fastq = "test-data/DTR-short.fastq" + reference = "test-data/DTR-short.fasta" phagename = "Test-short-direct-terminal-repeats" elif options.test == "DL": print "\nPerforming a test run using test phage sequence with long direct terminal repeats (DTR-long) :" - print "\npython PhageTerm.py -f test_files/DTR-long.fastq -r test_files/DTR-long.fasta -n TEST_long_direct_terminal_repeats" - fastq = "test_files/DTR-long.fastq" - reference = "test_files/DTR-long.fasta" + print "\npython PhageTerm.py -f test-data/DTR-long.fastq -r test-data/DTR-long.fasta -n TEST_long_direct_terminal_repeats" + fastq = "test-data/DTR-long.fastq" + reference = "test-data/DTR-long.fasta" phagename = "Test-long-direct-terminal-repeats" elif options.test == "H": print "\nPerforming a test run using test phage sequence with headful packaging" - print "\npython PhageTerm.py -f test_files/Headful.fastq -r test_files/Headful.fasta -n TEST_headful" - fastq = "test_files/Headful.fastq" - reference = "test_files/Headful.fasta" + print "\npython PhageTerm.py -f test-data/Headful.fastq -r test-data/Headful.fasta -n TEST_headful" + fastq = "test-data/Headful.fastq" + reference = "test-data/Headful.fasta" phagename = "Test-Headful" surrounding = 0 elif options.test == "M": print "\nPerforming a test run using test phage sequence with Mu-like packaging" - print "\npython PhageTerm.py -f test_files/Mu-like_R1.fastq -p test_files/Mu-like_R2.fastq -r test_files/Mu-like.fasta -n TEST_Mu-like -g test_files/Mu-like_host.fasta" - fastq = "test_files/Mu-like_R1.fastq" - paired = "test_files/Mu-like_R2.fastq" - reference = "test_files/Mu-like.fasta" - host = "test_files/Mu-like_host.fasta" + print "\npython PhageTerm.py -f test-data/Mu-like_R1.fastq -p test-data/Mu-like_R2.fastq -r test-data/Mu-like.fasta -n TEST_Mu-like -g test-data/Mu-like_host.fasta" + fastq = "test-data/Mu-like_R1.fastq" + paired = "test-data/Mu-like_R2.fastq" + reference = "test-data/Mu-like.fasta" + host = "test-data/Mu-like_host.fasta" phagename = "Test-Mu-like" surrounding = 0 @@ -420,7 +420,7 @@ # Sequence ExportCohesiveSeq(phagename, ArtcohesiveSeq, P_seqcoh, test_run) -ExportPhageSequence(phagename, P_left, P_right, refseq, P_orient, Redundant, Mu_like, test_run) +ExportPhageSequence(phagename, P_left, P_right, refseq, P_orient, Redundant, Mu_like, P_class, P_seqcoh, test_run) # Report CreateReport(phagename, seed, added_whole_coverage, draw, Redundant, P_left, P_right, Permuted, P_orient, termini_coverage_norm_close, picMaxPlus_norm_close, picMaxMinus_norm_close, gen_len, tot_reads, P_seqcoh, phage_plus_norm, phage_minus_norm, ArtPackmode, termini, forward, reverse, ArtOrient, ArtcohesiveSeq, termini_coverage_close, picMaxPlus_close, picMaxMinus_close, picOUT_norm_forw, picOUT_norm_rev, picOUT_forw, picOUT_rev, lost_perc, ave_whole_cov, R1, R2, R3, host, host_len, host_whole_coverage, picMaxPlus_host, picMaxMinus_host, surrounding, drop_cov, paired, insert, phage_hybrid_coverage, host_hybrid_coverage, added_paired_whole_coverage, Mu_like, test_run, P_class, P_type, P_concat)
--- a/phageterm/_modules/functions_PhageTerm.py Fri Jun 09 06:00:50 2017 -0400 +++ b/phageterm/_modules/functions_PhageTerm.py Thu Jul 13 09:29:27 2017 -0400 @@ -888,28 +888,16 @@ gen_len = nbr_lim*2 PosPlus = picMaxPlus[0][1] PosMinus = picMaxMinus[0][1] - if PosPlus - PosMinus >= 0: - if PosPlus - PosMinus < nbr_lim: - seqcoh = refseq[PosMinus-1:PosPlus] - if len(seqcoh) > ( 0.1 * gen_len ): - return '', "OTHER" - return seqcoh, Packmode - else: - seqcoh = refseq[0:PosMinus] + refseq[PosPlus:gen_len+1] - if len(seqcoh) > ( 0.1 * gen_len ): - return '', "OTHER" - return seqcoh, Packmode - if PosMinus - PosPlus > 0: - if PosMinus - PosPlus < nbr_lim: - seqcoh = reverseComplement(refseq[PosPlus:PosMinus+1]) - if len(seqcoh) > ( 0.1 * gen_len ): - return '', "OTHER" - return seqcoh, Packmode - else: - seqcoh = reverseComplement(refseq[PosMinus+1:gen_len]) + refseq[0:PosPlus] - if len(seqcoh) > ( 0.1 * gen_len ): - return '', "OTHER" - return seqcoh, Packmode + if abs(PosMinus - PosPlus) < nbr_lim: + seqcoh = refseq[min(PosPlus, PosMinus):max(PosPlus,PosMinus)+1] + if len(seqcoh) > ( 0.1 * gen_len ): + return '', "OTHER" + return seqcoh, Packmode + else: + seqcoh = refseq[max(PosPlus,PosMinus)+1:] + refseq[:min(PosPlus, PosMinus)] + if len(seqcoh) > ( 0.1 * gen_len ): + return '', "OTHER" + return seqcoh, Packmode ### IMAGE Functions @@ -1279,7 +1267,7 @@ filout.close() return -def ExportPhageSequence(phagename, P_left, P_right, refseq, P_orient, Redundant, Mu_like, test_run): +def ExportPhageSequence(phagename, P_left, P_right, refseq, P_orient, Redundant, Mu_like, P_class, P_seqcoh, test_run): """Export the phage sequence reorganized and completed if needed.""" if test_run: return @@ -1307,12 +1295,18 @@ # COS elif isinstance(P_left, int) and isinstance(P_right, int): - # Cohesive phage - if not Redundant: - seq_out = refseq[P_left-1:] + refseq[:P_left-1] - # Direct Terminal Repeats + # Genome + if abs(P_left-P_right) > len(refseq)/2: + seq_out = refseq[min(P_left,P_right)-1:max(P_left,P_right)] else: - seq_out = refseq[P_left-1:] + refseq[:P_left-1][:-1] + refseq[P_left-1:P_right-1] + seq_out = refseq[max(P_left,P_right):] + refseq[:min(P_left,P_right)-1] + # Cos or DTR + if P_class == "COS (5')": + seq_out = P_seqcoh + seq_out + elif P_class == "COS (3')": + seq_out = seq_out + P_seqcoh + else: + seq_out = P_seqcoh + seq_out + P_seqcoh # PAC elif isinstance(P_left, int) or isinstance(P_right, int):