You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@arrow.apache.org by James Van Alstine <jr...@gmail.com> on 2021/08/29 23:14:37 UTC

[Go] pretty printing

Is there pretty printing functionality in the Go implementations? I am
thinking of something similar to this
<https://github.com/apache/arrow/pull/2857/files#>. If this functionality
is not in the Go implementation, then is there a desire for it?

RE: [Go] pretty printing

Posted by Matthew Topol <mt...@factset.com>.
Hey James,

I’d be happy to review a PR if you were to put one up for this!

--Matt

From: James Van Alstine <jr...@gmail.com>
Sent: Monday, August 30, 2021 2:07 AM
To: user@arrow.apache.org
Subject: Re: [Go] pretty printing

Playing with the Go implementation, I have noticed that many of the concrete implementations of array.Interface have a String() method. However, calling this method in a simple loop  over the columns will produce something like:

["@NB500956:89:HW2FHBGX2:1:11101:25648:1069 1:N:0:ATCACG" "@NB500956:89:HW2FHBGX2:1:11101:13871:1070 1:N:0:ATCACG" "@NB500956:89:HW2FHBGX2:1:11101:9975:1070 1:N:0:ATCACG" "@NB500956:89:HW2FHBGX2:1:11101:20247:1070 1:N:0:ATCACG" "@NB500956:89:HW2FHBGX2:1:11101:17754:1070 1:N:0:ATCACG" "@NB500956:89:HW2FHBGX2:1:11101:26223:1070 1:N:0:ATCACG"]["ATACAGGCCTGANCCACTGTGCCCAGNCTANNTNATTANTGAANANAGAATNGTTNTAAATANANNNNNTNTNNNC" "CTCAACTCTGAGNCAGACAGAAATACNTTTNNTNTGAGTTACANCNTTCTTTTTCNACATATNCNNNNNTNGNNNT" "GAGTAACCACGTNCCCATGGCCACAGNTGANNGNGTCACACCTNANCCGGGAGAGNCAATCCNGNNNNNGNANNNC" "GATCGGAAGAGCNCACGTCTGAACTCNAGTNNCNTCCCGATCTNGNATGCCGTCTNCTGCTTNANNNNNANANNNG" "CAAGCAACTTACNTTACTTTAGGCTGNAAANNGNCTGCCTGAANTNCCTGCTCACNAATCCCNCNNNNNCNTNNNT" "TCAATTTCAGAACTTTTTATTGGTCTNTTCNNGNATTCATCTTNTNCCTGGTTTANTCTTGGNANNNNNTNTNNNT"]["AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEE#EEEE#E#EEEEE#EEE#EEEAEE#A#####E#E###E" "AAAAAEEEEEEE#EEEEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEEEE#A#####E#A###E" "AAAAAEEEEEEE#EEEEEEEEEAEEE#EEA##E#EEEEEEEE<#E#<EEEEEEEE#<EEEA/#/#####A#E###A" "AAAAAEEEEEEE#EEEEEEEEEEEEE#AEE##E#A////6AE<#E#EEEEEEEEA#A/EE/E#E#####/#E###E" "AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEAEA#/#####E#A###E" "AAAAAEEEEEEEEEEEEEEEEEEEEE#EEA##E#EEEEEEEEE#E#<EAEEEEEE#EEEEEE#E#####E#E###E"]

I think it would be much better if Records were pretty printed to look something like:

column["id"]:
        [
        "@NB500956:89:HW2FHBGX2:1:11101:25648:1069 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:13871:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:9975:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:20247:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:17754:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:26223:1070 1:N:0:ATCACG"
        ]
column["seq"]:
        [
        "ATACAGGCCTGANCCACTGTGCCCAGNCTANNTNATTANTGAANANAGAATNGTTNTAAATANANNNNNTNTNNNC"
        "CTCAACTCTGAGNCAGACAGAAATACNTTTNNTNTGAGTTACANCNTTCTTTTTCNACATATNCNNNNNTNGNNNT"
        "GAGTAACCACGTNCCCATGGCCACAGNTGANNGNGTCACACCTNANCCGGGAGAGNCAATCCNGNNNNNGNANNNC"
        "GATCGGAAGAGCNCACGTCTGAACTCNAGTNNCNTCCCGATCTNGNATGCCGTCTNCTGCTTNANNNNNANANNNG"
        "CAAGCAACTTACNTTACTTTAGGCTGNAAANNGNCTGCCTGAANTNCCTGCTCACNAATCCCNCNNNNNCNTNNNT"
        "TCAATTTCAGAACTTTTTATTGGTCTNTTCNNGNATTCATCTTNTNCCTGGTTTANTCTTGGNANNNNNTNTNNNT"
        ]
column["qual"]:
        [
        "AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEE#EEEE#E#EEEEE#EEE#EEEAEE#A#####E#E###E"
        "AAAAAEEEEEEE#EEEEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEEEE#A#####E#A###E"
        "AAAAAEEEEEEE#EEEEEEEEEAEEE#EEA##E#EEEEEEEE<#E#<EEEEEEEE#<EEEA/#/#####A#E###A"
        "AAAAAEEEEEEE#EEEEEEEEEEEEE#AEE##E#A////6AE<#E#EEEEEEEEA#A/EE/E#E#####/#E###E"
        "AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEAEA#/#####E#A###E"
        "AAAAAEEEEEEEEEEEEEEEEEEEEE#EEA##E#EEEEEEEEE#E#<EAEEEEEE#EEEEEE#E#####E#E###E"
        ]

I have implemented my own version of this, and I would be happy to make the changes to the Go implementation if anyone is interested in this.

On Sun, Aug 29, 2021 at 4:14 PM James Van Alstine <jr...@gmail.com>> wrote:
Is there pretty printing functionality in the Go implementations? I am thinking of something similar to this<https://urldefense.com/v3/__https:/github.com/apache/arrow/pull/2857/files*__;Iw!!PBKjc0U4!fmxeGcwejpLVfSH8GiTtUYf6o1UOWHoUFkdSc0v8g0R-5U04_u9NODBjLzRMnPE$>. If this functionality is not in the Go implementation, then is there a desire for it?

Re: [Go] pretty printing

Posted by James Van Alstine <jr...@gmail.com>.
Playing with the Go implementation, I have noticed that many of the
concrete implementations of array.Interface have a String() method.
However, calling this method in a simple loop  over the columns will
produce something like:

["@NB500956:89:HW2FHBGX2:1:11101:25648:1069 1:N:0:ATCACG"
"@NB500956:89:HW2FHBGX2:1:11101:13871:1070 1:N:0:ATCACG"
"@NB500956:89:HW2FHBGX2:1:11101:9975:1070 1:N:0:ATCACG"
"@NB500956:89:HW2FHBGX2:1:11101:20247:1070 1:N:0:ATCACG"
"@NB500956:89:HW2FHBGX2:1:11101:17754:1070 1:N:0:ATCACG"
"@NB500956:89:HW2FHBGX2:1:11101:26223:1070
1:N:0:ATCACG"]["ATACAGGCCTGANCCACTGTGCCCAGNCTANNTNATTANTGAANANAGAATNGTTNTAAATANANNNNNTNTNNNC"
"CTCAACTCTGAGNCAGACAGAAATACNTTTNNTNTGAGTTACANCNTTCTTTTTCNACATATNCNNNNNTNGNNNT"
"GAGTAACCACGTNCCCATGGCCACAGNTGANNGNGTCACACCTNANCCGGGAGAGNCAATCCNGNNNNNGNANNNC"
"GATCGGAAGAGCNCACGTCTGAACTCNAGTNNCNTCCCGATCTNGNATGCCGTCTNCTGCTTNANNNNNANANNNG"
"CAAGCAACTTACNTTACTTTAGGCTGNAAANNGNCTGCCTGAANTNCCTGCTCACNAATCCCNCNNNNNCNTNNNT"
"TCAATTTCAGAACTTTTTATTGGTCTNTTCNNGNATTCATCTTNTNCCTGGTTTANTCTTGGNANNNNNTNTNNNT"]["AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEE#EEEE#E#EEEEE#EEE#EEEAEE#A#####E#E###E"
"AAAAAEEEEEEE#EEEEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEEEE#A#####E#A###E"
"AAAAAEEEEEEE#EEEEEEEEEAEEE#EEA##E#EEEEEEEE<#E#<EEEEEEEE#<EEEA/#/#####A#E###A"
"AAAAAEEEEEEE#EEEEEEEEEEEEE#AEE##E#A////6AE<#E#EEEEEEEEA#A/EE/E#E#####/#E###E"
"AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEAEA#/#####E#A###E"
"AAAAAEEEEEEEEEEEEEEEEEEEEE#EEA##E#EEEEEEEEE#E#<EAEEEEEE#EEEEEE#E#####E#E###E"]

I think it would be much better if Records were pretty printed to look
something like:

column["id"]:
        [
        "@NB500956:89:HW2FHBGX2:1:11101:25648:1069 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:13871:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:9975:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:20247:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:17754:1070 1:N:0:ATCACG"
        "@NB500956:89:HW2FHBGX2:1:11101:26223:1070 1:N:0:ATCACG"
        ]
column["seq"]:
        [

"ATACAGGCCTGANCCACTGTGCCCAGNCTANNTNATTANTGAANANAGAATNGTTNTAAATANANNNNNTNTNNNC"

"CTCAACTCTGAGNCAGACAGAAATACNTTTNNTNTGAGTTACANCNTTCTTTTTCNACATATNCNNNNNTNGNNNT"

"GAGTAACCACGTNCCCATGGCCACAGNTGANNGNGTCACACCTNANCCGGGAGAGNCAATCCNGNNNNNGNANNNC"

"GATCGGAAGAGCNCACGTCTGAACTCNAGTNNCNTCCCGATCTNGNATGCCGTCTNCTGCTTNANNNNNANANNNG"

"CAAGCAACTTACNTTACTTTAGGCTGNAAANNGNCTGCCTGAANTNCCTGCTCACNAATCCCNCNNNNNCNTNNNT"

"TCAATTTCAGAACTTTTTATTGGTCTNTTCNNGNATTCATCTTNTNCCTGGTTTANTCTTGGNANNNNNTNTNNNT"
        ]
column["qual"]:
        [

"AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEE#EEEE#E#EEEEE#EEE#EEEAEE#A#####E#E###E"

"AAAAAEEEEEEE#EEEEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEEEE#A#####E#A###E"

"AAAAAEEEEEEE#EEEEEEEEEAEEE#EEA##E#EEEEEEEE<#E#<EEEEEEEE#<EEEA/#/#####A#E###A"

"AAAAAEEEEEEE#EEEEEEEEEEEEE#AEE##E#A////6AE<#E#EEEEEEEEA#A/EE/E#E#####/#E###E"

"AAAAAEEEEEEE#EEAEEEEEEEEEE#EEE##E#EEEEEEEEE#E#EEEEEEEEE#EAEAEA#/#####E#A###E"

"AAAAAEEEEEEEEEEEEEEEEEEEEE#EEA##E#EEEEEEEEE#E#<EAEEEEEE#EEEEEE#E#####E#E###E"
        ]

I have implemented my own version of this, and I would be happy to make the
changes to the Go implementation if anyone is interested in this.

On Sun, Aug 29, 2021 at 4:14 PM James Van Alstine <jr...@gmail.com>
wrote:

> Is there pretty printing functionality in the Go implementations? I am
> thinking of something similar to this
> <https://github.com/apache/arrow/pull/2857/files#>. If this functionality
> is not in the Go implementation, then is there a desire for it?
>