|
1 | 1 | import os |
| 2 | +import sys |
| 3 | +sys.path.insert(0, "./") |
2 | 4 | import pandas as pd |
3 | | -from seqchromloader import SeqChromDatasetByBed, SeqChromDatasetByWds, SeqChromDataModule |
| 5 | +from seqchromloader import SeqChromDatasetByDataFrame, SeqChromDatasetByBed, SeqChromDatasetByWds, SeqChromDataModule |
4 | 6 | from seqchromloader import dump_data_webdataset |
5 | 7 |
|
6 | 8 | import unittest |
@@ -82,6 +84,22 @@ def test_wds_loader_transform(self): |
82 | 84 | self.assertAlmostEqual(chrom[0,0,3].item(), 4.0/3) |
83 | 85 | self.assertEqual(target[0].item(), 0.0) |
84 | 86 | self.assertEqual(label[1].item(), 1) |
| 87 | + |
| 88 | + def test_df_loader(self): |
| 89 | + dataframe = pd.read_table("data/sample.bed", header=None, sep="\t", names=['chrom', 'start', 'end', 'label', 'score', 'strand' ]) |
| 90 | + it = iter(SeqChromDatasetByDataFrame( |
| 91 | + dataframe=dataframe, |
| 92 | + genome_fasta="data/sample.fa", |
| 93 | + bigwig_filelist=["data/sample.bw"], |
| 94 | + target_bam="data/sample.bam", |
| 95 | + dataloader_kws={"batch_size":2, |
| 96 | + "shuffle":False} |
| 97 | + )) |
| 98 | + seq, chrom, target, label = next(it) |
| 99 | + self.assertEqual(seq[1,0,4].item(), 1.0) |
| 100 | + self.assertEqual(chrom[0,0,3].item(), 999.0) |
| 101 | + self.assertEqual(target[0].item(), 2.0) |
| 102 | + self.assertEqual(label[1].item(), 1) |
85 | 103 |
|
86 | 104 | def test_bed_loader(self): |
87 | 105 | it = iter(SeqChromDatasetByBed( |
|
0 commit comments