public VariantBuilder addSample(String sampleName, String... data) { return addSample(sampleName, Arrays.asList(data)); }
public VariantBuilder addSample(String sampleName, List<String> data) { checkStudy("add sample"); if (samplesData == null) { samplesData = new ArrayList<>(samplesPosition != null ? samplesPosition.size() : 1); } if (samplesPosition == null) { samplesPosition = new LinkedHashMap<>(); } Integer idx = samplesPosition.computeIfAbsent(sampleName, k -> samplesPosition.size()); addSample(idx, data); return this; }
@SuppressWarnings("unchecked") public static List<Variant> createFile2Variants(String chromosome, String fileId, String studyId) { List<Variant> variants = new LinkedList<>(); variants.add(Variant.newBuilder(chromosome, 1000, 1000, "A", "C") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "./.", "1", "0.7") .addSample("NA19660", "1/1", "2", "0.7") .addSample("NA19661", "0/0", "3", "0.7") .addSample("NA19685", "1/0", "4", "0.7") .build()); variants.add(Variant.newBuilder(chromosome, 1004, 1004, "A", "C") .setStudyId(studyId) .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "0/1", "1", "0.7") .addSample("NA19660", "0/0", "2", ".") .addSample("NA19661", "1/0", "3", "0.7") .addSample("NA19685", "0/0", "4", "..") .build()); return variants; }
.setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA00001.X", "0/1", "5", "0.7") .addSample("NA00002.X", "0/0", "6", "0.7") .addSample("NA00003.X", "1/0", "7", "0.7") .addSample("NA00004.X", "0/0", "8", "0.7") .build()); .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA00001.X", "0/1", "5", "0.7") .addSample("NA00002.X", "0/0", "6", "0.7") .addSample("NA00003.X", "1/0", "7", "0.7") .addSample("NA00004.X", "0/0", "8", "0.7") .build()); .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA00001.X", "0/1", "5", "0.7") .addSample("NA00002.X", "0/0", "6", "0.7") .addSample("NA00003.X", "1/0", "7", "0.7") .addSample("NA00004.X", "0/0", "8", "0.7") .build());
.setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "./.", "11", "0.7") .addSample("NA19660", "1/1", "12", "0.7") .addSample("NA19661", "0/0", "13", "0.7") .addSample("NA19685", "1/0", "14", "0.7") .build()); .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "./.", "11", "0.7") .addSample("NA19660", "1/1", "12", "0.7") .addSample("NA19661", "0/0", "13", "0.7") .addSample("NA19685", "1/0", "14", "0.7") .build()); .setFileId(fileId) .setFormat("GT", "DP", "GQX") .addSample("NA19600", "0/1", "11", "0.7") .addSample("NA19660", "0/0", "12", "0.7") .addSample("NA19661", "1/0", "13", "0.7") .addSample("NA19685", "0/0", "14", "0.7") .build());
@Before public void setUp() throws Exception { List<Variant> variants = Arrays.asList( Variant.newBuilder("1:100:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/0").addSample(S2, "0/1").addSample(S3, "1/1").build(), Variant.newBuilder("1:101:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/1").addSample(S2, "0/1").addSample(S3, "1/1").build(), Variant.newBuilder("1:102:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/1").addSample(S2, "0/0").addSample(S3, "0/1").build(), Variant.newBuilder("1:103:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "0/0").addSample(S2, "0/0").addSample(S3, "0/0").build(), Variant.newBuilder("1:104:A:C") .setStudyId(STUDY).setFormat("GT").addSample(S1, "1/1").addSample(S2, "0/1").addSample(S3, "1/1").build() ); VariantIterable iterable = (query, options) -> { List<String> queryVariants = query.getAsStringList("id"); Iterator<Variant> iterator = Iterators.filter(variants.iterator(), variant -> queryVariants.isEmpty() || queryVariants.contains(variant.toString())); return VariantDBIterator.wrapper(iterator); }; filter = new VariantSampleFilter(iterable); }
public static Variant newVariant(String chromosome, int start, int end, String reference, String alternate, Integer fileId, Integer studyId) { int pad = (fileId - 1) * NUM_SAMPLES; return Variant.newBuilder() .setChromosome(chromosome) .setStart(start) .setEnd(end) .setReference(reference) .setAlternate(alternate) .setStudyId(studyId.toString()) .setFileId(fileId.toString()) .setFilter("PASS_" + fileId) .setQuality(fileId * 100.0) .addAttribute("AD", "1,2") .setFormat("GT", "DP", "GQX", "AD") .addSample("S" + (1 + pad), "./.", String.valueOf(11 + pad), "0.7", "1,2") .addSample("S" + (2 + pad), "1/1", String.valueOf(12 + pad), "0.7", "1,2") .addSample("S" + (3 + pad), "0/0", String.valueOf(13 + pad), "0.7", "1,2") .addSample("S" + (4 + pad), "1/0", String.valueOf(14 + pad), "0.7", "1,2").build(); }
@Test public void isRefVariantTest() throws Exception { assertTrue(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "0/0").build())); assertTrue(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "0/0").addSample("S2", "0").build())); assertFalse(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "0/0").addSample("S2", "0/1").build())); assertFalse(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "0/1").addSample("S2", "0/0").build())); assertFalse(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "0/1").addSample("S2", "0/1").build())); assertFalse(VariantToVcfSliceConverterTask.isRefVariant(new VariantBuilder("1:100:A:C").setFormat("GT").addSample("S1", "./.").build())); } }
int allele2 = (count++) % (alternates.size() + 1); String gt = allele1 + "/" + allele2; builder.addSample("S" + (i + 1 + pad), gt, String.valueOf(i + 1 + pad), "0.7", ad);