text: user14149: This question has also been asked on Biostars
  I ran Kallisto with the --pseudobam option. How do I extract all the short reads that are mapped to a single transcript (e.g. ENST00000367969.8)?  As a person without any previous SAM/BAM experience, I tried the following things without success. Really appreciate some help here.
  I first tried:
  samtools view -S pseudoalignments.bam ENST00000367969.8
  
  but got the following error:
  [E::idx_find_and_load] Could not retrieve index file for 'pseudoalignments.bam'
  [main_samview] random alignment retrieval only works for indexed BAM or CRAM files.
  
  I tried to index the file using:
  samtools index pseudoalignments.bam
  
  but get the following error:
  [E::hts_idx_push] NO_COOR reads not in a single block at the end 79729 -1
  [E::sam_index] Read 'A00742:184:HLTF2DSXY:4:1101:4417:1000' with ref_name='ENST00000556431.1', ref_length=4142, flags=83, pos=2098 cannot be indexed
  samtools index: failed to create index for "pseudoalignments.bam"
  
  
  user77: Sort the BAM file again with samtools sort and then run samtools index on the result. That should fix the issue.
  
  user298: What Devon said. Alternatively, you could also just convert the bam to sam and then look for lines where the 3rd field (the reference the sequence is aligned to) is what you want:
  samtools view pseudoalignments.bam | awk '$3=="ENST00000367969.8"'
  
  But really, it's far better to sort and index the file as Devon suggested so  you can use dedicated tools in future.
  
original_text: 14149: <p><em>This question has also been asked on <a href="https://www.biostars.org/p/9488897/" rel="nofollow noreferrer">Biostars</a></em></p>
  <p>I ran Kallisto with the --pseudobam option. How do I extract all the short reads that are mapped to a single transcript (e.g. ENST00000367969.8)?  As a person without any previous SAM/BAM experience, I tried the following things without success. Really appreciate some help here.</p>
  <p>I first tried:</p>
  <pre><code>samtools view -S pseudoalignments.bam ENST00000367969.8
  </code></pre>
  <p>but got the following error:</p>
  <pre><code>[E::idx_find_and_load] Could not retrieve index file for 'pseudoalignments.bam'
  [main_samview] random alignment retrieval only works for indexed BAM or CRAM files.
  </code></pre>
  <p>I tried to index the file using:</p>
  <pre><code>samtools index pseudoalignments.bam
  </code></pre>
  <p>but get the following error:</p>
  <pre><code>[E::hts_idx_push] NO_COOR reads not in a single block at the end 79729 -1
  [E::sam_index] Read 'A00742:184:HLTF2DSXY:4:1101:4417:1000' with ref_name='ENST00000556431.1', ref_length=4142, flags=83, pos=2098 cannot be indexed
  samtools index: failed to create index for &quot;pseudoalignments.bam&quot;
  </code></pre>
   77: <p>Sort the BAM file again with <code>samtools sort</code> and then run <code>samtools index</code> on the result. That should fix the issue.</p>
   298: <p><a href="https://bioinformatics.stackexchange.com/a/17689/298">What Devon said.</a> Alternatively, you could also just convert the bam to sam and then look for lines where the 3rd field (the reference the sequence is aligned to) is what you want:</p>
  <pre><code>samtools view pseudoalignments.bam | awk '$3==&quot;ENST00000367969.8&quot;'
  </code></pre>
  <p>But really, it's far better to sort and index the file as Devon suggested so  you can use dedicated tools in future.</p>
  