Dear Biostars,
I'm a new PhD student and my main project is the identification/Differential Expression of piRNAs in Human colorectal cancer (CRC) cell lines with smallRNA-seq.
I would like to ask about the bioinformatic analysis workflow and which databases/libraries for different small RNAs
I have found various strategies regarding the identification of piRNAs and I will follow this kind of workflow:

 1. Use bowtie for sequence alignment to map reads to the genome (hg38 [iGenome][1])
 2. annotate reads to rRNA library (?which database)
 3. annotate remaining reads to mature and hairpin libraries (miRNAs) (miRBase)
 
4a
 
 4. annotate remaining reads to tRNA library (GtRNAdb)
 5. annotate remaining reads to Rfam library (snRNA, snoRNA, lncRNA)
 6. annotate remaining reads to piRNA database ([piRBase][2] or [piRNABank][3])

4b

 4. annotate remaining reads to tRNA library (GtRNAdb)
 5. annotate remaining reads to Rfam library (snRNA,snoRNA,lncRNA)
 6. annotate remaining reads to piRNA cluster database ([piRNAclusterdb][4])

Three publications have shown that piRNA could derive also from tRNAs: 1) [The biogenesis pathway of tRNA-derived piRNAs in Bombyx germ cells][5] 2) [The human Piwi protein Hiwi2 associates with tRNA-derived piRNAs in somatic cells][6] 3) [tRNA processing defects induce replication stress and Chk2-dependent disruption of piRNA transcription.][7]

Thus, I should change the order of annotation libraries:

alternative 4a

 4. annotate remaining reads to Rfam library (snRNA, snoRNA, lncRNA)
 5. annotate remaining reads to piRNA database ([piRBase][8] or [piRNABank][9])
 6. annotate remaining reads to tRNA library (GtRNAdb)

alternative 4b

 4. annotate remaining reads to Rfam library (snRNA, snoRNA, lncRNA)
 5. annotate remaining reads to piRNA cluster database ([piRNAclusterdb][10])
 6. annotate remaining reads to tRNA library (GtRNAdb)

Also, I examine the possibility of re-mapping reads against transposon library (RepBase) found in piRNADBs in order to "filter" annotated results of piRBase/piRNABank libraries to a more robust final piRNAs dataset.

**A) Which database/library should I use for the annotation of rRNA?**  I have read these posts:
[cannot find biostar stackexchange][11] [Human Non Coding Rrna Sequences For Download][12] [SEQanswers][13]
but it is not clear to me which one is the best option for annotation library... pardon my naiveness.

**B)** Next step would be to normalize counts, I have read about /RPM/RPKM/TPM and other types of normalization but which one should be more robust to use for small-RNA counts and which one should be used for piRNA clusters?
Because of the lenght of piRNA clusters ~(5k-60k bp) i think I should use TPM normalization to show the relative abundance in different cell lines, is this correct?

**C)** Regarding mature piRNAs for DE analysis should I follow the workflows of edgeR, DEseq2 or limma voom?

**D)** Does this workflow seems robust or it needs corrections?

Thank you for your time and consideration

Konstantinos

  [1]: https://support.illumina.com/sequencing/sequencing_software/igenome.html
  [2]: http://www.regulatoryrna.org/database/piRNA/
  [3]: http://pirnabank.ibab.ac.in/
  [4]: http://www.smallrnagroup.uni-mainz.de/piRNAclusterDB.html
  [5]: https://academic.oup.com/nar/article/45/15/9108/3883741
  [6]: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4132735/
  [7]: https://www.ncbi.nlm.nih.gov/pubmed/26471728
  [8]: http://www.regulatoryrna.org/database/piRNA/
  [9]: http://pirnabank.ibab.ac.in/
  [10]: http://www.smallrnagroup.uni-mainz.de/piRNAclusterDB.html
  [11]: https://www.biostars.org/p/7955/
  [12]: https://www.biostars.org/p/19154/
  [13]: http://seqanswers.com/forums/showthread.php?t=41868
Welcome to the wonderfully strange world of piRNAs :) I will first urge to read two of my previous answers on the subject:

https://www.biostars.org/p/235278/#235289
https://www.biostars.org/p/179944/#228109

TLDR; if you are novice, use piPipes. Very easy to set-up, specially if you are working with human data, and it has been developed by a lab with a good standing in the field. It will do pretty much everything you have listed with the exception of using the piRNA databases, which, and to my best knowledge, most high-profile, experienced, piRNA groups don't use at all. At least those working in fly/mouse/drosophila/zebrafish. And why you ask? Because piRNAs are quite flexible, and in some species, are not transcribed from a defined clusters/transcription units, unlike miRNAs for instance. So I don't see how useful those databases are. So when analysing piRNAs ignore what you would do for miRNAs (I am not even sure what "mature piRNAs" are). 

If you still want to create/use your own pipeline, read the manual provided in piPipes - it will give a very good insight into the steps.You can also have a look at these tools:

http://www.smallrnagroup.uni-mainz.de/software.html

Second and more important. When looking at somatic piRNAs, extra care should be taken to make sure these are "real" piRNAs. As I mentioned, piRNAs are not (usually*) processed from particular clusters and are not very well defined in terms of sequence composition/size. So what one might think is a piRNA could very well be a degradation product. This is true specially if one is analyzing total small RNA libraries in somatic cells. Ideally one would be identifying them with an IP for an argonaut that processes them. In the germline, while the IP is important, is less critical because in these tissues piRNAs are the most abundant small RNA species. For instance, the 3 papers you reference, two are done in the germline and one IPs an argonaut. Also in Drosophila, some piRNAs are produced in clusters, which also appears to be case in human for _some_ piRNAs ([ref](https://www.ncbi.nlm.nih.gov/pubmed/28842508)). I will also add, that somatic piRNAs are still quite controversial, at least for some groups. You better make sure those are really piRNAs. I am agnostic on the matter, so as long as the evidence is strong I will accept it. 

*everything is an exception in the piRNA world depending on which species is used as a reference for comparison.

If you something is not clear just ask and I will try my best to explain.