Führen Sie prepDE.py mit python3 aus

Führen Sie prepDE.py mit python3 aus

Eine Person, die eine Python3-Umgebung erstellt, weil sie in Python2 implementiert ist, obwohl prepDE.py im StringTie-Paket vorbereitet ist, um den Ausdruck in der R-Umgebung durch Eingabe der von StringTie berechneten Ausdrucksebene zu analysieren. Für mich muss ich sogar vorübergehend auf python2 umsteigen. Dies ist etwas unangenehm und kann ein großes Problem für diejenigen sein, die nicht bereit sind, ihren eigenen Code zu schreiben.

Es gibt verschiedene Möglichkeiten, Python2-Code in Python3 zu konvertieren, aber die Konvertierung funktioniert nicht immer. Nach meinen Recherchen verwendet RNAseqR, eine Bibliothek von R, prepDE.py am Backend, wenn R eingelesen wird, wenn die StringTie-Pipeline verwendet wird. Das [Handbuch] dieses RNAseqR (https://bioconductor.org/packages/release/bioc/vignettes/RNASeqR/inst/doc/RNASeqR.html) beschrieb die Korrespondenz im Fall von Python3. Beginnen Sie mit dem Zitieren>

5.9 The Reads Count Table Creator

Whether this step is executed depends on the availability of Python on your workstation.

  • Input: ‘samplelst.txt’
  • Output: ‘gene_count_matrix.csv’, ‘transcript_count_matrix.csv’
  1. The reads count table converter Python script is downloaded as prepDE.py
  2. Python checking
    • When Python is not available, this step is skipped.
    • When Python2 is available, prepDE.py is executed.
    • When Python3 is available, the 2to3 command will be checked.(Usually, if Python3 is installed, 2to3 command will be installed too.)
    • When Python3 is available but the 2to3 command is unavailable, the raw read count step will be skipped.
    • When Python3 and the 2to3 command are available, prepDE.py is converted to a file that can be executed by Python2 and is automatically executed.

<Ende des Zitierens

Mit anderen Worten, zum Glück habe ich festgestellt, dass es auch dann zu funktionieren scheint, wenn ich es mit dem Konvertierungsbefehl in Python3-Code konvertiere. Lass es uns versuchen. Die Umgebung ist OSX 10.13.4 High Sierra.

Option: Python-Vorbereitung (falls von pyenv verwaltet)

1. Ändern Sie die Python-Version mit pyenv

suimyenbookpuro:stringtie suimye$ pyenv versions
  system
* 2.7.6 (set by /Users/suimye/.pyenv/version)
  3.6.0
  anaconda3-4.3.1
  anaconda3-4.3.1/envs/py3.6.0

2. Ändern Sie die Python-Version mit pyenv

suimyenbookpuro:stringtie suimye$ pyenv global 3.6.0
suimyenbookpuro:stringtie suimye$ pyenv versions
  system
  2.7.6
* 3.6.0 (set by /Users/suimye/.pyenv/version)
  anaconda3-4.3.1
  anaconda3-4.3.1/envs/py3.6.0

Erstellen Sie prepDE.py-Code für python3

Der folgende Befehl überschreibt prepDE.py und übersetzt es in Python3-Code. Der ursprüngliche Code wird in einer Datei namens prepDE.py.bak gesichert. Wenn dies nicht funktioniert, können Sie ihn aus dieser Datei wiederherstellen.

2to3 -w ~/tools/stringtie-2.0.6.OSX_x86_64/prepDE.py 

1. Generieren Sie eine GTF-Datei und eine CTAB-Datei mit Stringtie

BAMFILE1=test1.sort.bam
BAMFILE2=test2.sort.bam
REFGTF=/Users/suimye/genome/hg19.refFlat.20130205.gtf

/Users/suimye/tools/stringtie-2.0.6.OSX_x86_64/stringtie  $BAMFILE1 -e -B -G $REFGTF -o ball.test1.gtf
/Users/suimye/tools/stringtie-2.0.6.OSX_x86_64/stringtie  $BAMFILE2 -e -B -G $REFGTF -o ball.test1.gtf

2. Erstellen Sie eine Liste für prepDE

printf "test1\tball.test1.gtf\n" >list.txt
printf "test2\tball.test2.gtf\n" >>list.txt

4. Führen Sie prepDE.py aus

python ~/tools/stringtie-2.0.6.OSX_x86_64/prepDE.py -i list.txt

5. Ausführungsergebnis (ls)

-rw-r--r--   1 suimye  staff   318K 12 25 13:32 gene_count_matrix.csv
drwxr-xr-x  32 suimye  staff   1.0K 12 25 13:32 .
-rw-r--r--   1 suimye  staff   723K 12 25 13:32 transcript_count_matrix.csv
-rw-r--r--   1 suimye  staff    65M 12 25 13:03 ball.test2.gtf
-rw-r--r--   1 suimye  staff    65M 12 25 13:03 ball.test1.gtf
Inhalt von gene_count_matrix.csv
suimyenbookpuro:stringtie suimye$ head gene_count_matrix.csv
gene_id,test1,test2
DDX11L1,15,2
WASH7P,0,1
MIR6859-1,0,0
MIR6859-2,0,0
MIR6859-3,0,0
MIR6859-4,0,0
------Kürzung-----

Recommended Posts

Führen Sie prepDE.py mit python3 aus
Führen Sie Python mit VBA aus
Führen Sie Blender mit Python aus
Führen Sie iperf mit Python aus
Führen Sie Python mit PyCharm aus (Windows)
Führen Sie Python mit CloudFlash aus (arm926ej-s)
Führen Sie Label mit tkinter [Python] aus.
Führen Sie Rotrics DexArm mit der Python-API aus
Führen Sie mruby mit Python oder Blender aus
Führen Sie XGBoost mit Cloud Dataflow (Python) aus.
Führen Sie Aprili von Python auf Orange aus
Führen Sie python3 Django1.9 mit mod_wsgi aus (deploy)
Bis Python auf Apache läuft
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Führen Sie das Servo mit Python unter ESP32 (Windows) aus.
Führen Sie eine Python-Webanwendung mit Docker aus
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Python lernen mit ChemTHEATER 03
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Umgang mit Yaml mit Python
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Python lernen mit ChemTHEATER 05-1
Lerne Python mit ChemTHEATER
1.1 Erste Schritte mit Python
Tweets mit Python sammeln
Binarisierung mit OpenCV / Python
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python