Einzelne Zahlen aus txt-Dateien in Python einlesen?

Guten Tag.

Ich lerne zur Zeit Python an der Hochschule und arbeite mit Python 3.5. Bisher kam ich immer gut zurecht, doch nun haben wir eine Hausübung bekommen, die mir etwas Kopfzerbrechen bereitet.

Die Aufgabe ist folgende:

Lesen Sie aus der Datei unip-mini.dat.txt Zeile SQ die Länge aller Proteine in eine Liste. Plotten Sie die Liste als Histogramm mit 50 Balken.

Beispiel, wie so eine Zeile aussieht: SQ SEQUENCE 458 AA; 53921 MW; E46E5C85D7ACA139 CRC64;

Länge: 458

Wie man grundsätzlich Dateien in Python einliest, ist mir bekannt. Ich bin auch schon so weit, dass es nur diejenigen Zeilen einliest, die eben mit SQ beginnen. Allerdings möchte ich ja nur die Länge der Proteine in der Liste haben. Nun ist mein Problem, dass ich eben nicht weiß, wie ich es fertig stelle, dass lediglich die Länge in die Liste eingefügt wird.

Mein Code sieht bisher wie folgt aus:

    #!/usr/bin/python3

    import numpy as np
    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt

    def main():
        if os.path.isfile(sys.argv[1]) == False:
            print("Datei", sys.argv[1], "nicht gefunden")
            exit(0)
        with open(sys.argv[1]) as filetoread:
            lines = filetoread.readlines()
        seq = []

        for i in range(len(lines)):
            if(re.search('SQ   ', lines[i])):
                seq.append(lines[i])

        print(seq)


    if __name__ == "__main__":
        import sys
        import os
        import string
        main()

Könnte mir da vielleicht jemand helfen? Vielleicht gehe ich die Sache ja gerade auch einfach ganz falsch an und merke es nicht.

Mit freundlichen Grüßen

Programm, programmieren, Bioinformatik, Informatik, Python
Organigram Excel mit einklappen und ausklappen (per Makro?)?

Hallo Zusammen,

etwas komplizierteres Problem hier: (zumindest bin ich nach stundenlangem Googeln auf englisch und deutsch auf kein akzeptables ergebis gekommen)

Im Prinzip klingt es einfach: Ich will ein Organigramm erstellen per Excel (Word wuerde auch noch gehen, keine sonstige Freeware da ich im Buero keine Software runterladen kann/darf). Nun will ich aber kein "statisches" Organigram (zb per SmartArt). Es soll eher so etwas sein wo ich auf einen Namen klicke und dann alle untergeordneten Leute/Mitarbeiter aufklappen (NUR DIE VON DEM JEWEILIGEN "BOSS").

Mit Gruppieren etc. komme ich nicht vorran da ich 1. will dass es per Mausklick auf den namen geht und 2. ich nicht mehr als 8 untergruppen erstellen kann damit.

Am liebsten auch ein Makro dass ich anpassen koennte ?Hab hier noch ein Bild was vllt etwas besser erklaert was ich meine.

Zum Bild:Ich will dann quasi dass am Anfang nur "CEO" da steht. Dann klicke ich zb auf "C" dann poppen 1,2,3,4,5 auf und ich klicke auf "1" dann poppen 11,12,13 auf etc.. der rest soll am besten verborgen bleiben (viel uebersichtlicher)

Hoffe, dass war einigermassen gut erklaert. Bei Fragen etc einfach nachfragen...Ich finde dazu leider auch wirklich nirgends etwas (ausser irgendwelcher Freeware etc.) Aber es MUSS doch moeglich sein?

Danke euch vieeelmals schonmal!!!

EDIT:

hab jetzt mal probiert einen Makro zu schreiben:

Sub collapse()

Selection.Offset(1, 1).Select
Range(Selection, Selection.End(xlDown)).

Select Selection.EntireRow.Hidden = True

End Sub

_______

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)

If Target.Column = 2 Then

Target.Select

Call collapse

End If

If Target.Address = "$B$10" Then

Target.Select

Call collapse

End If

End Sub

____

Problem: Wenn ich es mit "target.column" mache (was mir lieber ist) dann wuerde ich gerne haben dass er bei leeren zellen nichts macht in dieser spalte... wie geht das genau? und hat einer eine ahnung wie ich das hinkrieg dass wenn ich WIEDER auf die gleiche zelle gehe er mir des rueckgaengig macht? Ich hab so eine ahnugn mit true/false denke ich mal aber habe keine ahnung wie ich das umsetzen kann..

Also irgendwie dass wenn ich einmal draufdruecke und des eingeklappt ist er weiss visibile = false oder sowas und wenn ich wieder draufdruecke soll er halt true machen versteht ihr mich :D?

Bild zum Beitrag
PC, Microsoft Word, Microsoft, Office, Microsoft Excel, Programm, programmieren, VBA

Meistgelesene Beiträge zum Thema Programm