Не получаю никаких результатов, хотя ошибок нет

from Bio import SeqIO
from Bio import Seq

count = 0
sequence = []

for seq_record in SeqIO.parse(r"C:...\\drosophila.csv", 'fasta'):
    if (count < 6):
        sequence.append(seq_record)
        print("ID: " + id(seq_record) + "\t" + "Length: " +
              str("{:,d}".format(len(seq_record))))
        print(repr(Seq(seq_record)) + "\n")
        count += 1

Я не получаю никаких ошибок в коде во время его запуска, но я также не получаю выходных данных.

Id: chr2L    Length: 23,513,712
Seq('Cgacaatgcacgacagaggaagcagaacagatatttagattgcctctcattttc...gag', SingleLetterAlphabet())

Id: chr2R    Length: 25,286,936
Seq('CTCAAGATAccttctacagattatttaaagctagtgcacaacaacaataaattg...ttc', SingleLetterAlphabet())

Id: chr3L    Length: 28,110,227
Seq('TAGGGAGAAATATGATCgcgtatgcgagagtagtgccaacatattgtgctcttt...tat', SingleLetterAlphabet())

Id: chr3R    Length: 32,079,331
Seq('acgggaccgagtatagtaccagtacgcgaccagtacgggagcagtacggaacca...ttc', SingleLetterAlphabet())

Id: chr4     Length: 1,348,131
Seq('ttattatattattatattattatattattatattattatattattatattatta...GAA', SingleLetterAlphabet())

Id: chrM     Length: 19,524
Seq('AATGAATTGCCTGATAAAAAGGATTACCTTGATAGGGTAAATCATGCAGTTTTC...ATT', SingleLetterAlphabet())

Я ожидал такого вывода.

Пожалуйста, сделайте минимально воспроизводимый пример. Вам не хватает примера содержимого CSV, а что такое Seq в коде?

Cow 10.07.2024 07:07

Возможно, вы сможете решить эту проблему самостоятельно, если проработаете свою программу с помощью отладчика. См. Что такое отладчик и как он может помочь мне диагностировать проблемы? для получения дополнительной информации.

Andrew Yim 10.07.2024 07:09

Обновил его для объекта Seq.

Random Guy_2.0 10.07.2024 07:20

Я попробую отладить его по вашему предложению @AndrewYim. Я действительно не знаю, как это сделать, так что лучше бы этому научиться

Random Guy_2.0 10.07.2024 07:21

Можете ли вы поделиться своим файлом .csv и/или fasta через ссылку google.drive или любую другую общедоступную платформу для обмена файлами?

hamflow 10.07.2024 07:54

Конечно, можно сюда drive.google.com/file/d/1FN03f2rFONpsfTOQBUtnmQUWFyJpthAX/…

Random Guy_2.0 10.07.2024 08:15

SeqIO.parse не может проанализировать входной файл. Если вы отлаживаете свой код, вы заметите, что цикл for никогда не вводится. Вы уверены, что ваш входной файл имеет правильный формат?

SIGHUP 10.07.2024 09:08

Ты прав. Я изменил файл на fa, и теперь он, по крайней мере, входит в цикл. Обновление: СПАСИБО! я изменил формат набора данных, и после удаления одной или двух ошибок ЭТО РАБОТАЕТ!

Random Guy_2.0 10.07.2024 09:17
github.com/biopython/biopython/blob/…
pippo1980 10.07.2024 12:10
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
9
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я загрузил ваш CSV-файл и, во-первых, считаю, что SeqIO не может анализировать CSV, поэтому я преобразовал его в fasta на этом сайте . Однако я считаю, что с вашими данными что-то не так, поскольку последовательность генов отсутствует и записываются только идентификаторы генов (вы можете открыть файл CSV и убедиться в этом сами). тем не менее, вы можете получить доступ к описанию гена, используя идентификатор гена, используя внешние веб-сайты. Коды ниже выполняют вашу задачу, но я считаю, что из-за проблемы с исходным набором данных правильно печатаются только идентификаторы генов. наконец, обратите внимание, что Seq(seq_record.seq) не может быть вызван, поскольку набор данных ошибочно возвращает идентификатор гена вместо последовательности гена с помощью seq_record.seq. Также обратите внимание, что Seq следует импортировать из Bio.Seq, а не из Bio. Надеюсь, это помогло вашей работе.

from Bio import SeqIO
from Bio.Seq import Seq

sequence = []
for i, seq_record in enumerate((SeqIO.parse('drosophila.fasta', 'fasta'))):
    sequence.append(seq_record)
    print("ID: " + str(seq_record.id) + "\t" + "Length: " + str("{:,d}".format(len(seq_record))))
    print((seq_record.seq) + "\n")
    if i == 6:
        break

выше распечатки:

# ID: FBgn0085804.1 Length: 13
# FBgn0085804.1

# ID: FBgn0267431.1 Length: 13
# FBgn0267431.1

# ID: FBgn0039987.1 Length: 13
# FBgn0039987.1

# ID: FBgn0058182.1 Length: 13
# FBgn0058182.1

# ID: FBgn0267430.1 Length: 13
# FBgn0267430.1

# ID: FBgn0266747.1 Length: 13
# FBgn0266747.1

# ID: FBgn0266747.1 Length: 13
# FBgn0266747.1

Большое спасибо. Я тоже подумал, что использую неправильный набор данных. Поменял на фасту и теперь работает. И да, ваш код намного чище, поэтому я попробую реализовать его.

Random Guy_2.0 10.07.2024 09:24

Это хорошие новости! рад, что смог помочь.

hamflow 10.07.2024 10:19

Другие вопросы по теме

Как выбрать файлы в подкаталогах по имени и переместить все файлы, содержащие «ХХХ» и «ГГГ», в новые каталоги
Fastq-dump.3.1.1 ошибка: элемент не найден при построении в модуле виртуальной базы данных - путь «SRRXXXXX.sra» не может быть открыт как база данных или таблица
Расширение фрейма данных: генерация геномных позиций +/- 250 нуклеотидов
Создайте подобное регулярному выражению (кодирование длины серии) строки s для блоков заданной длины k
Как мне просмотреть файлы mgz и преобразовать их в файлы nii с помощью сценария оболочки и freesurfer?
Подсчитайте количество строк и символов в файле, разделенных определенным символом
Awk объединяет файлы, где значение col находится в диапазоне
Snakemake: Лучшие практики отделения кодовой базы от необработанных данных и результатов?
Создание функции, которая принимает две последовательности ДНК, проверяет, имеют ли они одинаковую длину, являются ли они действительными последовательностями и какой тип мутации они имеют
Изменение значений в файле .pdb и сохранение как новых