diff --git a/tsg/main.py b/tsg/main.py
index e53a5ab99606df3e7b3bdddba4ae25b3cc9d4904..f85a8c6898f95b1b1605f8704dc310a95fb0fc98 100644
--- a/tsg/main.py
+++ b/tsg/main.py
@@ -58,9 +58,9 @@ def filter_df(gtf_df: pd.DataFrame, transcripts: list) -> pd.DataFrame:
         & (gtf_df["free_text"].str.contains('transcript_support_level "1"'))
     ]
     if len(transcripts) > 0:
-        df_filter = df_filter["free_text"].str.contains(
+        df_filter = df_filter[df_filter["free_text"].str.contains(
             "|".join(transcripts), regex=True
-        )
+        )]
 
     return df_filter
 
@@ -159,7 +159,6 @@ def write_gtf(gtf_df: pd.DataFrame, filename: str) -> None:
         sep="\t",
         header=False,
         index=False,
-        quoting=None,
         quotechar="'",
         mode="a",
     )
@@ -226,7 +225,7 @@ class Gtf:
             annotations_file,
             sep="\t",
             comment="#",
-            names=self.dtypes.keys(),
+            names=list(self.dtypes.keys()),
             dtype=self.dtypes,
             chunksize=100000,
             iterator=True,
@@ -515,15 +514,15 @@ def sample_transcripts(
         transcript_count = row["count"]
 
         transcript_df = annotations.pick_transcript(transcript_id)
-        transcripts = TranscriptGenerator(
+        transcript_generator = TranscriptGenerator(
             transcript_id,
             transcript_count,
             transcript_df,
             prob_inclusion=prob_inclusion,
         )
         try:
-            transcripts.write_annotations(output_annotations_file)
-            transcripts.write_sequences(output_transcripts_file)
+            transcript_generator.write_annotations(output_annotations_file)
+            transcript_generator.write_sequences(output_transcripts_file)
         except AttributeError:
             pass
     LOG.info("Done.")