[med-svn] [Git][med-team/cutesv][master] 4 commits: New upstream version 1.0.13
Andreas Tille (@tille)
gitlab at salsa.debian.org
Wed Jan 26 20:11:37 GMT 2022
Andreas Tille pushed to branch master at Debian Med / cutesv
Commits:
f652ffb0 by Andreas Tille at 2022-01-26T21:04:46+01:00
New upstream version 1.0.13
- - - - -
a9c314fa by Andreas Tille at 2022-01-26T21:04:46+01:00
routine-update: New upstream version
- - - - -
b44b078c by Andreas Tille at 2022-01-26T21:04:50+01:00
Update upstream source from tag 'upstream/1.0.13'
Update to upstream version '1.0.13'
with Debian dir 7951b45763b8cffb91f6f0df893f2cb9db39aceb
- - - - -
5bffe473 by Andreas Tille at 2022-01-26T21:10:52+01:00
Upload to unstable
- - - - -
10 changed files:
- README.md
- debian/changelog
- setup.py
- src/cuteSV/cuteSV
- src/cuteSV/cuteSV_Description.py
- src/cuteSV/cuteSV_genotype.py
- src/cuteSV/cuteSV_resolveDUP.py
- src/cuteSV/cuteSV_resolveINDEL.py
- src/cuteSV/cuteSV_resolveINV.py
- src/cuteSV/cuteSV_resolveTRA.py
Changes:
=====================================
README.md
=====================================
@@ -116,6 +116,10 @@ Please cite the manuscript of cuteSV before using these callsets.
---
### Changelog
+ cuteSV (v1.0.13):
+ 1. Modify the breakpoints of alternative allele and reference allele.
+ 2. Fix an initialization error that will reproduce wrong diploid-assembly-based SV call.
+
cuteSV (v1.0.12):
1. Add Allele frequency (AF) info in the outputs.
2. Fix an index error when force calling BND variants.
=====================================
debian/changelog
=====================================
@@ -1,3 +1,9 @@
+cutesv (1.0.13-1) unstable; urgency=medium
+
+ * New upstream version
+
+ -- Andreas Tille <tille at debian.org> Wed, 26 Jan 2022 21:09:42 +0100
+
cutesv (1.0.12-1) unstable; urgency=medium
* DEP3
=====================================
setup.py
=====================================
@@ -7,7 +7,7 @@ with open('README.md') as f:
setup(
name = "cuteSV",
- version = "1.0.12",
+ version = "1.0.13",
description = "Long-read-based human genomic structural variation detection with cuteSV",
author = "Jiang Tao",
author_email = "tjiang at hit.edu.cn",
=====================================
src/cuteSV/cuteSV
=====================================
@@ -4,8 +4,8 @@
* All rights Reserved, Designed By HIT-Bioinformatics
* @Title: cuteSV
* @author: tjiang
- * @date: Oct 4th 2021
- * @version V1.0.12
+ * @date: Jan 24th 2022
+ * @version V1.0.13
'''
import pysam
@@ -463,7 +463,7 @@ def parse_read(read, Chr_name, SV_size, min_mapq, max_split_parts, min_read_len,
process_signal = detect_flag(read.flag)
if read.mapq >= min_mapq:
- pos_start = read.reference_start
+ pos_start = read.reference_start # 0-based
pos_end = read.reference_end
shift_del = 0
shift_ins = 0
@@ -493,7 +493,6 @@ def parse_read(read, Chr_name, SV_size, min_mapq, max_split_parts, min_read_len,
if element[0] in [0, 2, 7, 8]:
shift_ins += element[1]
if element[0] == 1 and element[1] >= SV_size:
- shift_ins += 1
Combine_sig_in_same_read_ins.append([pos_start+shift_ins, element[1],
str(read.query_sequence[shift_ins_read-element[1]-hardclip_left:shift_ins_read-hardclip_left])])
=====================================
src/cuteSV/cuteSV_Description.py
=====================================
@@ -2,12 +2,12 @@
* All rights Reserved, Designed By HIT-Bioinformatics
* @Title: cuteSV_Description.py
* @author: tjiang
- * @date: Oct 4th 2021
- * @version V1.0.12
+ * @date: Jan 24th 2022
+ * @version V1.0.13
'''
import argparse
-VERSION = '1.0.12'
+VERSION = '1.0.13'
class cuteSVdp(object):
'''
=====================================
src/cuteSV/cuteSV_genotype.py
=====================================
@@ -109,9 +109,9 @@ def generate_output(args, semi_result, contigINFO, argv, ref_g):
if abs(int(float(i[3]))) > args.max_size and args.max_size != -1:
continue
if i[1] == "INS":
- cal_end = int(i[2]) + 1
+ cal_end = int(i[2])
else:
- cal_end = int(i[2]) + 1 + abs(int(float(i[3])))
+ cal_end = int(i[2]) + abs(int(float(i[3])))
info_list = "{PRECISION};SVTYPE={SVTYPE};SVLEN={SVLEN};END={END};CIPOS={CIPOS};CILEN={CILEN};RE={RE};RNAMES={RNAMES}".format(
PRECISION = "IMPRECISE" if i[8] == "0/0" else "PRECISE",
SVTYPE = i[1],
@@ -134,7 +134,7 @@ def generate_output(args, semi_result, contigINFO, argv, ref_g):
filter_lable = "PASS" if float(i[11]) >= 5.0 else "q5"
file.write("{CHR}\t{POS}\t{ID}\t{REF}\t{ALT}\t{QUAL}\t{PASS}\t{INFO}\t{FORMAT}\t{GT}:{DR}:{RE}:{PL}:{GQ}\n".format(
CHR = i[0],
- POS = str(int(i[2]) + 1),
+ POS = str(int(i[2])),
ID = "cuteSV.%s.%d"%(i[1], svid[i[1]]),
REF = str(ref_g[i[0]].seq[max(int(i[2])-1, 0)]) if i[1] == 'INS' else str(ref_g[i[0]].seq[max(int(i[2])-1, 0):int(i[2])-int(i[3])]),
ALT = "%s"%(str(ref_g[i[0]].seq[max(int(i[2])-1, 0)])+i[13] if i[1] == 'INS' else str(ref_g[i[0]].seq[max(int(i[2])-1, 0)])),
@@ -273,8 +273,8 @@ def generate_pvcf(args, result, contigINFO, argv, ref_g):
if abs(i[4]) > args.max_size and args.max_size != -1:
continue
elif i[12] == '<INS>':
- ref = str(ref_g[i[0]].seq[max(i[1]-2, 0)])
- alt = str(ref_g[i[0]].seq[max(i[1]-2, 0)]) + i[15]
+ ref = str(ref_g[i[0]].seq[max(i[1]-1, 0)])
+ alt = str(ref_g[i[0]].seq[max(i[1]-1, 0)]) + i[15]
else:
ref = i[11]
alt = i[12]
@@ -311,8 +311,8 @@ def generate_pvcf(args, result, contigINFO, argv, ref_g):
if abs(i[4]) > args.max_size and args.max_size != -1:
continue
elif i[12] == '<DEL>':
- ref = str(ref_g[i[0]].seq[max(i[1]-2, 0):int(i[1])-1-int(i[4])])
- alt = str(ref_g[i[0]].seq[max(int(i[1])-2, 0)])
+ ref = str(ref_g[i[0]].seq[max(int(i[1])-1, 0):int(i[1])-int(i[4])])
+ alt = str(ref_g[i[0]].seq[max(int(i[1])-1, 0)])
else:
ref = i[11]
alt = i[12]
=====================================
src/cuteSV/cuteSV_resolveDUP.py
=====================================
@@ -48,7 +48,11 @@ def resolution_DUP(path, chr, read_count, max_cluster_bias, sv_size,
semi_dup_cluster = []
semi_dup_cluster.append([pos_1, pos_2, read_id])
else:
- semi_dup_cluster.append([pos_1, pos_2, read_id])
+ if semi_dup_cluster[-1][0] == semi_dup_cluster[-1][1] == 0:
+ semi_dup_cluster = []
+ semi_dup_cluster.append([pos_1, pos_2, read_id])
+ else:
+ semi_dup_cluster.append([pos_1, pos_2, read_id])
if len(semi_dup_cluster) >= read_count:
if semi_dup_cluster[-1][0] == semi_dup_cluster[-1][1] == 0:
=====================================
src/cuteSV/cuteSV_resolveINDEL.py
=====================================
@@ -77,7 +77,11 @@ def resolution_DEL(path, chr, svtype, read_count, threshold_gloab, max_cluster_b
semi_del_cluster = []
semi_del_cluster.append([pos, indel_len, read_id])
else:
- semi_del_cluster.append([pos, indel_len, read_id])
+ if semi_del_cluster[-1][0] == semi_del_cluster[-1][1] == 0:
+ semi_del_cluster = []
+ semi_del_cluster.append([pos, indel_len, read_id])
+ else:
+ semi_del_cluster.append([pos, indel_len, read_id])
if len(semi_del_cluster) >= read_count:
if semi_del_cluster[-1][0] == semi_del_cluster[-1][1] == 0:
@@ -256,7 +260,11 @@ def resolution_INS(path, chr, svtype, read_count, threshold_gloab,
semi_ins_cluster = []
semi_ins_cluster.append([pos, indel_len, read_id, ins_seq])
else:
- semi_ins_cluster.append([pos, indel_len, read_id, ins_seq])
+ if semi_ins_cluster[-1][0] == semi_ins_cluster[-1][1] == 0:
+ semi_ins_cluster = []
+ semi_ins_cluster.append([pos, indel_len, read_id, ins_seq])
+ else:
+ semi_ins_cluster.append([pos, indel_len, read_id, ins_seq])
if len(semi_ins_cluster) >= read_count:
if semi_ins_cluster[-1][0] == semi_ins_cluster[-1][1] == 0:
=====================================
src/cuteSV/cuteSV_resolveINV.py
=====================================
@@ -69,7 +69,11 @@ def resolution_INV(path, chr, svtype, read_count, max_cluster_bias, sv_size,
semi_inv_cluster = []
semi_inv_cluster.append([breakpoint_1_in_read, breakpoint_2_in_read, read_id, strand])
else:
- semi_inv_cluster.append([breakpoint_1_in_read, breakpoint_2_in_read, read_id, strand])
+ if semi_inv_cluster[-1][0] == semi_inv_cluster[-1][1] == 0:
+ semi_inv_cluster = []
+ semi_inv_cluster.append([breakpoint_1_in_read, breakpoint_2_in_read, read_id, strand])
+ else:
+ semi_inv_cluster.append([breakpoint_1_in_read, breakpoint_2_in_read, read_id, strand])
if len(semi_inv_cluster) >= read_count:
if semi_inv_cluster[-1][0] == semi_inv_cluster[-1][1] == 0:
=====================================
src/cuteSV/cuteSV_resolveTRA.py
=====================================
@@ -62,7 +62,11 @@ def resolution_TRA(path, chr_1, chr_2, read_count, overlap_size, max_cluster_bia
semi_tra_cluster = []
semi_tra_cluster.append([pos_1, pos_2, read_id, BND_type])
else:
- semi_tra_cluster.append([pos_1, pos_2, read_id, BND_type])
+ if semi_tra_cluster[-1][0] == semi_tra_cluster[-1][1] == 0:
+ semi_tra_cluster = []
+ semi_tra_cluster.append([pos_1, pos_2, read_id, BND_type])
+ else:
+ semi_tra_cluster.append([pos_1, pos_2, read_id, BND_type])
if len(semi_tra_cluster) >= read_count:
if semi_tra_cluster[-1][0] == semi_tra_cluster[-1][1] == 0:
View it on GitLab: https://salsa.debian.org/med-team/cutesv/-/compare/a4937bc1990b2f4ea2a91c3c8bab4d2d5ff4c30d...5bffe473f82339130b25314c4b044765c34b3224
--
View it on GitLab: https://salsa.debian.org/med-team/cutesv/-/compare/a4937bc1990b2f4ea2a91c3c8bab4d2d5ff4c30d...5bffe473f82339130b25314c4b044765c34b3224
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20220126/22d100c0/attachment-0001.htm>
More information about the debian-med-commit
mailing list