예제 #1
0
파일: pacbio.py 프로젝트: wenliangz/sequana
    def to_summary(self, filename="sequana_summary_pacbio_ccs.json"):
        """Save statistics into a JSON file

        :param filename:
        :param data: dictionary to save. If not provided, use :meth:`stats`

        """
        data = self.stats()
        s = Summary("pacbio_ccs", self.sample_name, data=data)
        s._data_description = {
            "N": "CCS reads",
            "total_bases": "Number of CCS bases",
            "mean_read_length": "CCS Read Length (mean)",
            "mean_nb_passes": "Number of Passes (mean)"
        }
        s.to_json(filename)
예제 #2
0
파일: pacbio.py 프로젝트: sequana/sequana
    def to_summary(self, filename="sequana_summary_pacbio_ccs.json"):
        """Save statistics into a JSON file

        :param filename:
        :param data: dictionary to save. If not provided, use :meth:`stats`

        """
        data = self.stats()
        s = Summary("pacbio_ccs", self.sample_name, data=data)
        s._data_description = {
            "N": "CCS reads",
            "total_bases": "Number of CCS bases",
            "mean_read_length": "CCS Read Length (mean)",
            "mean_nb_passes": "Number of Passes (mean)"
        }
        s.to_json(filename)
예제 #3
0
def get_stats(pattern, mode):
    data = [[], []]
    for filename in glob.glob(pattern + "/data/{}_sirv.sam".format(mode)):
        b = isoseq.PacbioIsoSeqMappedIsoforms(filename)
        N = Summary(filename.split("/")[0] +
                    "/sequana_summary_isoseq.json").data["hq_isoform"]['N']
        data[0].append(N)
        data[1].append(len(b.df.query("reference_name not in [-1, '-1']")))
        print("scanned {}".format(filename))
    return data
예제 #4
0
    def to_summary(self, filename="sequana_summary_isoseq.json", data=None):
        """Save statistics into a JSON file

        :param filename:
        :param data: dictionary to save. If not provided, use :meth:`stats`

        """
        from sequana.summary import Summary
        if data is None:
            data = self.stats()
        Summary("isoseq",self.sample_name, data=data).to_json(filename)
예제 #5
0
def test_summary():
    s = Summary("test2", sample_name="chr1",data={"mean":1})
    assert s.data == {"mean":1}
    assert s.version
    assert s.date
    d = s.as_dict()
    assert "name" in d
    assert "version" in d
    assert "data" in d
    assert "date" in d

    # test wrong constructor
    try:
        s = Summary("test")
        assert False
    except:
        assert True

    try:
        s = Summary("test", "test")
        assert False
    except:
        assert True


    # test data_description
    s = Summary("test2", data={"mean":1})
    s.data_description = {"mean": "mean of the data set"}
    assert s.data_description == {"mean": "mean of the data set"}
    try:
        s.data_description = {"dummy": 1}
        assert False
    except:
        assert True

    from easydev import TempFile
    with TempFile(suffix=".json") as fh:
        s.to_json(fh.name)