private static bool CheckPubmedIds(string xmlString, ClinVarItem clinVarItem) { var match = Regex.Match(xmlString, @"<a href=""/pubmed/(\d+)"">"); var pubmedHash = new HashSet <long>(); while (match.Success) { pubmedHash.Add(Convert.ToInt64(match.Groups[1].Value)); match = match.NextMatch(); } // we are using xor here. if they are not the same, we return false. if (clinVarItem.PubmedIds == null ^ pubmedHash.Count == 0) { PrintDiff(clinVarItem.ID.Split('.')[0], "pubmed", clinVarItem, pubmedHash); return(false); } foreach (var pId in pubmedHash) { if (clinVarItem.PubmedIds == null) { return(false); } if (!clinVarItem.PubmedIds.Contains(pId)) { PrintDiff(clinVarItem.ID.Split('.')[0], "pubmed", clinVarItem, pubmedHash); return(false); } } return(true); }
public void AllSuppAnnotOutputTest() { const string altAllele = "C"; var sa = new SupplementaryAnnotationPosition(115256529); var oneKg = new OneKGenAnnotation { OneKgAllAn = 5008, OneKgAllAc = 2130, OneKgAmrAn = 694, OneKgAmrAc = 250 }; var dbSnp = new DbSnpAnnotation { DbSnp = new List <long> { 11554290 } }; var saCreator = new SupplementaryPositionCreator(sa); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.OneKg, "C", oneKg); saCreator.AddExternalDataToAsa(DataSourceCommon.DataSource.DbSnp, "C", dbSnp); var cosmicItem1 = new CosmicItem("chr1", 115256529, "COSM1000", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("", "carcinoma", "oesophagus") }, 1, altAllele); var cosmicItem2 = new CosmicItem("chr1", 115256529, "COSM1001", "T", altAllele, "TP53", new HashSet <CosmicItem.CosmicStudy> { new CosmicItem.CosmicStudy("01", "carcinoma", "large_intestine") }, 1, altAllele); cosmicItem1.AddCosmicToSa(saCreator); cosmicItem2.AddCosmicToSa(saCreator); var clinvarItem1 = new ClinVarItem(null, 0, null, altAllele, null, "RCV001", null, null, new List <string> { "ORPHA2462" }, null, null, "other"); sa.ClinVarItems.Add(clinvarItem1); var saReader = new MockSupplementaryAnnotationReader(sa); var infoColumn = VcfUtilities.GetVcfColumn(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", VcfCommon.InfoIndex); Assert.Contains("AF1000G=0.425319", infoColumn); Assert.Contains("cosmic=1|COSM1000,1|COSM1001", infoColumn); Assert.Contains("clinvar=1|other", infoColumn); }
public void ClinVarOutputTest() { var sa = new SupplementaryAnnotationPosition(115256529); var clinvarItem1 = new ClinVarItem(null, 0, null, "C", null, "RCV001", null, null, new List <string> { "ORPHA2462" }, null, null, "other"); sa.ClinVarItems.Add(clinvarItem1); var saReader = new MockSupplementaryAnnotationReader(sa); VcfUtilities.FieldContains(saReader, "chr1\t115256529\t.\tT\tC\t1000\tPASS\t.\tGT\t0/1", "clinvar=1|other", VcfCommon.InfoIndex); }
private bool ValidateRefAllele(ClinVarItem clinvarVariant) { if (string.IsNullOrEmpty(clinvarVariant.RefAllele) || clinvarVariant.RefAllele == "-") { return(true); } string refAllele = clinvarVariant.RefAllele; if (string.IsNullOrEmpty(refAllele)) { return(true); } int refLength = clinvarVariant.Stop - clinvarVariant.Position + 1; return(refLength == refAllele.Length && _sequenceProvider.Sequence.Validate(clinvarVariant.Position, clinvarVariant.Stop, refAllele)); }
private bool ValidateRefAllele(ClinVarItem clinvarVariant) { if (string.IsNullOrEmpty(clinvarVariant.ReferenceAllele) || clinvarVariant.ReferenceAllele == "-") { return(true); } var refAllele = clinvarVariant.ReferenceAllele; if (string.IsNullOrEmpty(refAllele)) { return(true); } var refLength = clinvarVariant.Stop - clinvarVariant.Start + 1; return(refLength == refAllele.Length && _sequenceProvider.Sequence.Validate(clinvarVariant.Start, clinvarVariant.Stop, refAllele)); //var stop = clinvarVariant.Start + refAllele.Length - 1; //return _sequenceProvider.Sequence.Validate(clinvarVariant.Start, stop, refAllele); }
private static void PrintDiff(string rcv, string fieldName, ClinVarItem clinVarItem, HashSet <long> pubmedHash) { Console.Write(rcv + '\t' + fieldName + '\t'); if (pubmedHash != null) { foreach (var id in pubmedHash.OrderBy(x => x)) { Console.Write(id.ToString() + ','); } } Console.Write('\t'); if (clinVarItem.PubmedIds != null) { foreach (var id in clinVarItem.PubmedIds.OrderBy(x => x)) { Console.Write(id.ToString() + ','); } } Console.WriteLine(); }
private static string GetAltAllele(ClinVarItem variant, ISequence compressedSequence) { return(variant == null ? null : compressedSequence.Substring(variant.Position - 1, variant.Stop - variant.Position + 1)); }
private static string GetReferenceAllele(ClinVarItem variant, ISequence compressedSequence) { return(variant == null ? null : compressedSequence.Substring(variant.Start - 1, variant.Stop - variant.Start + 1)); }