text: user16242: In Pandas, we have pandas.options.display to adjust how a DataFrame should be displayed when printed.
  I wonder if PyRanges has a similar set of options?
  For example, if I have a PyRange object like this:
  import pyranges as pr
  data = pr.data.ucsc_bed()
  
  I can do print(data) and get:
  +--------------+-----------+-----------+------------+------------+-------+
  | Chromosome   | Start     | End       | Feature    | gene_id    | +4    |
  | (category)   | (int32)   | (int32)   | (object)   | (object)   | ...   |
  |--------------+-----------+-----------+------------+------------+-------|
  | chr1         | 12776117  | 12788726  | gene       | AADACL3    | ...   |
  | chr1         | 169075927 | 169101957 | gene       | ATP1B1     | ...   |
  | chr1         | 6845383   | 7829766   | gene       | CAMTA1     | ...   |
  | chr1         | 20915589  | 20945396  | gene       | CDA        | ...   |
  | ...          | ...       | ...       | ...        | ...        | ...   |
  | chrX         | 152661096 | 152663330 | exon       | PNMA6E     | ...   |
  | chrX         | 152661096 | 152666808 | transcript | PNMA6E     | ...   |
  | chrX         | 152664164 | 152664378 | exon       | PNMA6E     | ...   |
  | chrX         | 152666701 | 152666808 | exon       | PNMA6E     | ...   |
  +--------------+-----------+-----------+------------+------------+-------+
  Stranded PyRanges object has 5,519 rows and 9 columns from 30 chromosomes.
  For printing, the PyRanges was sorted on Chromosome and Strand.
  4 hidden columns: transcript_id, Strand, exon_number, transcript_name
  
  How can I increase the number of columns shown?
  Also appreciated if you refer me to a documentation that explains other related display options.
  Update: For future reference, @terdon remark encouraged me to check if such an adjustment is even considered in the PyRanges. I found the line that is responsible for this representation, and indeed the COLUMN environment variable is the only defining parameter. In conclusion, the adjustment that I am looking for is simply not implemented in PyRanges.
  
  user298: When trying this on my machine, if I resize the terminal window before running print(data), I get the full output:
  
  You can also force this, even if your terminal is actually smaller, by setting the COLUMNS variable to something larger than the actual size when layching python or ipython. This is a special bash variable that holds the current size of the terminal. From man bash:
     COLUMNS
            Used  by  the select compound command to determine the terminal
            width when printing selection lists.  Automatically set if  the
            checkwinsize  option is enabled or in an interactive shell upon
            receipt of a SIGWINCH.
  
  So if you set it manually, you can get the entire data frame printed, BUT you don't really want to do that since it won't scroll, it just wraps the text. For example, try:
  COLUMNS=300 python
  
  That will set the size to 300, which results in this:
  
  
original_text: 16242: <p>In Pandas, we have <a href="https://pandas.pydata.org/pandas-docs/stable/user_guide/options.html" rel="nofollow noreferrer"><code>pandas.options.display</code></a> to adjust how a DataFrame should be displayed when printed.</p>
  <p>I wonder if <code>PyRanges</code> has a similar set of options?</p>
  <p>For example, if I have a PyRange object like this:</p>
  <pre><code>import pyranges as pr
  data = pr.data.ucsc_bed()
  </code></pre>
  <p>I can do <code>print(data)</code> and get:</p>
  <pre><code>+--------------+-----------+-----------+------------+------------+-------+
  | Chromosome   | Start     | End       | Feature    | gene_id    | +4    |
  | (category)   | (int32)   | (int32)   | (object)   | (object)   | ...   |
  |--------------+-----------+-----------+------------+------------+-------|
  | chr1         | 12776117  | 12788726  | gene       | AADACL3    | ...   |
  | chr1         | 169075927 | 169101957 | gene       | ATP1B1     | ...   |
  | chr1         | 6845383   | 7829766   | gene       | CAMTA1     | ...   |
  | chr1         | 20915589  | 20945396  | gene       | CDA        | ...   |
  | ...          | ...       | ...       | ...        | ...        | ...   |
  | chrX         | 152661096 | 152663330 | exon       | PNMA6E     | ...   |
  | chrX         | 152661096 | 152666808 | transcript | PNMA6E     | ...   |
  | chrX         | 152664164 | 152664378 | exon       | PNMA6E     | ...   |
  | chrX         | 152666701 | 152666808 | exon       | PNMA6E     | ...   |
  +--------------+-----------+-----------+------------+------------+-------+
  Stranded PyRanges object has 5,519 rows and 9 columns from 30 chromosomes.
  For printing, the PyRanges was sorted on Chromosome and Strand.
  4 hidden columns: transcript_id, Strand, exon_number, transcript_name
  </code></pre>
  <p>How can I increase the number of columns shown?</p>
  <p>Also appreciated if you refer me to a documentation that explains other related display options.</p>
  <p><strong>Update:</strong> For future reference, @terdon remark encouraged me to check if such an adjustment is even considered in the <code>PyRanges</code>. I found <a href="https://github.com/biocore-ntnu/pyranges/blob/b8d3f60f454511eb52e591b7d1a6b2708b2f986f/pyranges/tostring2.py#L170" rel="nofollow noreferrer">the line that is responsible</a> for this representation, and indeed the <code>COLUMN</code> environment variable is the only defining parameter. In conclusion, the adjustment that I am looking for is simply not implemented in <code>PyRanges</code>.</p>
   298: <p>When trying this on my machine, if I resize the terminal window before running <code>print(data)</code>, I get the full output:</p>
  <p><a href="https://i.stack.imgur.com/cRwQ8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cRwQ8.png" alt="screenshot showing both truncated and full output" /></a></p>
  <p>You can also force this, even if your terminal is actually smaller, by setting the <code>COLUMNS</code> variable to something larger than the actual size when layching <code>python</code> or <code>ipython</code>. This is a special bash variable that holds the current size of the terminal. From <code>man bash</code>:</p>
  <pre><code>   COLUMNS
            Used  by  the select compound command to determine the terminal
            width when printing selection lists.  Automatically set if  the
            checkwinsize  option is enabled or in an interactive shell upon
            receipt of a SIGWINCH.
  </code></pre>
  <p>So if you set it manually, you can get the entire data frame printed, BUT you don't really want to do that since it won't scroll, it just wraps the text. For example, try:</p>
  <pre><code>COLUMNS=300 python
  </code></pre>
  <p>That will set the size to 300, which results in this:</p>
  <p><a href="https://i.stack.imgur.com/MvZaw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MvZaw.png" alt="screenshot of the wrapped text produced when setting the COLUMNS variable" /></a></p>
  