|
|
@@ -449,6 +449,33 @@ mod tests {
|
|
|
let row = "chr1\t161417408\tr_10_0\tT\t[chr1:161417447[TTGGCAGGTTCC\t.\tPASS\tSVTYPE=BND;MATEID=r_10_1;SVINSLEN=11;SVINSSEQ=TTGGCAGGTTC\tTR:VR\t22:3\t12:0";
|
|
|
let variant: VcfVariant = row.parse()?;
|
|
|
println!("{variant:#?}");
|
|
|
+ let u = variant.bnd_desc();
|
|
|
+ println!("{u:#?}");
|
|
|
+
|
|
|
+ // Severus mates are not in RC
|
|
|
+ let vcf = "chr7\t27304522\tseverus_BND6747_1\tN\t[chr6:32688062[N\t60\tPASS\tPRECISE;SVTYPE=BND;MATE_ID=severus_BND6747_2;STRANDS=--;MAPQ=60;CLUSTERID=severus_2\tGT:VAF:hVAF:DR:DV\t0/1:0.29:0.29,0,0:12:5";
|
|
|
+ let variant: VcfVariant = vcf.parse()?;
|
|
|
+ let bnd_a = variant.bnd_desc()?;
|
|
|
+
|
|
|
+ let vcf = "chr6\t32688062\tseverus_BND6747_2\tN\t[chr7:27304522[N\t60\tPASS\tPRECISE;SVTYPE=BND;MATE_ID=severus_BND6747_1;STRANDS=--;MAPQ=60;CLUSTERID=severus_2 GT:VAF:hVAF:DR:DV\t0/1:0.29:0.29,0,0:12:5";
|
|
|
+ let variant: VcfVariant = vcf.parse()?;
|
|
|
+ let bnd_b = variant.bnd_desc()?;
|
|
|
+ // assert_eq!(bnd_a, bnd_b);
|
|
|
+
|
|
|
+ println!("{bnd_a:#?}\n{bnd_b:#?}");
|
|
|
+
|
|
|
+ // Savana here each mate are in RC but the problem is in BP_notation
|
|
|
+ let vcf = "chr10\t102039096\tID_35957_2\tG\t]chr10:101973386]G\t.\tPASS\tSVTYPE=BND;MATEID=ID_35957_1;TUMOUR_READ_SUPPORT=7;TUMOUR_ALN_SUPPORT=7;NORMAL_READ_SUPPORT=0;NORMAL_ALN_SUPPORT=0;SVLEN=65710;BP_NOTATION=+-;SOURCE=SUPPLEMENTARY;CLUSTERED_READS_TUMOUR=7;CLUSTERED_READS_NORMAL=0;ORIGIN_STARTS_STD_DEV=0.35;ORIGIN_MAPQ_MEAN=60;ORIGIN_EVENT_SIZE_STD_DEV=7.248;ORIGIN_EVENT_SIZE_MEDIAN=65710;ORIGIN_EVENT_SIZE_MEAN=65705.4;END_STARTS_STD_DEV=7.007;END_MAPQ_MEAN=60;END_EVENT_SIZE_STD_DEV=7.248;END_EVENT_SIZE_MEDIAN=65710;END_EVENT_SIZE_MEAN=65705.4;TUMOUR_DP_BEFORE=38,29;TUMOUR_DP_AT=44,21;TUMOUR_DP_AFTER=44,21;NORMAL_DP_BEFORE=13,15;NORMAL_DP_AT=13,15;NORMAL_DP_AFTER=13,15;TUMOUR_AF=0.159,0.333;NORMAL_AF=0,0;TUMOUR_TOTAL_HP_AT=20,16,8;NORMAL_TOTAL_HP_AT=6,7,0;TUMOUR_ALT_HP=0,1,6;TUMOUR_PS=101917152;NORMAL_ALT_HP=0,0,0;CLASS=PREDICTED_SOMATIC\tGT\t0/1";
|
|
|
+ let variant: VcfVariant = vcf.parse()?;
|
|
|
+ let bnd_a = variant.bnd_desc()?;
|
|
|
+
|
|
|
+ let vcf = "chr10\t101973386\tID_35957_1\tA\tA[chr10:102039096[\t.\tPASS\tSVTYPE=BND;MATEID=ID_35957_2;TUMOUR_READ_SUPPORT=7;TUMOUR_ALN_SUPPORT=7;NORMAL_READ_SUPPORT=0;NORMAL_ALN_SUPPORT=0;SVLEN=65710;BP_NOTATION=+-;SOURCE=SUPPLEMENTARY;CLUSTERED_READS_TUMOUR=7;CLUSTERED_READS_NORMAL=0;ORIGIN_STARTS_STD_DEV=0.35;ORIGIN_MAPQ_MEAN=60;ORIGIN_EVENT_SIZE_STD_DEV=7.248;ORIGIN_EVENT_SIZE_MEDIAN=65710;ORIGIN_EVENT_SIZE_MEAN=65705.4;END_STARTS_STD_DEV=7.007;END_MAPQ_MEAN=60;END_EVENT_SIZE_STD_DEV=7.248;END_EVENT_SIZE_MEDIAN=65710;END_EVENT_SIZE_MEAN=65705.4;TUMOUR_DP_BEFORE=29,38;TUMOUR_DP_AT=21,44;TUMOUR_DP_AFTER=21,44;NORMAL_DP_BEFORE=15,13;NORMAL_DP_AT=15,13;NORMAL_DP_AFTER=15,13;TUMOUR_AF=0.333,0.159;NORMAL_AF=0,0;TUMOUR_TOTAL_HP_AT=17,0,4;NORMAL_TOTAL_HP_AT=5,7,3;TUMOUR_ALT_HP=0,6,1;TUMOUR_PS=101917152;NORMAL_ALT_HP=0,0,0;CLASS=PREDICTED_SOMATIC\tGT\t0/1";
|
|
|
+ let variant: VcfVariant = vcf.parse()?;
|
|
|
+ let bnd_b = variant.bnd_desc()?;
|
|
|
+ assert_eq!(bnd_a, bnd_b);
|
|
|
+
|
|
|
+ println!("{bnd_a:#?}\n{bnd_b:#?}");
|
|
|
+
|
|
|
|
|
|
Ok(())
|
|
|
}
|
|
|
@@ -677,7 +704,7 @@ mod tests {
|
|
|
#[test]
|
|
|
fn run_somatic_case() -> anyhow::Result<()> {
|
|
|
init();
|
|
|
- let id = "COIFFET";
|
|
|
+ let id = "TAHIR";
|
|
|
let mut config = Config::default();
|
|
|
config.somatic_pipe_force = true;
|
|
|
match Somatic::initialize(id, config)?.run() {
|
|
|
@@ -749,4 +776,21 @@ Ok(())
|
|
|
|
|
|
const_stats(id.to_string(), config);
|
|
|
}
|
|
|
+
|
|
|
+ #[test]
|
|
|
+ fn test_bnd() -> anyhow::Result<()> {
|
|
|
+ init();
|
|
|
+ let id = "COIFFET";
|
|
|
+ let config = Config::default();
|
|
|
+
|
|
|
+ let annotations = Annotations::default();
|
|
|
+ let s = Savana::initialize(id, config)?.variants(&annotations)?;
|
|
|
+ s.variants.iter().for_each(|e| {
|
|
|
+ if let Ok(bnd) = e.bnd_desc() {
|
|
|
+ println!("{}\t{}\t{}", e.position , e.reference, e.alternative);
|
|
|
+ println!("{:#?}", bnd);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Ok(())
|
|
|
+ }
|
|
|
}
|