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
Binary file phageterm/._.DS_Store has changed
Binary file phageterm/._PhageTerm.py has changed
Binary file phageterm/._PhageTerm.xml has changed
Binary file phageterm/._READ_ME.txt has changed
--- 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)
Binary file phageterm/_modules/._functions_PhageTerm.py has changed
--- 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):